2025/02/18

USB LED Notify



알림등 하나에 여러 자동화를 적용하면 갱신될 때 이전 알림은 지워짐. 개개의 알림을 따로 보여줄 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개 추가