Advertisement
energywave

Buongiorno mattina e alza tapparelle

Jul 22nd, 2022
998
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 6.31 KB | None | 0 0
  1. automation:
  2.  # Quando il primo scende la mattina accende le luci, saluta e alza le tapparelle, se configurata movimentazione automatica tapparelle
  3.   - id: fbbceb26-c45d-4b30-9345-ccc27ea7cb9c
  4.     alias: 'Tapparelle - Azioni - Quando il primo scende la mattina'
  5.     trigger:
  6.       - platform: event
  7.         event_type: primo_sceso_scale
  8.     action:
  9.      # Accensione luci
  10.       - alias: "Decido se accendere le luci"
  11.         choose:
  12.         - conditions:
  13.             - alias: "Accensione luci automatiche on?"
  14.               condition: state
  15.               entity_id: input_boolean.luci_auto
  16.               state: "on"
  17.           sequence:
  18.             - alias: "Accendo luce soggiorno e cucina"
  19.               service: light.turn_on
  20.               target:
  21.                 entity_id:
  22.                  - light.soffitto_soggiorno
  23.                   - light.faretti_soggiorno
  24.                   - light.luce_cucina
  25.       # Inizio frase
  26.       - alias: "Seleziono inizio frase"
  27.         variables:
  28.           compleanno: "{{ states('sensor.compleanno') }}"
  29.           anni: "{{ now().year - (states('sensor.compleanno_anno') | int(0)) }}"
  30.           is_compleanno: "{{ not compleanno in ['none', 'unknown', 'unavailable', ''] }}"
  31.           say_start: >
  32.            {% if is_compleanno %}
  33.               <say-as interpret-as="interjection">buongiorno</say-as>. Oggi è un giorno speciale: {{compl}} compie {{anni}} anni: <say-as interpret-as="interjection">auguri</say-as>!
  34.             {% else %}
  35.               <say-as interpret-as="interjection">buongiorno</say-as>.
  36.             {% endif %}
  37.           say_temp: >
  38.            La temperatura esterna attuale è di {{ state_attr("weather.casa", "temperature") | round(default=0) }} gradi.          
  39.       # scelta se movimentare tapparelle o no + multinotify frase
  40.       - alias: "Se impostato di movimentare automaticamente le tapparelle"
  41.         choose:
  42.        # Devo alzare le tapparelle
  43.         - conditions:
  44.           - condition: state
  45.             entity_id: input_boolean.movimentazione_automatica_tapparelle
  46.             state: 'on'
  47.           - condition: template
  48.             value_template: '{{ state_attr("sun.sun", "elevation") > -6 }}'
  49.           sequence:
  50.             - service: script.multinotify
  51.               data:
  52.                 message: '{{say_start}} {{say_temp}} Ora ti alzo le tapparelle, buona giornata!'
  53.                 alexa_target: media_player.pian_terreno
  54.                 alexa_volume: 0.5
  55.                 alexa_force: true
  56.             - service: script.tapparelle_apri_pian_terreno
  57.             - alias: "attesa di rilevare le tapparelle in movimento"
  58.               delay: 5
  59.             - alias: "attesa che le tapparelle si siano tutte fermate"
  60.               wait_template: "{{ is_state('cover.tapparella_finestra_cucina', 'open') and is_state('cover.tapparella_portafinestra_cucina', 'open') and is_state('cover.tapparella_soggiorno', 'open')}}"
  61.         # Non devo alzare le tapparelle: buio
  62.         - conditions:
  63.           - condition: state
  64.             entity_id: input_boolean.movimentazione_automatica_tapparelle
  65.             state: 'on'
  66.           - condition: template
  67.             value_template: '{{ state_attr("sun.sun", "elevation") <= -6 }}'
  68.           sequence:
  69.             - service: script.multinotify
  70.               data:
  71.                 message: '{{say_start}} {{say_temp}} Non ti alzo le tapparelle: fuori è ancora buio. Buona giornata!'
  72.                 alexa_target: media_player.pian_terreno
  73.                 alexa_volume: 0.5
  74.                 alexa_force: true
  75.         # Non devo alzare le tapparelle: disattivate tapparelle auto
  76.         default:
  77.           - service: script.multinotify
  78.             data:
  79.               message: '{{say_start}} {{say_temp}} Buona giornata!'
  80.               alexa_target: media_player.pian_terreno
  81.               alexa_volume: 0.5
  82.               alexa_force: true
  83.       # Riproduzione Alexa finale?
  84.       - alias: "Scelta di cosa riprodurre al termine"
  85.         choose:
  86.        # Compleanno di qualcuno?
  87.         - conditions: "{{ is_compleanno }}"
  88.           sequence:
  89.             - service: media_player.volume_set
  90.               data:
  91.                 entity_id: media_player.pian_terreno
  92.                 volume_level: 0.3
  93.             - service: media_player.play_media
  94.               data:
  95.                 entity_id: media_player.pian_terreno
  96.                 media_content_id: 'playlist festa di compleanno'
  97.                 media_content_type: AMAZON_MUSIC
  98.         # Periodo pre natalizio?
  99.         - conditions: "{{ now().month == 12 and now().day >= 8 and now().day <= 25 }}"
  100.           sequence:
  101.             - service: media_player.volume_set
  102.               data:
  103.                 entity_id: media_player.pian_terreno
  104.                 volume_level: 0.5
  105.             - service: media_player.play_media
  106.               target:
  107.                 entity_id: media_player.pian_terreno
  108.               data:
  109.                 media_content_type: custom
  110.                 media_content_id: 'quanto manca a Natale?'
  111.         # Periodo tra il 26 ed il 29 Dicembre
  112.         - conditions: "{{ now().month == 12 and now().day > 25 and now().day < 30 }}"
  113.           sequence:
  114.             - service: script.multinotify
  115.               data:
  116.                 message: '<say-as interpret-as="interjection">dai</say-as>, mancano ancora solo {{ 31 - now().day }} giorni di questo {{ now().year }}!'
  117.                 alexa_target: media_player.pian_terreno
  118.                 alexa_volume: 0.5
  119.                 alexa_force: true
  120.         # 30 Dicembre
  121.         - conditions: "{{ now().month == 12 and now().day == 30 }}"
  122.           sequence:
  123.             - service: script.multinotify
  124.               data:
  125.                 message: '<say-as interpret-as="interjection">dai</say-as>, oggi è il penultimo giorno dell''anno!'
  126.                 alexa_target: media_player.pian_terreno
  127.                 alexa_volume: 0.5
  128.                 alexa_force: true
  129.         # Capodanno
  130.         - conditions: "{{ now().month == 12 and now().day == 31 }}"
  131.           sequence:
  132.             - service: script.multinotify
  133.               data:
  134.                 message: '<say-as interpret-as="interjection">dai</say-as>, oggi è l''ultimo giorno di questo {{ now().year }}!'
  135.                 alexa_target: media_player.pian_terreno
  136.                 alexa_volume: 0.5
  137.                 alexa_force: true
  138.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement