Advertisement
ishu1976

Notifica disconnessione valvole TADO

Mar 4th, 2025 (edited)
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 2.61 KB | Software | 0 0
  1.   ##############################################################################
  2.   ### GESTIONE NOTIFICA STATO CONNESSIONE VALVOLE
  3.   - id: tado_automazione_05
  4.     alias: "Tado 05: Segnalazione stato connessione valvole radiatori"
  5.     description: "Tado 05: Segnalazione stato connessione valvole radiatori"
  6.     mode: queued
  7.     triggers:
  8.       - trigger: event
  9.         event_type: state_changed
  10.     variables:
  11.       entity_id: "{{ trigger.event.data.entity_id }}"
  12.       old_state: "{{ trigger.event.data.old_state.state }}"
  13.       new_state: "{{ trigger.event.data.new_state.state }}"
  14.       old_connettività: "{{ trigger.event.data.old_state.attributes.get('connettività', 'unknown') }}"
  15.       new_connettività: "{{ trigger.event.data.new_state.attributes.get('connettività', 'unknown') }}"
  16.     conditions:
  17.      # Escludo tutto quel che non è un un sensore relativo alle valvole tado
  18.       - "{{ entity_id.startswith('sensor.tado_valvola_radiatore_') }}"
  19.       # Verifico che sia cambiato SOLO l'attributo di connettività
  20.       - "{{ new_connettività != old_connettività }}"
  21.       # Escludo se il sensore proviene da unknown / unavailable o se è andato in unknown / unavailable
  22.       - "{{ not old_connettività in ['unknown', 'unavailable'] and not new_connettività in ['unknown', 'unavailable'] }}"
  23.     actions:
  24.       - variables:
  25.           timestamp: "{{ as_timestamp(now()) | float }}"
  26.           area_name: "{{ area_name(entity_id) | upper }}"
  27.           is_online: "{{ is_state_attr(entity_id, 'connettività', 'Ok') }}"
  28.           event_name: "{{ 'si è riconnessa' if is_online else 'si è disconnessa' }}"
  29.       # Se le notifiche telegram sono attive, invio un messaggio
  30.       - if:
  31.         - condition: template
  32.           value_template: >-
  33.             {{ is_state('input_boolean.tado_notifica_telegram', 'on') and (is_state('sensor.sensore_giorno_notte', 'Giorno') or is_state('input_boolean.tado_notifica_se_giorno', 'off')) }}
  34.         then:
  35.           - action: notify.andrea
  36.             data:
  37.               message: >-
  38.                 Alle {{ '%01i:%02i'%(now().hour, now().minute) }} la valvola del radiatore {{event_name}}
  39.               title: "*SISTEMA TADO - {{area_name}}*"
  40.       # In caso di disconnessione mi memorizzo il timestamp
  41.       - if:
  42.         - condition: template
  43.           value_template: >-
  44.             {{ is_state_attr(entity_id, 'connettività', 'Errore') }}
  45.         then:
  46.           - action: input_number.set_value
  47.             data:
  48.               entity_id: "{{ entity_id.replace('sensor.tado_', 'input_number.tado_timestamp_disconnessione_') }}"
  49.               value: "{{ timestamp }}"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement