Advertisement
energywave

Alexa - è pronto da mangiare + varie

Jul 22nd, 2022
1,232
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 7.40 KB | None | 0 0
  1. group:
  2.   echos:
  3.     name: Tutti gli echo dot
  4.     entities:
  5.      - media_player.pian_terreno
  6.       - media_player.primo_piano
  7.       - media_player.mansarda
  8.  
  9. sensor:
  10.   - platform: template
  11.     sensors:
  12.       last_alexa:
  13.         value_template: >
  14.          {{ expand(states.group.all_alexa) | selectattr('attributes.last_called','eq',True) | map(attribute='entity_id') | first }}
  15.  
  16. script:
  17.  # Script da chiamare con routing di Alexa: "Alexa, è pronto da mangiare"
  18.   # TODO: raffinare le notifiche a seconda di dove vengono rilevati gli utenti, magari chiamandoli per nome se si sa dove sono.
  19.   pronto_da_mangiare:
  20.     alias: "E' pronto da mangiare"
  21.     description: "Script da usare per la routine di Alexa che avvisa che è pronto da mangiare"
  22.     sequence:
  23.       - alias: "Se papà è a casa o in zona"
  24.         choose:
  25.         - conditions:
  26.             - condition: template
  27.               value_template: "{{distance(states.device_tracker.tel_henrik) < 20 or is_state('binary_sensor.henrik_at_home','on')}}"
  28.           sequence:
  29.             - service: notify.mobile_app_tel_henrik
  30.               data:
  31.                 title: "E' pronto da mangiare"
  32.                 message: "Antonella chiama a raduno la famiglia a tavola"
  33.                 data:
  34.                   group: meal
  35.                   channel: meal
  36.                   icon_url: "/local/notify_meal.png"
  37.                   ttl: 0
  38.                   priority: high
  39.                   actions:
  40.                     - action: "pronto_henrik_ok"
  41.                       title: "CONFERMA"
  42.                     - action: "pronto_henrik_rientrando"
  43.                       title: "STO RIENTRANDO"
  44.                     - action: "pronto_henrik_delay"
  45.                       title: "TRA POCO"
  46.       - alias: "Se Erica è a casa"
  47.         choose:
  48.         - conditions:
  49.             - condition: template
  50.               value_template: "{{is_state('binary_sensor.erica_at_home','on')}}"
  51.           sequence:
  52.             - service: notify.mobile_app_tel_erica
  53.               data:
  54.                 title: "E' pronto da mangiare"
  55.                 message: "La mamma chiama a raduno la famiglia a tavola!"
  56.                 data:
  57.                   group: meal
  58.                   channel: meal
  59.                   icon_url: "/local/notify_meal.png"
  60.                   ttl: 0
  61.                   priority: high
  62.                   actions:
  63.                     - action: "pronto_erica_ok"
  64.                       title: "CONFERMA"
  65.                     - action: "pronto_erica_delay"
  66.                       title: "TRA POCO"
  67.       - service: script.multinotify
  68.         data:
  69.           title: "E' pronto da mangiare!"
  70.           message: "Hey, è pronto da mangiare!"
  71.           alexa_target:
  72.            - media_player.mansarda
  73.             - media_player.primo_piano
  74.           alexa_volume: 0.8
  75.           alexa_force: true
  76.  
  77. automation:
  78.   - id: cdeb4a93-2a6b-40a6-aa9b-0dafbf5218c0
  79.     alias: "Comunicazione - Notifica - Pronto da mangiare Henrik OK"
  80.     description: "Risposta ok di Henrik al 'pronto da mangiare'"
  81.     trigger:
  82.       - platform: event
  83.         event_type: mobile_app_notification_action
  84.         event_data:
  85.           action: "pronto_henrik_ok"
  86.     action:
  87.       - service: script.multinotify
  88.         data:
  89.           message: "Henrik conferma che sta arrivando a mangiare"
  90.           alexa_target: media_player.pian_terreno
  91.           alexa_volume: 0.8
  92.           alexa_force: true
  93.  
  94.   - id: 25006bd5-67de-45a7-b966-cc342dc60ea1
  95.     alias: "Comunicazione - Notifica - Pronto da mangiare Henrik delay"
  96.     description: "Risposta delay di Henrik al 'pronto da mangiare'"
  97.     trigger:
  98.       - platform: event
  99.         event_type: mobile_app_notification_action
  100.         event_data:
  101.           action: "pronto_henrik_delay"
  102.     action:
  103.       - service: script.multinotify
  104.         data:
  105.           message: "Henrik ha sentito che è pronto ma arriverà tra poco, appena terminata una attività"
  106.           alexa_target: media_player.pian_terreno
  107.           alexa_volume: 0.8
  108.           alexa_force: true
  109.  
  110.   - id: b2f97144-dbca-4b74-a1d8-f5b14edb2f6a
  111.     alias: "Comunicazione - Notifica - Pronto da mangiare Henrik sto rientrando"
  112.     description: "Risposta sto rientrando di Henrik al 'pronto da mangiare'"
  113.     trigger:
  114.       - platform: event
  115.         event_type: mobile_app_notification_action
  116.         event_data:
  117.           action: "pronto_henrik_rientrando"
  118.     action:
  119.       - service: script.multinotify
  120.         data:
  121.           message: "Henrik ha letto la notifica e comunica che sta arrivando, il tempo di rientrare a casa. In questo momento è distante {{distance(states.person.henrik_sozzi) | round(1)}} chilometri."
  122.           alexa_target: media_player.pian_terreno
  123.           alexa_volume: 0.8
  124.           alexa_force: true
  125.  
  126.   - id: 32f82bb1-55e3-40ea-8401-a00354042a11
  127.     alias: "Comunicazione - Notifica - Pronto da mangiare Erica OK"
  128.     description: "Risposta ok di Erica al 'pronto da mangiare'"
  129.     trigger:
  130.       - platform: event
  131.         event_type: mobile_app_notification_action
  132.         event_data:
  133.           action: "pronto_erica_ok"
  134.     action:
  135.       - service: script.multinotify
  136.         data:
  137.           message: "Erica conferma che sta arrivando a mangiare"
  138.           alexa_target: media_player.pian_terreno
  139.           alexa_volume: 0.8
  140.           alexa_force: true
  141.  
  142.   - id: 31dbbec9-82ac-4a43-b87a-bf0684926aea
  143.     alias: "Comunicazione - Notifica - Pronto da mangiare Erica delay"
  144.     description: "Risposta delay di Erica al 'pronto da mangiare'"
  145.     trigger:
  146.       - platform: event
  147.         event_type: mobile_app_notification_action
  148.         event_data:
  149.           action: "pronto_erica_delay"
  150.     action:
  151.       - service: script.multinotify
  152.         data:
  153.           message: "Erica ha sentito che è pronto ma arriverà tra poco, appena terminata una attività"
  154.           alexa_target: media_player.pian_terreno
  155.           alexa_volume: 0.8
  156.           alexa_force: true
  157.  
  158.   # Se viene fermata la musica a pian terreno e il volume è al 30% ripristina il volume normale del 60% per evitare che in seguito risponano Echo Dot più lontani...
  159.   - id: 979a8650-d59c-416f-8b36-e2b96bae47af
  160.     alias: "Alexa - Azione - Ripristino volume dopo musica"
  161.     description: "Ripristina il volume al 60% dopo aver riprodotto la musica al pian terreno"
  162.     trigger:
  163.       - platform: state
  164.         entity_id: media_player.pian_terreno
  165.         from: "playing"
  166.     condition:
  167.       - alias: "Se il volume era al 30% (quella impostata automaticamente dalla musica di sottofondo)"
  168.         condition: template
  169.         value_template: "{{ is_state_attr('media_player.pian_terreno', 'volume_level', 0.3) }}"
  170.     action:
  171.       - alias: "Imposta il volume al 60%"
  172.         service: media_player.volume_set
  173.         data:
  174.           entity_id: media_player.pian_terreno
  175.           volume_level: 0.6
  176.  
  177.   # Notifica quando Alexa Media Player necessita relogin
  178.   - id: 11996eb7-ed6a-4592-af88-994534b3c836
  179.     alias: Alexa - Notifica - Relogin Alexa Media Player
  180.     trigger:
  181.       - platform: event
  182.         event_type: "alexa_media_relogin_required"
  183.     action:
  184.       - service: script.multinotify
  185.         data:
  186.           title: Alexa relogin
  187.           message: Alexa Media Player richiede il relogin su Home Assistant. Le notifiche non verranno più riprodotte finché non verrà fatto il relogin.
  188.           group: warning
  189.           notify_app: notify.all_devices
  190.           critical: true    
  191.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement