Files
zorruno-homeassistant/packages/office_media_buttons.yaml
T
2026-07-21 13:40:06 +12:00

174 lines
5.6 KiB
YAML

#:########################################################################################:#
# Office Media Buttons Package #
#:########################################################################################:#
#
# TITLE:
# Office Media Buttons
#
# FILE:
# packages/office_media_buttons.yaml
#
# VERSION:
# V1.1 2026-07-20
#
# VERSION HISTORY:
# V1.1 2026-07-20
# - Added structured documentation and automation descriptions.
# - Identified the active ZHA implementation and disabled alternatives.
#
# V1.0
# - Initial office media-button automations.
#
# PURPOSE:
# Controls office TV playback from a Zigbee media button using direct ZHA
# click events.
#
# ACTIVE BUTTON MAPPING:
# - Single press pauses playback.
# - Double press starts or resumes playback.
# - Triple press seeks backward by 30 seconds.
#
# DEPENDENCIES:
# - ZHA event source: device IEEE 00:15:8d:00:06:79:46:c8.
# - media_player.office_tv provides the current playback position.
# - The media actions target the office TV device registered in Home Assistant.
#
# NOTES:
# - seek_amount is not normally provided by the event and defaults to -30.
# - Commented MQTT and entity-state implementations below are disabled
# historical alternatives retained for reference.
#
#:########################################################################################:#
#:########################################################################################:#
# Historical Disabled MQTT Sensor #
#:########################################################################################:#
#mqtt:
# sensor:
# - unique_id: office_media_button_1
# name: "Office Media Button"
# state_topic: "tele/tasmo-zigb-6440-1/9CB5/SENSOR"
# unit_of_measurement: "Press"
# value_template: "{{ value_json.ZbReceived.Office_Media_Button.Power }}"
#:########################################################################################:#
# Active ZHA Automations #
#:########################################################################################:#
automation:
- id: pause_office_tv_on_media_button
alias: Pause Office TV on Media Button
description: "Pauses the office TV when the media button is pressed once."
trigger:
- platform: event
event_type: zha_event
event_data:
device_ieee: 00:15:8d:00:06:79:46:c8
command: click
args:
click_type: single
condition: []
action:
- service: media_player.media_pause
target:
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
mode: single
- id: play_office_tv_on_media_button
alias: Play Office TV on Media Button
description: "Starts or resumes office TV playback when the media button is pressed twice."
trigger:
- platform: event
event_type: zha_event
event_data:
device_ieee: 00:15:8d:00:06:79:46:c8
command: click
args:
click_type: double
condition: []
action:
- service: media_player.media_play
target:
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
mode: single
- id: seek_office_tv_on_media_button
alias: Seek Office TV on Media Button
description: "Seeks office TV playback backward 30 seconds when the media button is pressed three times."
trigger:
- platform: event
event_type: zha_event
event_data:
device_ieee: 00:15:8d:00:06:79:46:c8
command: click
args:
click_type: triple
condition: []
action:
- service: media_player.media_seek
data:
seek_position: >-
{{ state_attr("media_player.office_tv",
"media_position")|int + (seek_amount|default(-30)|int(-30)) }}
target:
device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
mode: single
# Historical disabled MQTT and entity-state alternatives.
# - id: "1629271273958"
# alias: Pause office TV on MQTT
# description: ""
# trigger:
# - platform: mqtt
# topic: viewroad-commands/officetv/action
# payload: pause
# encoding: utf-8
# condition: []
# action:
# - service: media_player.media_pause
# target:
# device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
# mode: single
# - id: "1630969028384"
# alias: Skip Forward 30 Seconds on Media Button
# description: ""
# trigger:
# - platform: state
# entity_id: sensor.media_button_office_zbt04_action
# to: "triple"
# condition: []
# action:
# - service: media_player.media_seek
# data:
# seek_position: 30
# mode: single
# Historical disabled entity-state automation block.
#automation:
# - id: "1629271273952"
# unique_id: pause_office_tv_on_media_button
# alias: Pause Office TV on Media Button
# description: ""
# trigger:
# - platform: state
# entity_id: sensor.media_button_office_zbt04_action
# to: "single"
# condition: []
# action:
# - service: media_player.media_pause
# target:
# device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
# mode: single
# - id: "1629271457675"
# alias: Play Office TV on Media Button
# description: ""
# trigger:
# - platform: state
# entity_id: sensor.media_button_office_zbt04_action
# to: "double"
# condition: []
# action:
# - service: media_player.media_play
# target:
# device_id: abb6b5a6b4e4925dcb3a77ea2c293eaa
# mode: single