영양제 복용 알림 자동화


모션체크되면 input_boolean.medicine 스위치 상태에 따라 이미 복용 알림을 보내거나 input_boolean 스위치를 켜고 약 미복용시 오후 8시에 알림보내고 자정에 스위치 리셋.

추가: 다른 복용약은 도어센서로 구현해봤는데 약통을 도어센서가 놓여진 위치에 둬야 되는게 단점입니다. 그래도 센서 감지거리가 2Cm가량 되는 것 같아 얼추 갖다 놓으면 인식되는 것 같습니다.



- id: 움직임-약통
  alias: 움직임-약통
  trigger:
  - entity_id: binary_sensor.0x00158d0002c16eda_occupancy
    to: 'on'
    platform: state
  action:
    - choose:
      - conditions:
        - condition: state
          state: 'on'
          entity_id: input_boolean.medicine
        sequence:
          - service: media_player.volume_set
            data:
              volume_level: 0.7
              entity_id: media_player.homenotify
          - data:
              message: 이미 영양제를 복용했습니다.
            entity_id: media_player.homenotify
            service: tts.edge_tts_say
      - conditions:
        - condition: state
          state: 'off'
          entity_id: input_boolean.medicine
        sequence:
          - service: input_boolean.turn_on
            entity_id: input_boolean.medicine
  mode: single


- id: 알림-영양제
  alias: 알림-영양제
  trigger:
    - platform: time
      at: '20:00'
  condition:
  - condition: state
    entity_id: input_boolean.medicine 
    state: 'off'
  action:
  - service: media_player.volume_set
    data:
      volume_level: 0.7
      entity_id: media_player.homenotify
  - data:
      message: 오늘 영양제 복용을 하지 않았습니다.
    entity_id: media_player.homenotify
    service: tts.edge_tts_say
  - data:
      message: 오늘 영양제 복용을 하지 않았습니다.
    service: notify.telegram
  mode: single


- id: 시간-리셋
  alias: 시간-리셋
  trigger:
  - platform: time
    at: '00:00'
  action:
  - service: input_boolean.turn_off
    entity_id: input_boolean.medicine
  mode: single