Advertisement
energywave

Avviso acustico 30 sec durante inserimento antifurto

Oct 13th, 2022 (edited)
1,096
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 4.18 KB | None | 0 0
  1. script:
  2.   inserimento_antifurto_google_home:
  3.     alias: "Durante inserimento antifurto - Google Home"
  4.     description: "Riproduce 30 secondi di bip bip da un dispositivo Google Home o altro riproduttore multimediale compatibile"
  5.     mode: restart
  6.     variables:
  7.       media_player: media_player.google_mansarda
  8.       volume: 0.6
  9.     sequence:
  10.       - alias: "Imposta volume desiderato"
  11.         service: media_player.volume_set
  12.         target:
  13.           entity_id: "{{media_player}}"
  14.         data:
  15.           volume_level: "{{volume | float(0.6) | round(2)}}"
  16.       # Ciclo di riproduzione bip-bip
  17.       - repeat:
  18.           while:
  19.            # Attesa per 30 secondi o finchè input_boolean.fake_bool non va ad on (sostituire con propria condizione inserimento antifurto)
  20.             - "{{ (now() - states.script.inserimento_antifurto_google_home.last_changed | as_local).seconds < 30 }}"
  21.             # Sostituire questa con condizione che restituisce false quando l'antifurto è stato inserito o disinserito
  22.             # (così termina in quel momento la riproduzione)
  23.             - "{{ not is_state('input_boolean.fake_bool', 'on') }}"
  24.           sequence:
  25.            # Riproduzione suono. Sostituire con il proprio mp3
  26.             - service: media_player.play_media
  27.               data:
  28.                 entity_id: "{{media_player}}"
  29.                 media_content_id: "http://192.168.68.250:8123/local/sounds/beep-06.mp3"
  30.                 media_content_type: 'music'
  31.             # Con delay attendi un tempo fisso e la sequenza di bip bip è più regolare (impostare i secondi al valore desiderato)
  32.             - delay: 2
  33.             # Al posto del delay decommentando le due azioni sotto si attende che il file sia stato riprodotto
  34.             # ma questo porta a una minore regolarità di riproduzione.
  35.             # - wait_template: "{{is_state(media_player, 'playing')}}"
  36.             # - wait_template: "{{is_state(media_player, 'idle')}}"
  37.       # Qui ci assicuriamo che se termina che sta ancora riproducendo il suono si fermi subito
  38.       - service: media_player.media_stop
  39.         data:
  40.           entity_id: "{{media_player}}"
  41.  
  42.  
  43.   inserimento_antifurto_alexa:
  44.     alias: "Durante inserimento antifurto - Alexa"
  45.     description: "Riproduce 30 secondi di suoni ripetuti da un dispositivo Alexa"
  46.     mode: restart
  47.     variables:
  48.       media_player: media_player.mansarda
  49.       volume: 0.6
  50.     sequence:
  51.       - alias: "Backup volume precedente"
  52.         variables:
  53.           prev_volume: "{{state_attr(media_player, 'volume_level') | float(0.6) | round(2)}}"
  54.       - service: media_player.media_stop
  55.         data:
  56.           entity_id: "{{media_player}}"
  57.       - alias: "Imposta volume desiderato"
  58.         service: media_player.volume_set
  59.         target:
  60.           entity_id: "{{media_player}}"
  61.         data:
  62.           volume_level: "{{volume | float(0.6) | round(2)}}"
  63.       # Ciclo di riproduzione tic-tac
  64.       - repeat:
  65.           while:
  66.            # Attesa per 30 secondi o finchè input_boolean.fake_bool non va ad on (sostituire con propria condizione inserimento antifurto)
  67.             - "{{ (now() - states.script.inserimento_antifurto_alexa.last_changed | as_local).seconds < 30 }}"
  68.             - "{{ not is_state('input_boolean.fake_bool', 'on') }}"
  69.           sequence:
  70.            # Riproduzione suono tic-tac. Sostituire eventualmente con il proprio suono
  71.             - service: notify.alexa_media
  72.               data:
  73.                 message: '<audio src="soundbank://soundlibrary/alarms/beeps_and_bloops/clock_02"/>'
  74.                 data:
  75.                   type: tts
  76.                 target: "{{media_player}}"
  77.               # Con delay attendi un tempo fisso e la sequenza di bip bip è più regolare (impostare i secondi al valore desiderato)
  78.             - delay: 5
  79.       # Qui ci assicuriamo che se termina che sta ancora riproducendo il suono si fermi subito
  80.       - service: media_player.media_stop
  81.         data:
  82.           entity_id: "{{media_player}}"
  83.       - alias: "Imposta volume precedente"
  84.         service: media_player.volume_set
  85.         target:
  86.           entity_id: "{{media_player}}"
  87.         data:
  88.           volume_level: "{{prev_volume | float(0.6) | round(2)}}"
  89.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement