Advertisement
energywave

Camera - Gestione finestre aperte

Jan 13th, 2022
829
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 3.93 KB | None | 0 0
  1. input_boolean:
  2.   camera_open:
  3.     name: Camera aperta?
  4.  
  5. automation:
  6.   - alias: 'Finestre camera aperte'
  7.     mode: restart
  8.     trigger:
  9.       - platform: state
  10.         entity_id: binary_sensor.finestra_camera
  11.         to: 'on'
  12.         for: '00:00:30'
  13.       - platform: state
  14.         entity_id: binary_sensor.portafinestra_camera
  15.         to: 'on'
  16.         for: '00:00:30'
  17.     condition: []
  18.     action:
  19.       - service: input_boolean.turn_on
  20.         entity_id: input_boolean.camera_open
  21.  
  22.   - alias: 'Finestre camera chiuse'
  23.     mode: restart
  24.     trigger:
  25.       - platform: state
  26.         entity_id: binary_sensor.finestra_camera
  27.         to: 'off'
  28.       - platform: state
  29.         entity_id: binary_sensor.portafinestra_camera
  30.         to: 'off'
  31.     condition:
  32.       - condition: state
  33.         entity_id: binary_sensor.finestra_camera
  34.         state: 'off'
  35.       - condition: state
  36.         entity_id: binary_sensor.portafinestra_camera
  37.         state: 'off'
  38.     action:
  39.       - service: input_boolean.turn_off
  40.         entity_id: input_boolean.camera_open
  41.  
  42.   - alias: 'Camera aperta'
  43.     mode: restart
  44.     trigger:
  45.       - platform: state
  46.         entity_id: input_boolean.camera_open
  47.         to: 'on'
  48.     condition:
  49.       - condition: state
  50.         entity_id: input_boolean.estate
  51.         state: 'off'
  52.     action:
  53.      # Se configurato di spegnere il riscaldamento dopo un tot che è aperta lo faccio
  54.       - choose:
  55.           conditions:
  56.             - condition: state
  57.               entity_id: input_boolean.spegnimento_riscaldamento_finestre
  58.               state: 'on'  
  59.           sequence:
  60.             - service: script.spegni_riscaldamento
  61.               data:
  62.                 entity: 'climate.camera'
  63.       # Attendo un delay e loop notifiche finchè aperta e config. di notificare
  64.       - delay:
  65.           minutes: "{{ states('input_number.ritardo_notifiche_finestre_min') | int}}"
  66.       - repeat:
  67.           while:
  68.             - condition: state
  69.               entity_id: input_boolean.notifiche_finestre
  70.               state: 'on'
  71.             - condition: state
  72.               entity_id: input_boolean.camera_open
  73.               state: 'on'
  74.           sequence:
  75.             - service: script.multinotify
  76.               data:
  77.                 title: "Finestre camera aperte troppo a lungo"
  78.                 message: >
  79.                  {% set minuti = ((now().timestamp()-as_timestamp(states.input_boolean.camera_open.last_changed)) / 60)|round(0) %}
  80.                   {{["La camera ha la finestra aperta da " ~ minuti ~ " minuti!",
  81.                      "I pinguini scorazzano liberamente in camera ormai da " ~ minuti ~ " minuti!",
  82.                      "Il ghiaccio sta prendendo il sopravvento da " ~ minuti ~ " minuti, in camera!",
  83.                      "Fa freschino in camera, la finestra è aperta da " ~ minuti ~ " minuti!",
  84.                      "Io dico che dopo " ~ minuti ~ " minuti di cambio aria puoi chiudere la finestra della camera!",
  85.                      "Secondo me " ~ minuti ~ " minuti di finestra aperta possono bastare, in camera!",
  86.                      "Hey, che ne dici di chiudere la finestra della camera? " ~ minuti ~ " minuti di cambio aria sono abbastanza!"] | random}}
  87.                 notify_app: notify.all_devices
  88.                 channel: warning
  89.                 critical: true
  90.                 alexa_target: media_player.ovunque
  91.             - delay:
  92.                 minutes: "{{ states('input_number.ritardo_notifiche_finestre_seguenti_min') | int}}"
  93.  
  94.   - alias: 'Camera chiusa'
  95.     trigger:
  96.       - platform: state
  97.         entity_id: input_boolean.camera_open
  98.         to: 'off'
  99.     condition:
  100.       - condition: state
  101.         entity_id: input_boolean.estate
  102.         state: 'off'
  103.       - condition: state
  104.         entity_id: input_boolean.spegnimento_riscaldamento_finestre
  105.         state: 'on'  
  106.     action:
  107.       - service: script.imposta_riscaldamento
  108.         data:
  109.           entity: 'climate.camera'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement