#TP-Link Tapo H100 - cannot change siren sound via automations

1 messages · Page 1 of 1 (latest)

dusky prism
#

I'm wanting to change the alarm/siren sound of my TP-Link Tapo H100 via automations (so I can alternate between different sounds for different events, like motion detection or doorbell ringing.)
What I've noticed is I'm able to change the alarm sound via the device configuration page and toggle the chime control to hear the correct sound; but if I do the same thing via an automation it seems to completely ignore the select event and won't change the sound (it will still play at the correct volume, just not the correct sound).

Not sure if this is a bug with the integration/device, or something I am perhaps doing wrong, but I'm probably leaning towards the former as this automation was made via the UI editor, not YAML.
Looking in the logbook, it shows the volume change and on state events, but doesn't show the sound change event (yet if you cross-reference that with the automation script editor UI, you can see it's pointing to the correct recognised entity, so it shouldnt be a typo).

Example automations:

alias: Play Doorbell Chime on Nest Person Detection
description: Play a low volume distinct chime when a person is detected at the front door
triggers:
  - device_id: ae561127048774acef690d5327f8dfb6
    domain: nest
    type: camera_person
    trigger: device
conditions: []
actions:
  - data:
      option: Doorbell Ring 8
    action: select.select_option
    target:
      entity_id: select.doorbell_chime_alarm_sound
  - target:
      entity_id: select.doorbell_chime_alarm_volume
    data:
      option: low
    action: select.select_option
  - delay: "00:00:01"
  - target:
      entity_id: siren.doorbell_chime
    action: siren.turn_on
    data: {}
  - delay: "00:00:02"
  - target:
      entity_id: siren.doorbell_chime
    action: siren.turn_off
    data: {}
mode: single
alias: Play Doorbell Chime on Nest Doorbell Ring
description: Play a high volume chime when a person rings the doorbell
triggers:
  - device_id: ae561127048774acef690d5327f8dfb6
    domain: nest
    type: camera_person
    trigger: device
conditions: []
actions:
  - target:
      entity_id: select.doorbell_chime_alarm_sound
    data:
      option: Doorbell Ring 5
    action: select.select_option
  - target:
      entity_id: select.doorbell_chime_alarm_volume
    data:
      option: high
    action: select.select_option
  - delay: "00:00:01"
  - target:
      entity_id: siren.doorbell_chime
    action: siren.turn_on
    data: {}
  - delay: "00:00:07"
  - target:
      entity_id: siren.doorbell_chime
    action: siren.turn_off
    data: {}
mode: single
fluid pike
#

Can you share the attributes for that select entity?

fluid pike
#

So when you run the action, does it update the state of the select?

dusky prism
#

If I use the dropdown in the device configuration, it sets the sound. If I use it in an automation it doesn't change anything. But weirdly if I set the sound via the developer tool, it changes then immediately changes back.

fluid pike
#

Developer-tools/states is not a valid way to change an entity setting.

dusky prism
#

Ah gotcha, I misread your comment thinking you were asking me to update the state from that page. If I run the action from my automation the state does not change

fluid pike
#

How about from developer-tools/actions?

#

Call select_option

dusky prism
#

Yes that does work

#

For reference, I copied the 'set option' straight from the automation yaml too

fluid pike
#

possible that having two select calls back to back with zero delay is somehow confusing the device

#

could try a little delay between them?

dusky prism
#

Oh yes that does seem to be it. I created a minimal script with just a sound and volume change, and with zero delay it skips the sound action and just sets the volume. If I add a 1 second delay it performs both.

fluid pike
#

You could report that as a core issue for the tplink integration.

dusky prism
#

Sounds good, where/how do I do that? Is there an issue template to follow?

fluid pike
#

Most important thing is to get the link to integration URL correct, as that will tag the codeowners.

dusky prism
fluid pike
#

Yeah I think that's right.

dusky prism
#

Cheers you've been a great help