Home Assistant Eventi Naturali

Home Assistant Eventi Naturali

Introduzione

L’idea di creare un package su gli eventi naturali, mi è saltata in mente quando ho iniziato a vedere i primi componenti creati da Malte Franken(exxamalte) per Home Aassistant. Dall’altra parte dell’oceano, hanno realizzato diverse integrazioni relative ad eventi “catastrofici”, anche perchè, ci sono molte istituzioni che pubblicano svariati dati. Allora pian piano ho iniziato a cercare qualcosa di simile in Italia. Beh, non ho trovato molte informazioni a riguardo, così ho raccolto quelle che per ora sembrano funzionare e mi stanno dando diverse soddisfazioni.

Sintesi

Il package invia notifiche e immagini (dove previsto) per gli eventi che si attivano.

Sono inclusi 2 tipi di allerta e varie tipologie di notifiche.

  1. Allerte
    1. Meteo (temporali, gelo, caldo estremo…)
    2. Geologiche (allagamenti, incendi, terremoti)
  2. Notifiche
    1. Caduti fulmini
    2. Criticità meteo
    3. Criticità meteo-idro (alluvioni)
    4. Terremoti
    5. Siccità
    6. Tsunami
    7. Attività vulcaniche

I componenti utilizzati sono:

  1. Burze.dzis.net (Burze) HACS default 
  2. Dipartimento Protezione Civile (DPC) HACS default
  3. Istituto Nazionale di Geofisica e Vulcanologia (INGV) HACS default
  4. MeteoAlarm integrato
  5. MeteoAlarm_m by kodi1 HACS default
  6. Global Disaster Alert and Coordination System (GDACS) integrato
  7. World Wide Lightning Location Network (WWLLN) integrato (DEPRECATO da giugno 2020) (Alternativa Blitzortung)

Informazioni Componenti

A cosa servono questi componenti.

  • Burze

    è un sensore che riguarda le allerte meteo, ma è valido solo per la Polonia. La parte relativa ai fulmini (storms_nearby – temporale nelle vicinanze) è però utilizzabile in tutta Europa. Il servizio si avvale di un’ottima fonte, Blitzortung.org. Questo sensore, ci avverte, entro un raggio impostato, quanti fulmini sono caduti negli ultimi minuti, e ci segnala la direzione di quello caduto più vicino alla zona indicata (es. casa).

  • DPC

    è un insieme di binary sensor o unico sensore, che ci avvisano, in caso di allerta, prelevando tali dati dai Bollettini di criticità nazionale di allerta  Meteo-Idro rilasciati dalla Protezione Civile. Sono allerte, leggermente diverse da quelle classiche per il meteo. Infatti, sono più indicate per i danni che possono causare le condizioni avverse del tempo, che per le previsioni del tempo in se. L’idea di realizzare questo componente, anche se non sono un programmatore, mi è venuta leggendo una nota (“…non rappresentano le allerte ufficiali emanate dal Servizio Nazionale di Protezione Civile”)  sul sito di MeteoAlarm. Ringrazio, anche se non lo conosco personalmente, Giovanni Pirrotta, che ha realizzato un programma per estrarre i dati shape della Protezione Civile, renderli utilizzabile in maniera semplificata, tramite il sito Protezione Civile POP. Vorrei precisare, che per poter estrarre i dati dal sito di Pirrotta, ed averli in Hass, basta che ti crei dei binary sensor con platform: rest. (Vedi esempio a fine articolo).

  • INGV

    è un custom componet, per l’avviso di terremoti (ovviamente già avvenuti :0)) sulla base del modulo georss dall’australiano Malte Franken(exxamalte) molto noto per i suoi lavori di estrazione dati in formato GeoRSS e GeoJson. Io e Gianpi, abbiamo un po’ adattato quello che è già pronto da sei mesi sulla repository dell’autore, e speriamo di vederlo presto integrato in Home Assistant.

Aggiornamento 25/06/2020. Malte Franken, ha accettato la nostra pull request , aggiornando per intero la libreria INGV. Per questo ti invito a mettere una “stellina” al suo lavoro a questo link .

Aggiornamento 23/11/2020. Ho realizzato il custom componet INGV.

  • MeteoAlarm

    è un sito che pubblica gli eventi critici relativi alle condizioni climatiche e non solo. La fonte da cui provengono i dati, sono principalmente quelli dell’Aeronautica Militare, e precisamente dal sito meteoam. Ci sono allerte per 12 eventi differenti (Neve/Ghiaccio, Temporali, Nebbia, Temperature massime estreme, Temperature minime estreme, Eventi Costieri, Incendi bischivi, Valanghe, Pioggia, Alluvione e Pioggia/Alluvione). Questo componente è già presente ed integrato in Hass, autore rolfberkenbosch.

  • GDACS

    è un’integrazione realizzata da Malte Franken (exxamalte) e permette di avere informazioni sui principali disastri come siccità, terremoti, alluvioni, cicloni tropicali, tsunami e attività vulcaniche in tutto il mondo. Purtroppo, non è in italiano.

  • WWLLN

    è un altro componente che permette di geo-localizzare i fulmini caduti, e data la mole di dati che esso genera, è consigliabile impostare una finestra temporale(Window) ridotta, per la registrazione dei dati. Questo componente, a differenza di Burze,  geo-localizza i fulmini su mappa, ed utilizza più fonti per la raccolta dati. L’University of Washington le ha raccolte in un singolo sito. Ho preferito inserire anche questo componente, perchè mi da l’idea di quanti fulmini sono caduti nell’arco di tempo impostato.

  • Blitzortung

    è l’unica ed ottima alternativa a WWLLN. Ma non l’ho ancora integrato nel package, anche perchè, è configurabile solo tramite integrazioni da interfaccia utente :0)

Requisiti

Installazione

HACS

Installa HACS  Guida.

Custom Components

Successivamente da HACS, installa i Custom Component Burze, DPC, INGV, e MeteoAlarm by kodi1.

Cards Lovelace

In fine, le seguenti Cards per lovelace

    1. Lovelace Card Tools
    2. Auto Entities
    3. Lovelace Card Mod
    4. Fold Entity Row
    5. Vertical stack in card
    6. Paper-buttons-row
    7. Text Divider Row (opzionale)

Resources

Il “resources:” dovrebbe essere simile a questo:

Reperire i dati

Dopo aver installato tutto l’occorrente inizia a procurarti i dati.

Burze

Per poter utilizzare questo sensore, occorre registrarsi al sito Burze.dzis.net, ed una volta che ti sei iscritto, vai nella sezione  API (colonna a sinistra) e preleva la chiave API. Vedrai una cosa simile a questa:

La tua chiave di accesso API: b123456789417cc77abc00ff123gg0h12345e25l

Numero di richieste per metodi che restituiscono dati per 1 minuto (limite): 0 (10)

GDACS

Questo componente va installato da integrazioni.

Nella barra laterale fare clic su Configurazione.
Dal menu di configurazione seleziona: Integrazioni.
In basso a destra, fai clic sul pulsante Aggiungi integrazione.
Dall’elenco, cerca e seleziona “GDACS”.
Imposta il raggio desiderato in km.

MeteoAlarm

Vai sul sito di MeteoAlarm, scegli la tua regione cliccandoci, con la freccia del mouse, sopra la cartina e prendi il nome esatto della tua regione. (Vedi foto 2 e 3 qui in basso).

Per il custom component, sempre sul sito MeteoAlarm, devi copiare la parte finale del link della tua regione, senza “.html”, ad esempio per la Sicilia:

https://www.meteoalarm.eu/it_IT/0/0/IT018-Sicilia.html da cui si ricava il seguente codice IT018-Sicilia che servirà come ID per la configurazione del componente personalizzato.

Home Assistant Package Eventi Naturali

Prima di copiare il package, riavvia Home Assistant (Hassio) per rendere effettivi i componenti installati.

Scompatta il file zip (link ed istruzioni in allegati) in una cartella a piacere sul PC, poi copia ed incolla singolarmente le varie cartelle in quella principale di Home Assistant. (in Hassio è /config).

Configurazione

Aggiornamento 09/05/2021. Spostata tutta la configurazione nel file secrets.yaml. (Ricordo che si possono avere più secrets.yaml all’interno della stessa configurazione, ad esempio crearne uno specifico dentro la cartella packages.)

Per la configurazione, ho messo tutto nel secrets.yaml, dove andrai ad inserire i tuoi parametri personali, descritti, uno per uno, nella sezione impostazioni più in basso.

Impostazioni

Chiarito il concetto di dove scrivere i parametri, vediamo a cosa servono e come impostarli.

Cosa fondamentale, per il corretto funzionamento del package, i secret vanno inseriti tutti, e nella maniera corretta, pena la configurazione non valida.

Script

è lo script interno al package, per smistare i messaggi testo e audio. (se utilizzi il centro notifiche devi inserire script.my_notify). 

Notify

un servizio o più, che utilizzi per le notifiche di testo.
(se non ne hai, basta che lasci due apici, singoli ''o doppi  "", senza spazi o inserisci null.)
Telegram, è il servizio preferito ed valido anche per l’invio di immagini con url o file.
Altri servizi di notifica supportati, anche per invio delle immagini, sono: Pushover, Pushbullet e MobileApp.
Nota: Pushover non invia immagini da url esterni (http/https), per questo motivo, verrà inviato solo il link.
Con lo script interno, puoi scegliere, ad esempio, due servizi differenti tipo:
“notify.telegram_caio,notify.pushover_tanja”.
In alternativa, puoi scriverli nei seguenti modi:
“Telegram Caio, Pushover Tanja, notify.bob”
“[‘Telegram Caio’, ‘Pushover Tanja’, ‘notify.bob’]”
(se utilizzi il centro notifiche devi inserire il nome del servizio. Es. Telegram Caio e non notify.telegram_caio, se invece utilizzi quello interno al package, non c’è differenza).

Media Player

sono i campi dove popolerai con le tue entità media player.
(se non ne hai, basta che lasci due apici, singoli ''o doppi  "", senza spazi o inserire null.)
Esempio pkg_natural_events_alexa: null - pkg_natural_events_google: ""

Servizio TTS

è il servizio tts da usare con Google (deve corrispondere al servizio definito nell’integrazione TTS).

DND Non disturbare

la fascia oraria per non riprodurre i messaggi vocali. L’ora va messa tra apici. (DND sta per DoNotDisturb, Non Disturbare).

Percorso download immagini

è la cartella per salvare in locale, l’immagine shake4 dal sito INGV, per la corretta visualizzazione in lovelace, quando si è fuori casa in https. Questo perché, il sito è ancora in http…).

Location

le coordinate di casa.

Zone

sono campi numerici e non vanno tra apici. Rappresentano l’area entro la quale, al verificarsi di un evento meteo o geologico, con coordinate geografiche, verrà inviata la notifica.

Magnitudo

è un campo di tipo float, non necessita di apici. Rappresenta il magnitudo entro il quale il sistema deve registrare l’entità. (Come impostazione minima è consigliabile 3.0 o 3.5 – si può scrivere anche 3 al posto di 3.0).

Raggio INGV

è un campo numerico e non va messo tra apici. La distanza in chilometri attorno alle coordinate di casa in cui sono inclusi gli eventi sismici, da cui verrà registrata l’entità in Home Assistant (es. geo_location.m_2_4_svizzera_svizzera).

Nome Regione

La regione secondo Meteoalarm va scritta come è sul sito, ovvero, Emilia & Romagna e non EmilaRomagna o Emilia_Romagna.

ID Regione

ID per la configurazione del custom component MeteoAlarm_m.

Burze Api

la tua chiave di accesso API per Burze.

Raggio Burze

è un valore numerico e non va tra apici. Rappresenta il raggio entro il quale, se si verifica l’evento (caduta di un fulmine), si attiva il sensore.

Note

Lo script interno al package, script.notify_hub, lo puoi utilizzare anche al di fuori di esso. Alcuni esempi base di come utilizzarlo, li puoi trovare in questa card di Lovelace.

Per avere notifiche multiple si può usare notify group.

Automazioni

Nelle automazioni troverai:

  1. Title. Il titolo dell’evento che andrà in automatico nei messaggi di testo o nella didascalia delle foto.
  2. Message. Il messaggio di testo che verrà inviato. Se è presente un’immagine, il messaggio verrà incorporato nella foto come didascalia.
  3. Message_tts. Messaggio solo per la parte audio. Se omesso o vuoto, non verrà riprodotto alcun messaggio.
  4. File. Ho inserito delle immagini (per lo più stickers telegram) nella cartella config/www/hassiohelp/pkg_natural_events inerenti ai sensori attivi.
  5. Url. Principalmente utilizzato per l’invio dell’immagine con epicentro del terremoto. Ricordo che sotto a magnitudo 3.0 non verranno inviate immagini, in quanto INGV non le pubblica.
  6. Notify e media_player e script, sono gli alias YAML (esempio *notify) dove verranno inseriti i parametri configurati nel secrets.
  7. Input boolean per la condizione di invio immagini (per adesso solo per Burze e MeteoAlarm).
  8. Data. Al disotto di questi parametri, ci possono essere delle opzioni che riguardano il centro notifiche. Queste, non influiscono se non hai il package Centro Notifiche, e se usi lo script presente nel package eventi naturali.

Script

Nello script troverai:

  1. Invio messaggio testo a condizione che url e file non siano presenti, e che il servizio notify è definito.
  2. Invio di immagini da url e file più eventuale titolo e messaggio come didascalia. (evitando di ricevere due messaggi, eccetto per INGV, dovuto al nuovo rendering delle immagini shakemap v4 su base USGS)
  3. Notifica audio, nell’orario come impostato nel secret e solo se la variabile message_tts non sia vuota.
  4. Invio dei messaggi tramite il servizio corrispondente per i dispositivi Alexa e/o Google.

File zip

Nel file zip troverai le seguenti cartelle:

  • config/packages/natural_events.yaml (File del package)
  • config/www/hassiohelp/pkg_natural_events (Immagini usate nel package)
  • config/lovelace/cards/ (Cards per lovelace)

Per chi utilizza il centro notifiche, deve sostituire lo script script.notify_hubcon il solito script.my_notify, e fare attenzione al servizio notify (non va inserita l’entità completa ma solo il nome, esempio ‘telegram’).

Esempio Secrets

Un esempio del file secrets, per rendere compatibile le entità già usate con il package centro notifiche, potrebbe essere questo:

L’ultimo aggiornamento l’ho pubblicato su GitHub. Ho inserito Url e File per l’invio di foto con telegram, e qualche correzione. Per chi è interessato, altre informazioni le può trovare sul sito e sul forum.

Allegati

Lovelace

Personalmente utilizzo lovelace in modalità YAML, ma il codice è compatibile anche per chi usa la modalità storage (lovelace UI controlled).

card_natural_events_light.yaml

card_natural_events_picture.yaml

card_natural_events_picture_menu.yaml

card_natural_events_test_script_notify_hub.yaml

Se utilizzi la modalità grafica (storage), devi selezionare e copiare il contenuto della card, o con un editor di testo o direttamente da Github scegliendo modalità RAW (vedi link qui sopra). Successivamente, attraverso l’interfaccia grafica, nella scheda panoramica, vai sui tre puntini in alto a destra e scegli configura l’interfaccia utente, in basso a destra comparirà un’icona a forma di cerchio con il simbolo “+”. Clicca sull’icona e scegli manual card. Seleziona tutto nella parte a sinistra e incolla il contenuto precedentemente copiato. Dovresti già vedere l’anteprima, quindi salvare e chiudere la modalità modifica, cliccando sulla x in alto a sinistra.

Per la card_natural_events_picture.yaml, realizzata in pochi minuti, ringrazio Enrico per la collaborazione.  La card_natural_events_picture_menu.yaml, è un mix delle prime due card.

Anteprima immagini

Home Assistant Package Eventi Naturali Home Assistant Package Eventi Naturali

Anteprima Video

Packages

Package Natural Events

Poiché il sito è molto limitato, ho caricato i file su Github Package-Natural-Events. (Aggiornato per Home Assistant versione 2021.4.0 e successive).

Per scaricarlo, basta che clicchi su clone or download e salvi il file zip sul pc. Estrai il contenuto, e copi la cartella config che si trova in Package-Natural-Events-master nel percorso principale di Home Assistant, o come detto in precedenza, copi le cartelle una per una in base a ciò che ti interessa.

Alternativa per l’aggiornamento, ed è il mio consiglio, vai all’ultima release e scarica il file Source code (zip), che si trova sotto Assets in fondo alla pagina.

Altra possibilità, visto che negli ultimi aggiornamenti, ho aggiunto SSH Web Server, è quella di crearsi un pulsante per il download diretto, che andrà a sovrascrivere il package esistente nel tuo sistema.

Spero che quanto ho scritto è di tuo gradimento, poiché, è stato abbastanza faticoso mettere tutto insieme. Ovviamente, sei libero di apportare tutte le modifiche che vuoi o di esprimere i tuoi suggerimenti sui nostri canali.

Ed infine, mi auguro che la card sia sempre verde :0). 

Discussione e problematiche vedi spazio sul Forum 

Sostienici, dona un caffè al nostro sito

 

38 risposte

  1. matteo ha detto:

    dove trovo la hui-markdown-card?

    • Caio Sweet ha detto:

      Non esiste, è la markdown normale messa sotto una card type: entities… per usare le card come entities, va messo hui-cardufficiali-card

  2. jokerigno ha detto:

    Ciao,

    solo una nota. Dark Sky è necessario perchè il package chiama il sensore dark_sky_daily_summary.

    Se non presente compare un fastidioso ‘unknown’ al centro della card.

    Ciao e GRAZIE !

    • Caio Sweet ha detto:

      Beh, basta che lo levi e lasci vuoto ?
      O ne metti un altro che ti piacerebbe vedere li… O ci scrivi un qualcosa di tuo… ?
      esempio
      elimini la parte da font size=”3″{{states(‘sensor.dark_sky_daily_summary’)}} /font
      oppure ci metti {{states(‘group.natural_events’)}}
      o un altro sensore…

    • Caio Sweet ha detto:

      ok, ho aggiornato la card… non dovrebbe più uscire nulla se non c’è quel sensore.

  3. Gianluca ha detto:

    salve, complimenti per le ottime guide e packages,
    avevo intenzione di implementare solo il servizio DPC e creare un’automazione che mi avvisasse in caso di avvisi ,
    ho creato il binary sensor con queste entità:

    – binary_sensor.dpc_idrogeologico_oggi
    – binary_sensor.dpc_idraulico_oggi
    – binary_sensor.dpc_temporali_oggi
    – binary_sensor.dpc_idrogeologico_domani
    – binary_sensor.dpc_idraulico_domani
    – binary_sensor.dpc_temporali_domani

    ho poi creato un’automazione modificando quella da voi postata in questo modo:
    automation:
    – alias: natural_events_protezione_civile_notifications
    initial_state: true
    trigger:
    platform: state
    entity_id:
    – binary_sensor.dpc_idrogeologico_oggi
    – binary_sensor.dpc_idraulico_oggi
    – binary_sensor.dpc_temporali_oggi
    – binary_sensor.dpc_idrogeologico_domani
    – binary_sensor.dpc_idraulico_domani
    – binary_sensor.dpc_temporali_domani
    condition:
    – condition: and
    conditions:
    – condition: or
    conditions:
    – condition: template
    value_template: “{{ trigger.to_state.state == ‘on’ }}”
    – condition: or
    conditions:
    – condition: template
    value_template: “{{ trigger.from_state.state == ‘off’ }}”
    – condition: template
    value_template: “{{ trigger.to_state.attributes.data != trigger.from_state.attributes.data }}”
    – condition: template
    value_template: “{{ trigger.to_state.attributes.allerta != trigger.from_state.attributes.allerta }}”
    – condition: template
    value_template: “{{ trigger.to_state.attributes.info != trigger.from_state.attributes.info }}”
    action:
    – service: notify.gianluca
    data_template:
    title: >-
    Protezione Civile –
    {% if trigger.from_state.state == ‘off’ %}
    {{ trigger.to_state.attributes.friendly_name }}.
    {% else %} AGGIORNAMENTO DPC. {% endif %}
    message: >-
    {% if trigger.from_state.state == ‘off’ %}
    Bollettino Protezione Civile
    {% else %} Aggiornamento bollettino. {% endif %}
    Rischio {{trigger.to_state.attributes.rischio}}. Allerta {{trigger.to_state.attributes.allerta}} {{trigger.to_state.attributes.info}}.
    – service: tts.google_say
    data_template:
    entity_id: media_player.google_home, media_player.google_home_mini
    message: >-
    {{ trigger.to_state.attributes.friendly_name }}. Allerta {{trigger.to_state.attributes.allerta}} {{trigger.to_state.attributes.info}}.
    language: ‘it’
    cache: false

    mi sapreste dire se è corretta? da verifica tramite Convalida configurazione nelle impostazioni di Hassio risulta corretta ma non ho modo di verificare se non arriva un avviso dalla Protezione CIvile…
    grazie

    • Caio Sweet ha detto:

      Da cellulare non riesco a vedere bene la formattazione, ma mi pare corretta.
      Per vedere se funziona, vai in dev-tools stati, e gli cambi lo stato da off a on e premi su set… Dovrebbe partire la notifica, chiaro, con gli attributi none

      • Gianluca ha detto:

        Buongiorno, ho provato a cambiare in dev-tools lo stato dei binary_sensor ma non succede nulla probabilmente credo che il problema sia nella parte “trigger.to_state.attributes.friendly_name ”
        io non ho configurato nulla al riguardo del friendly name , cosa dovrei inserire ?

  4. matteo ha detto:

    wwlln non funziona piu ?

  5. Egidio ha detto:

    Ma il codice istat dove lo trovo per il veneto?

    • Caio ha detto:

      Cerca con Google codice Istat e la città in cui vivi, oppure vedi il link che è riportato all’interno del package o sul repository del componente dpc

  6. Marco ha detto:

    ho aggiornato il package come descritto, io uso il centro notifiche.

    ora mi appare sul registro questo errore:

    invalid config for [script]: Service does not match format . for dictionary value @ data[‘sequence’][3][‘choose’][0][‘sequence’][1][‘choose’][0][‘sequence’][2][‘service’]. Got None. (See /config/configuration.yaml, line 136).

    Sai dirmi da cosa dipende?

    • Caio ha detto:

      Ciao.

      hai per caso lasciato questo:
      pkg_natural_events_script: “{{states(‘input_select.centro_notifiche’)}}” ???

      Questo è un esempio, ed è un input text che mi sono creato io per cambiare da uno script all’altro.
      Se usi il CN, basta inserire

      pkg_natural_events_script: script.my_notify

      o meglio ancora con gli apici

      pkg_natural_events_script: “script.my_notify”

      • Marco ha detto:

        si in effetti l’errore era quello ed ho sistemato sostituendo come mi hai detto. Ora però mi appaiono altri 2 errori

        Il primo nel registro ed è questo: “Distance:Unable to process latitude and longitude: None, None”

        il secondo nel file natural_events.yaml compare il punto esclamativo rosso in alto a destra e come errore appare:

        unidentified alias “CONF_RADIUS_QUAKE” at line 303, column 29:
        radius: *CONF_RADIUS_QUAKE
        ^

        • Caio ha detto:

          Ciao.

          Il primo errore, non trova le coordinate nel person. A questo potrei rimediare inserendo una condizione nel template.

          Il secondo, che non dovrebbe essere influente per il check config, è file editor che non riconosce il formato secret alias come accade in visual studio… ovvero non gli piace questo formato:

          !secret &DEFAULT_SCRIPT pkg_natural_events_script

          e vorrebbe che fosse scritto così

          &DEFAULT_SCRIPT !secret pkg_natural_events_script

          Anche questo si può rimediare, ma uso visual studio e la formattazione automatica lo inserisce come nel primo caso, ovvero !secret &anchor campo_secret.

          • Marco ha detto:

            si in effetti ho notato che il secondo è ininfluente per il check config quindi poco importa.

    • Caio ha detto:

      Ciao, penso di aver sistemato gli errori, il package da provare è qui
      https://github.com/caiosweet/Package-Natural-Events/tree/dev

      Ovviamente, va aggiornata anche la parte grafica. Trovi tutto al link qui sopra

  7. brax ha detto:

    Buongiorno,

    grazie innanzitutto per il bel lavoro.
    Sono riuscito a integrare il tutto, ma parzialmente vedo i dati nelle lovelace card ma nell’immagine della casa ho un triangolino giallo che dice Entità non disponibile “sensor.dark_sky_summary”
    e l’allerta meteo e geologica ho il valore su spento e non acceso e attivando col selettore si spegne subito rimanendo sempre spento.
    Grazie

    • Caio ha detto:

      Ciao.
      Per il sensore sensor.dark_sky_summary lo puoi sostituire con uno tuo, oppure cancellare del tutto la parte inerente a questo sensore.
      Ormai, sono passati due anni dalla realizzazione del package, e molte cose sono cambiate, (vedi darksky), ma facilmente possono essere adeguate.
      Riguardo i due gruppi allerta meteo e allerta geologica, si attivano da soli, quando un evento relativo al gruppo si manifesta. Esempio, se oggi è prevista un’allerta temporali, si attiva il gruppo meteo.

      • Brax ha detto:

        Ciao,

        a perfetto! infatti stavo guardando e ho visto dopo il mio messaggio come integrarlo. Vedrò allora come integrare openweathermap che gia uso
        Grazie mille!

  8. daniele ha detto:

    Ciao,
    ottimo lavoro!

    non trovo informazioni utili nella parte della mappa cosiddetta GEO: solo un mio problema?

    • Caio ha detto:

      Ciao. Che tipo di informazioni? Se non ricordo male, la mappa l’ho configurata per visualizzare i terremoti. Ovviamente, se non ci sono stati eventi, sarà “vuota”

  9. daniele ha detto:

    da quando ho aggiunto questo package sul mio core-2021.9.7 su supervisor-2021.09.6

    trovo una sfilza di questi errori:

    2021-10-06 10:37:30 ERROR (stream_worker) [libav.NULL] non-existing PPS 0 referenced
    2021-10-06 10:37:30 ERROR (stream_worker) [libav.h264] non-existing PPS 0 referenced
    2021-10-06 10:37:30 ERROR (stream_worker) [libav.h264] decode_slice_header error
    2021-10-06 10:37:30 ERROR (stream_worker) [libav.h264] no frame!

    sto sbagliando qualcosa io?

  10. Bardx ha detto:

    Esiste un modo per non farmi notificare gli allarmi meteo dal giallo in giù? Mi interesserebbero soltanto gli allarmi arancio o rosso. Non c’è tra i parametri di configurazione che sono definiti nel file secrets e non so se è una modifica che si può fare da natural_events.yaml o se, purtroppo, è un limite dovuto alle info che il sito ci manda (che includono per forza anche allarmi di colore giallo). Help, please!

    • Caio ha detto:

      Ciao.
      Nel package non è previsto.
      Ogni componente è diverso e non tutti hanno lo stesso sistema di allerta. (chi usa i colori, chi i numeri etc)
      Per DPC, puoi configurare, tramite l’integrazione, i livelli di allerta.
      In generale, per ogni automazione (compreso dpc), potresti inserire una condizione, dove se il livello è maggiore o uguale a quello che indichi tu, scatta l’azione.
      Ad esempio Meteoalarm c’è l’attributo severity (moderate…) da confrontare, oppure awareness_level (prendi uno dei tre campi e lo confronti (es.2; yellow; Moderate) . (per meteoalarm_m custom mi sembra code (yellow,orange…), ora non riesco a vedere il sito è down e di conseguenza anche il componente)
      Burze, non ha livelli, me li sono inventati io, quindi potresti modificarli o scegliere un raggio meno esteso)

      Potresti anche crearti un input number o un input select con i livelli e inserire nelle condizioni il giusto confronto con questi “aiutanti” :o)

  11. daniele ha detto:

    Ciao,
    ho provato ad aggiornare alla versione 2021.10.1m ma riscontro i seguenti errori:

    ERROR:homeassistant.config:Invalid config for [script]: Service does not match format . for dictionary value @ data[‘sequence’][3][‘choose’][0][‘sequence’][1][‘choose’][0][‘sequence’][2][‘service’]. Got None. (See /tmp/config/configuration.yaml, line 932).
    ERROR:homeassistant:Error doing job: Task exception was never retrieved
    Traceback (most recent call last):
    File “/usr/local/lib/python3.9/site-packages/homeassistant/core.py”, line 1438, in async_call
    raise ServiceNotFound(domain, service) from None
    homeassistant.exceptions.ServiceNotFound: Unable to find service persistent_notification.create
    Failed config
    General Errors:
    – Platform error sensor.meteoalarm_m – No module named ‘bs4’

    Successful config (partial)
    [08:42:33] INFO: The full output has been written to /share/check_config.txt

    avete qualche consiglio?

    • Caio ha detto:

      Purtroppo l’addon per la verifica, spesso non ci prende.
      Per il primo errore, forse manca il servizio google nel secret (se non hai tts google, puoi metterci anche quello che c’è nell’esempio, poi prossimo aggiornamento aggiusto anche questa cosa insieme a non so quanti template da modificare…)
      Il secondo è relativo al custom component meteoalarm, ma tutto regolare (finchè il vecchio sito esiste :0))

  12. daniele velardi ha detto:

    sembra che il problema sia qui:

    – alias: Add GDACS sensor in group geoalert
    choose:
    – alias: if entity GDACS exists
    conditions: “{{ states|selectattr(‘name’, ‘==’, ‘GDACS’)|list|count > 0}}”
    sequence:
    – service: group.set
    data:
    object_id: geoalert
    add_entities: >
    {{states|selectattr(‘name’, ‘eq’, ‘GDACS’)|join(‘,’,attribute=’entity_id’)}}

    e qui:

    – choose:
    – conditions:
    – “{{ state_attr(ENTITY, event) is not none }}”
    sequence:
    – service: *DEFAULT_SCRIPT
    data:
    call_no_annuncio: 1
    title: “DPC Criticità”
    message: |
    {% set attr = state_attr(ENTITY, event) %}
    Criticità per {{giorno}}
    {%- for d in attr %}
    {{WARNING_SIGN[d[‘level’]].icon_color}} {{ WARN_DPC[d[‘risk’]] }} {{ d[‘info’] }} {{ d[‘alert’] }} per rischio {{ d[‘risk’] }}.
    {%- endfor %}
    Zona: {{ state_attr(ENTITY, ‘zone_name’) }}
    alexa:
    message_tts: &dpc_criticita_tts_msg >-
    {%- set attr = state_attr(ENTITY, event) %}
    Protezione Civile, bollettino di criticità per {{giorno}},
    {%- for d in attr %}
    {{ d[‘info’] }} {{ d[‘alert’] }}, per rischio {{ d[‘risk’] }},
    {%- endfor %}
    audio: soundbank://soundlibrary/weather/thunder/thunder_11
    google:
    message_tts: *dpc_criticita_tts_msg
    audio: “https://d3qhmae9zx9eb.cloudfront.net/nature/amzn_sfx_rain_01.mp3”
    image: >
    {% if is_state(‘input_boolean.natural_events_send_image’, ‘on’) %}
    {{ state_attr(ENTITY, day).image_url |default(“”, true) }}
    {% endif %}
    link: >
    [Bollettino di criticità]({{ BULLETIN }})
    level: >
    {{ state_attr(ENTITY, event)[‘level’] |default(0) |int }}

    – choose:
    – conditions:
    – “{{ state_attr(ENTITY, day) is not none
    and (state_attr(ENTITY, day)[‘level’] > 1 or state_attr(ENTITY, day)[‘phenomena’]|length > 0) }}”
    sequence:
    – service: *DEFAULT_SCRIPT
    data:
    call_no_annuncio: 1
    title: “DPC Vigilanza Meteo”
    message: |
    {% set attr = state_attr(ENTITY, day) %}
    Vigilanza meteo per {{giorno}}
    {{WARNING_SIGN[attr[‘level’]].icon_color}} Quantitativi previsti {{attr[‘precipitation’]}}
    {% if attr.phenomena|length > 0 %}
    Fenomeni nelle vicinanze:
    {% for p in attr[‘phenomena’] %}
    ➡️ {{p.event}}: {{p.value}} in direzione {{CARDINAL[p.direction]}} alla distanza di {{p.distance}}km.
    {% endfor %}
    {% endif %}
    Zona: {{ state_attr(ENTITY, ‘zone_name’) }}
    alexa:
    message_tts: &dpc_vigilance_tts_msg >- # mapday[day] #repeat.index == DAYS|length
    {% if repeat.first %}
    {# % set mapday = {‘today’:’Oggi’, ‘tomorrow’:’Domani’, ‘aftertomorrow’: ‘Dopodomani’} % #}
    Vigilanza meteo,
    {%- for day in DAYS.values() %}
    {% set v = state_attr(ENTITY, day) %}
    {%- if v and (v.level > 1 or v.phenomena|length > 0) %}
    per {{ GIORNI[loop.index] }},
    {% if v.level > 1 %}
    Quantitativi previsti {{ v[‘precipitation’] }}.
    {% endif %}
    {% if v.phenomena|length > 0 %}
    Fenomeni nelle vicinanze:
    {% for p in v[‘phenomena’] %}
    {{p.event}} {{p.value}} in direzione {{CARDINAL[p.direction]}} a circa {{p.distance}}km,
    {% endfor %}
    {% endif %}
    {%- endif %}
    {%- endfor %}
    {% endif %}
    audio: soundbank://soundlibrary/nature/amzn_sfx_rain_01
    google:
    message_tts: *dpc_vigilance_tts_msg
    audio: “https://d3qhmae9zx9eb.cloudfront.net/nature/amzn_sfx_rain_01.mp3”
    image: >
    {% if is_state(‘input_boolean.natural_events_send_image’, ‘on’) %}
    {{ state_attr(ENTITY, day).image_url |default(“”, true) }}
    {% endif %}
    link: >
    [Bollettino di criticità]({{ BULLETIN }})
    level: >
    {{ state_attr(ENTITY, day)[‘level’] |default(0) |int }}

    insomma dove c’è la clausola choose….

  13. daniele ha detto:

    ERROR:homeassistant.config:Invalid config for [script]: Service does not match format . for dictionary value
    @ data[‘sequence’][3][‘choose’][0][‘sequence’][1][‘choose’][0][‘sequence’][2][‘service’]. Got None. (See ?, line ?).
    ERROR:homeassistant:Error doing job: Task exception was never retrieved

    • Caio ha detto:

      Service does not match format

      Si riferisce ad un servizio sbagliato. 99% nel secret è scritto male o non c’è proprio.
      Come detto nel messaggio precedente, se non hai tts google, puoi metterci anche quello che c’è nell’esempio, ovvero “tts.google_translate_say”.
      Controlla il secret, anzi, se puoi, maschera i dati sensibili (con delle xxx) e fammi vedere cosa hai messo.

  14. daniele ha detto:

    per evitare errori vari sul modulo bs4 si possono usare questi comandi specifici per HASSIO/HASSOS:

    # curl https://bootstrap.pypa.io/get-pip.py –output get-pip-py
    # python3 get-pip.py
    # python3 -m pip install bs4

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Advertisment ad adsense adlogger