Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save HDJedi/ca6c46cac25b5ea019d97431886b6126 to your computer and use it in GitHub Desktop.

Select an option

Save HDJedi/ca6c46cac25b5ea019d97431886b6126 to your computer and use it in GitHub Desktop.

Revisions

  1. HDJedi revised this gist Jul 3, 2024. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion homeassistant-blueprint-water-leak-alert.yaml
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    blueprint:
    name: Water leakage
    name: HDJedi - Water Leakage Notifier
    description: Warning for water leakage
    domain: automation
    input:
  2. HDJedi revised this gist Jul 3, 2024. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions homeassistant-blueprint-water-leak-alert.yaml
    Original file line number Diff line number Diff line change
    @@ -1,11 +1,11 @@
    blueprint:
    name: Vannlekasje
    description: Varsel for vannlekasje
    name: Water leakage
    description: Warning for water leakage
    domain: automation
    input:
    water_sensor:
    name: Lekasje sensor
    description: Vannlekasje sensor
    name: Leakage sensor
    description: Water leakage sensor
    selector:
    entity:
    filter:
    @@ -60,8 +60,8 @@ action:
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Vannlekasje!"
    message: "Vannlekasje oppdaget! Kontroller sensor områder."
    title: "Water leakage!"
    message: "Water leak discovered! Check sensor areas."
    data:
    tag: "water-leak-alert"
    visibility: public
    @@ -76,7 +76,7 @@ action:
    priority: high
    media_stream: alarm_stream_max
    language: "no-NB"
    tts_text: "Vannlekasje oppdaget. Kontroller sensor ommråder."
    tts_text: "Water leak detected. Check sensor areas."
    - conditions:
    - condition: template
    value_template: "{{ trigger.to_state.state == 'off' }}"
    @@ -87,8 +87,8 @@ action:
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Vannlekasje avsluttet"
    message: "Vannlekasjen er avsluttet, og sensorene er tørre."
    title: "Water leakage ended"
    message: "The water leak has ended, and the sensors are dry."
    data:
    tag: "water-leak-alert"
    visibility: public
    @@ -106,8 +106,8 @@ action:
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Frakoblet lekasjesensor"
    message: "En eller flere lekasjesensorer ble utilgjengelig. Vennligst sjekk at batteriet ikke har gått tomt, og at koordinerer ikke er frakoblet og at enheten er påskrudd og medlem av nettverket!"
    title: "Disconnected leakage sensor"
    message: "One or more leakage sensors became unavailable. Please check that the battery has not run out, that the coordinator is not disconnected and that the device is turned on and a member of the network!"
    data:
    tag: "device-water-leak-detector-unavailable"
    visibility: public
    @@ -121,8 +121,8 @@ action:
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "TEST - Vannlekasje"
    message: "Test notifikasjon for vannlekasje"
    title: "TEST - Water leakage"
    message: "Test notification for water leakage"
    data:
    tag: "water-leak-alert-test"
    visibility: public
  3. @bskjon bskjon created this gist Mar 21, 2024.
    129 changes: 129 additions & 0 deletions homeassistant-blueprint-water-leak-alert.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,129 @@
    blueprint:
    name: Vannlekasje
    description: Varsel for vannlekasje
    domain: automation
    input:
    water_sensor:
    name: Lekasje sensor
    description: Vannlekasje sensor
    selector:
    entity:
    filter:
    - device_class: moisture
    multiple: true

    devices:
    name: Devices
    description: Devices where notification should be sent
    selector:
    device:
    integration: mobile_app
    multiple: true
    trigger:
    - platform: state
    entity_id: !input water_sensor
    mode: single
    action:
    # Debug
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ trigger }}"
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ trigger.entity_id }}"
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ trigger.to_state }}"
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ trigger.to_state.state }}"
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ is_state(trigger.to_state.state, 'on') }}"
    # - service: input_text.set_value
    # data_template:
    # entity_id: input_text.debug
    # value: "{{ trigger.to_state.state == 'on' }}"
    - choose:
    - conditions:
    - condition: template
    value_template: "{{ trigger.to_state.state == 'on' }}"
    sequence:
    - alias: Send a notification to each device
    repeat:
    for_each: !input devices
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Vannlekasje!"
    message: "Vannlekasje oppdaget! Kontroller sensor områder."
    data:
    tag: "water-leak-alert"
    visibility: public
    notification_icon: "mdi:home-flood"
    color: "red"
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    message: "TTS"
    data:
    tag: "water-leak-alert-tts"
    ttl: 0
    priority: high
    media_stream: alarm_stream_max
    language: "no-NB"
    tts_text: "Vannlekasje oppdaget. Kontroller sensor ommråder."
    - conditions:
    - condition: template
    value_template: "{{ trigger.to_state.state == 'off' }}"
    sequence:
    - alias: Send a notification to each device
    repeat:
    for_each: !input devices
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Vannlekasje avsluttet"
    message: "Vannlekasjen er avsluttet, og sensorene er tørre."
    data:
    tag: "water-leak-alert"
    visibility: public
    notification_icon: "mdi:water-check"
    color: "green"
    - conditions:
    - condition: template
    value_template: "{{ trigger.to_state.state == 'unavailable' }}"
    - condition: template
    value_template: "{{ trigger.to_state.state == 'unknown' }}"
    sequence:
    - alias: Send a notification to each device
    repeat:
    for_each: !input devices
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "Frakoblet lekasjesensor"
    message: "En eller flere lekasjesensorer ble utilgjengelig. Vennligst sjekk at batteriet ikke har gått tomt, og at koordinerer ikke er frakoblet og at enheten er påskrudd og medlem av nettverket!"
    data:
    tag: "device-water-leak-detector-unavailable"
    visibility: public
    notification_icon: "mdi:water-off"
    color: "gray"

    default:
    - alias: Send a notification to each device
    repeat:
    for_each: !input devices
    sequence:
    - service: "notify.mobile_app_{{ device_attr(repeat.item, 'name') | slugify }}"
    data:
    title: "TEST - Vannlekasje"
    message: "Test notifikasjon for vannlekasje"
    data:
    tag: "water-leak-alert-test"
    visibility: public
    notification_icon: "mdi:home-flood"