174 lines
5.6 KiB
YAML
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
|