알림등 하나에 여러 자동화를 적용하면 갱신될 때 이전 알림은 지워짐. 개개의 알림을 따로 보여줄 LED 알림이 필요해 3구 USB Relay와 USB LED를 이용해 구현하고 냉장고 위에 3구 USB 허브를 두고 USB Relay 연결.
LED알림등 6개에 적용할 템플릿 스크립트를 짜고 테스트 삼아 가습기 물부족 알림 자동화에 넣어 봄.
20번 깜빡이다 스위치를 켜지게 하고 LED전체를 그룹으로 묶어 무선버튼에 할당해 자동해제 되지 않은 알림은 확인 후 무선버튼으로 off.
scripts.yaml
led_effect:
sequence:
- repeat:
count: 20
sequence:
- service: switch.toggle
data:
entity_id: "{{ id }}"
- delay:
milliseconds: '{{ delay_ms | default(300) }}'
- service: switch.toggle
data:
entity_id: "{{ id }}"
- delay:
milliseconds: '{{ delay_ms | default(300) }}'
- service: switch.turn_on
data:
entity_id: "{{ id }}"
automations.yaml
- id: 알림-가습기물부족
alias: 알림-가습기물부족
mode: single
triggers:
- trigger: state
entity_id:
- group.water_level
from: 'on'
to: 'off'
for: '00:00:10'
actions:
- choose:
- conditions:
- condition: time
after: '23:00'
before: '07:00'
sequence:
- action: script.led_effect
data:
id: switch.usb_relay_2
delay_ms: 1000
default:
- action: media_player.volume_set
data:
volume_level: 0.7
entity_id: media_player.notify
- action: media_player.play_media
data:
media_content_id: media-source://media_source/local/sound/m1.mp3
media_content_type: audio/mpeg
entity_id: media_player.notify
- delay: '00:00:08'
- action: tts.edge_tts_say
data:
message: 가습기 물보충 해주세요.
entity_id: media_player.notify
- action: script.led_effect
data:
id: switch.usb_relay_2
25/2/25 LED 알림등 3개 추가