Hey guys,
I made an automation that powers off my bluetooth speaker (using IR blaster) when ChromeCast is powered off for more than 10 s. Automation is working fine, but sometimes ChromeCast changes state from OFF to Unavailable and back to OFF in just a few seconds. I have no idea why is that happening, but it triggers automation and turns ON the speaker (it is the same IR button for ON and OFF) and gets it out of sync.
What condition or trigger should I use to make it work only when ChromeCast state changes from ON to OFF and ignores Unavailable to OFF?
There is my automation:
alias: Turn off JBL
description: if CC is off for 10 sec
trigger:
- platform: device
type: turned_off
device_id: bc1049ea43a53092952d364749c3fb4c
entity_id: ae0ea35649746ed5cea16f8d6ca54dd3
domain: remote
for:
hours: 0
minutes: 0
seconds: 10
condition: []
action:
- service: remote.send_command
metadata: {}
data:
num_repeats: 1
delay_secs: 0.4
hold_secs: 0
device: jbl
command: "off"
target:
device_id: 4f1f3a13324e03646ff6b03aed27f2fe
mode: single
thanks in advance
How I keep that sort of thing in a single automation is by using trigger IDs and a service call with a template for said trigger id.
Something like this:
alias: Hallway Motion Light description: "" trigger: - platform: state entity_id: - binary_sensor.hallway_motion_occupancy to: "on" id: "on" - platform: state entity_id: - binary_sensor.hallway_motion_occupancy to: "off" id: "off" for: hours: 0 minutes: 1 seconds: 0 condition: [] action: - service: light.turn_{{ trigger.id }} data: transition: 3 target: entity_id: light.hallway_light_2_2 mode: single
Hello I would use a state change as the trigger, then in the action use an if to look for an off. That way you could use it to turn on the speakers with the chromecast
I was looking for automtion that turns off the speakers, but I could have the same approach for turning them on.
If I understood correctly, that triger would be active at any state change (from on to off, from off to unavailable, from off to on, from unavailable to off) and then using IF ChromeCast is off it would activate automation even when it changes from unavailable to off. That wouldn’t solve the issue, am I missing something?
I want it to triger when changing from on to off only, while ignoring change from unavailble to off.
That is true, there migh be a state change from on to off that you can pick
Oh you are right, didn’t know that was available in HA GUI. Thank you, I’ll test it out later.
Just specify from: on and to: off in the trigger. You can have both!
I don’t know your automation format very well. My automations use a state trigger with from: and to:
You are right, its working fine now. Wasnt aware that from/to was implemented. Thx
Yeah it looks like OP is using the device actions instead of dealing with the entity directly.