本帖最后由 ciasdmxhxjjpd@c 于 2022-8-2 23:39 编辑
RT,
在ha里写的脚本,会同步到 homekit,当点击脚本,1s后,自动变成off。ha开发者里,查看脚本状态,执行时为on,执行后为off。
比如通过脚本开灯后,在homekit里就不能实现状态保持。
松下灯,共四种模式,日光,暖白,夜灯,全量。博联学习后,写成四个脚本调用send command,每个命令发2次,再用一个switch template 实现。
为什么不直接用 switch template broadlink 呢,因为 command_off 只能填一个code,不是一个字典数据,松下的灯,在全量模式下,要按2次关闭才能立即关闭,否则,要延时20s左右才关。
现在的问题是,当我打开夜灯时,希望其他模式的开关都是off状态。
这里有个矛盾,通过switch turn off 关闭其他模式的开关时,由于要执行 off,off里是关闭灯的操作,所以,每切换一次模式,就要关灯一次,再点亮。请问,有什么办法解决。
switch:
- platform: template
switches:
keting_night_mode:
unique_id: keting_night_mode
turn_on:
service: script.turn_on
target:
entity_id: script.keting_light_night_mode
turn_off:
service: script.turn_on
target:
entity_id: script.keting_light_off
- platform: template
switches:
keting_full_bright:
unique_id: keting_full_bright
turn_on:
service: script.turn_on
target:
entity_id: script.keting_light_full_bright
turn_off:
service: script.turn_on
target:
entity_id: script.keting_light_off
- platform: template
switches:
keting_light_warm_white:
unique_id: keting_light_warm_white
turn_on:
service: script.turn_on
target:
entity_id: script.keting_light_warm_white
turn_off:
service: script.turn_on
target:
entity_id: script.keting_light_off
- platform: template
switches:
keting_light_sun:
unique_id: keting_light_sun
turn_on:
service: script.turn_on
target:
entity_id: script.keting_light_sun
turn_off:
service: script.turn_on
target:
entity_id: script.keting_light_off
脚本,部分
keting_light_night_mode:
sequence:
- service: remote.send_command
data:
device: keting ceiling light
command: night mode
num_repeats: 2
target:
device_id: 1e27cbad6d761c45e9c141214021e273
mode: single
alias: keting light night mode
icon: mdi:weather-night
keting_light_off:
alias: keting light off
sequence:
- service: remote.send_command
data:
device: keting ceiling light
command: turn off
num_repeats: 2
target:
device_id: 1e27cbad6d761c45e9c141214021e273
mode: single
icon: mdi:alarm-light-off
期望,达到的效果是:在夜灯模式下,当按下 客厅暖白,客厅夜灯开关自动关,但灯没有关闭,而是直接toggle成暖白模式。
|