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.
- Allerte
- Meteo (temporali, gelo, caldo estremo…)
- Geologiche (allagamenti, incendi, terremoti)
- Notifiche
- Caduti fulmini
- Criticità meteo
- Criticità meteo-idro (alluvioni)
- Terremoti
- Siccità
- Tsunami
- Attività vulcaniche
I componenti utilizzati sono:
- Burze.dzis.net (Burze) HACS default
- Dipartimento Protezione Civile (DPC) HACS default
- Istituto Nazionale di Geofisica e Vulcanologia (INGV) HACS default
- MeteoAlarm integrato
MeteoAlarm_m by kodi1 HACS default (meteoalarm.eu chiuso, il componente è inutilizzabile)- Global Disaster Alert and Coordination System (GDACS) integrato
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).
Aggiornamento 06/06/2021. Ora i dati li prelevo direttamente dalla repository DPC su Github. Il custom component, va configurato esclusivamente da UI (interfaccia utente).
-
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.
Aggiornamento 04/06/2022. Malte Franken,ha realizzato una nuova libreria asincrona, con la possibilità di avere altri attributi disponibili, come ad esempio la profondità del terremoto. Anche questa volta, ti invito a mettere una ? “stellina” o direttamente al suo spazio su github, o al suo nuovo lavoro aio-quakeml-ingv-centro-nazionale-terremoti-client, senza il quale, non avrei potuto creare la nuova integrazione custom INGV configurabile anche da interfaccia utente.
-
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.
-
W
WLLNè 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
- Impostare i “packages” in HomeAssistant (Guida)
- Un servizio di notifica. (preferibilmente Telegram, poichè l’invio immagini è impostato per Telegram)
- HACS (guida)
- Lovelace
- Un servizio meteo (non obbligatorio), tipo DarkSky o simili, per avere un riassunto delle condizioni meteo, quando non sono attivi eventi naturali.
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
Resources
Il “resources:” dovrebbe essere simile a questo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
resources: - url: /hacsfiles/lovelace-card-tools/card-tools.js type: js - url: /hacsfiles/lovelace-auto-entities/auto-entities.js type: js - url: /hacsfiles/lovelace-card-mod/card-mod.js type: module - url: /hacsfiles/lovelace-fold-entity-row/fold-entity-row.js type: module - url: /hacsfiles/stack-in-card/stack-in-card.js type: module - url: /hacsfiles/text-divider-row/text-divider-row.js type: module - url: /hacsfiles/lovelace-paper-buttons-row/paper-buttons-row.js type: module |
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.
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
########################################################### ## EXAMPLE NATURAL EVENTS SECRETS FILE ########################################################### ## DEFAULT pkg_natural_events_script: "script.notify_hub" pkg_natural_events_notify: "telegram" pkg_natural_events_google: "media_player.red,media_player.black,media_player.black_due" pkg_natural_events_alexa: "media_player.sala,media_player.studio" pkg_natural_events_service_tts: "tts.google_translate_say" ## DND TTS (Orario Non Disturbare - Per script.notify_hub) pkg_natural_events_dnd_start: "23:00" pkg_natural_events_dnd_stop: "07:00" ## FOLDER DOWLOADS [Se la cambi, ricorda di farlo anche in lovelace!] pkg_natural_events_download_dir: "/config/www/hassiohelp/downloads/" ## CONFIGURATION pkg_natural_events_latitude_home: 41.9109 pkg_natural_events_longitude_home: 12.4818 pkg_natural_events_radius_geoalert: 1000000 # Metri pkg_natural_events_radius_meteoalert: 25000 # Metri pkg_natural_events_magnitude: 2.0 pkg_natural_events_radius_quake: 1000 # Km pkg_natural_events_meteoalarm_region: "Lazio" pkg_natural_events_meteoalarm_custom_id: "IT012-Lazio" pkg_natural_events_burze_api_key: "x123456789012xx12xxx12aa345bb6c67890d12e" pkg_natural_events_radius_burze: 25 # Km |
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
5 |
pkg_natural_events_script: "script.notify_hub" |
Notify
6 |
pkg_natural_events_notify: "telegram" |
''
o doppi ""
, senza spazi o inserisci null
.)Media Player
7 8 |
pkg_natural_events_google: "media_player.red,media_player.black,media_player.black_due" pkg_natural_events_alexa: "media_player.sala,media_player.studio" |
''
o doppi ""
, senza spazi o inserire null
.)pkg_natural_events_alexa: null - pkg_natural_events_google: ""
Servizio TTS
9 |
pkg_natural_events_service_tts: "tts.google_translate_say" |
DND Non disturbare
12 13 |
pkg_natural_events_dnd_start: "23:00" pkg_natural_events_dnd_stop: "07:00" |
Percorso download immagini
16 |
pkg_natural_events_download_dir: "/config/www/hassiohelp/downloads/" |
Location
19 20 |
pkg_natural_events_latitude_home: 41.9109 pkg_natural_events_longitude_home: 12.4818 |
Zone
21 22 |
pkg_natural_events_radius_geoalert: 1000000 # Metri pkg_natural_events_radius_meteoalert: 25000 # Metri |
Magnitudo
23 |
pkg_natural_events_magnitude: 2.0 |
Raggio INGV (se configurato in modalità yaml) e USGS
24 |
pkg_natural_events_radius_quake: 1000 # Km |
Nome Regione
25 |
pkg_natural_events_meteoalarm_region: "Lazio" |
Burze Api
27 |
pkg_natural_events_burze_api_key: "x123456789012xx12xxx12aa345bb6c67890d12e" |
la tua chiave di accesso API per Burze.
Raggio Burze
28 |
pkg_natural_events_radius_burze: 25 # Km |
è 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:
- Title. Il titolo dell’evento che andrà in automatico nei messaggi di testo o nella didascalia delle foto.
- Message. Il messaggio di testo che verrà inviato. Se è presente un’immagine, il messaggio verrà incorporato nella foto come didascalia.
- Message_tts. Messaggio solo per la parte audio. Se omesso o vuoto, non verrà riprodotto alcun messaggio.
- File. Ho inserito delle immagini (per lo più stickers telegram) nella cartella
config/www/hassiohelp/pkg_natural_events
inerenti ai sensori attivi. - 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.
- Notify e media_player e script, sono gli alias YAML (esempio *notify) dove verranno inseriti i parametri configurati nel secrets.
- Input boolean per la condizione di invio immagini (per adesso solo per Burze e MeteoAlarm).
- 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:
- Invio messaggio testo a condizione che url e file non siano presenti, e che il servizio notify è definito.
- 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)
- Notifica audio, nell’orario come impostato nel secret e solo se la variabile message_tts non sia vuota.
- 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_hub
con 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
########################################################### ## EXAMPLE NATURAL EVENTS SECRETS FILE TEMPLATE OR ENTITY ########################################################### ## DEFAULT pkg_natural_events_script: "{{states('input_select.centro_notifiche')}}" pkg_natural_events_notify: "{{states('input_select.text_notify')|lower}}" pkg_natural_events_google: "{{states('sensor.media_player_google')}}" pkg_natural_events_alexa: "{{states('sensor.media_player_alexa')}}" pkg_natural_events_service_tts: > tts.{{states('input_select.tts_notify')|lower |replace(' ','_')|replace('google','google_translate') |replace('reverso','reversotts_say')|default('google_translate_say')}} ## DND TTS (Orario Non Disturbare - Per script.notify_hub) pkg_natural_events_dnd_start: "input_datetime.dnd_start_weekdays" pkg_natural_events_dnd_stop: "input_datetime.dnd_end_weekdays" ## FOLDER DOWLOADS [Se la cambi, ricorda di farlo anche in lovelace!] pkg_natural_events_download_dir: "/config/www/hassiohelp/downloads/" ## CONFIGURATION pkg_natural_events_latitude_home: 41.9109 pkg_natural_events_longitude_home: 12.4818 pkg_natural_events_radius_geoalert: 1000000 # Metri pkg_natural_events_radius_meteoalert: 25000 # Metri pkg_natural_events_magnitude: 2.0 pkg_natural_events_radius_quake: 1000 # Km pkg_natural_events_meteoalarm_region: "Lazio" <del>pkg_natural_events_meteoalarm_custom_id: "IT012-Lazio"</del> pkg_natural_events_burze_api_key: "x123456789012xx12xxx12aa345bb6c67890d12e" pkg_natural_events_radius_burze: 25 # Km N.B pkg_natural_events_script: "{{states('input_select.centro_notifiche')}}" questo è un selettore che mi sono creato io, per cambiare script al volo e testarli. input_select: centro_notifiche: options: - script.my_notify - script.notify_hub Se vuoi semplicemente utilizzare solo lo script del Centro notifiche, ovviamente va inserito in questo modo: pkg_natural_events_script: "script.my_notify" |
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_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
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.
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) .
47 risposte
dove trovo la hui-markdown-card?
Non esiste, è la markdown normale messa sotto una card type: entities… per usare le card come entities, va messo hui-cardufficiali-card
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 !
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…
ok, ho aggiornato la card… non dovrebbe più uscire nulla se non c’è quel sensore.
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
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
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 ?
aggiornamento :adesso funziona la notifica ( era un problema di errato friendly_name…)
?
wwlln non funziona piu ?
Cancellalo!
Ho aggiornato il package… tolto WWLLN e messo GDACS.
Ma il codice istat dove lo trovo per il veneto?
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
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?
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”
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
^
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.
si in effetti ho notato che il secondo è ininfluente per il check config quindi poco importa.
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
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
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.
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!
Ciao,
ottimo lavoro!
non trovo informazioni utili nella parte della mappa cosiddetta GEO: solo un mio problema?
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”
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?
Ciao, non credo dipenda dal PACKAGE, sono errori relativi a un oggetto Camera… Hai qualche telecamera? ?
si delle netatmo…forse è solo una coincidenza…
Si, anzi, sicuramente. :0)
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!
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)
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?
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))
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….
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
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.
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
Ciao. Per evitare questi errori dove?
Ti riferisci all’addon Check Home Assistant configuration?
L’errore di cui parli è relativo al custom component meteoalarm_m?
Comunque, basta aggiungere al file manifest.json (/custom_components/meteoalarm_m/manifest.json ) del componente personalizzato di kodi1 (https://github.com/kodi1/meteoalarm) il modulo mancante nella lista requirements:
“requirements”: [“bs4==0.0.1”],
Sarebbe da fare una pull-request all’autore… https://github.com/kodi1/meteoalarm/pull/14
purtroppo il modulo check home assistant configuration trova ancora parecchi errori nella sezione automation e script…
Ciao,
intanto grazie per questo package molto ben fatto!
L’ho configurato ed ha funzionato tutto benissimo per un po’.
Di recente ha iniziato a darmi però questo errore nel centro notifiche. Sapresti aiutarmi?
NB: Se commento tutte le automazioni del package ad eccezione del “natural_events_startup” l’errore sparisce..
Invalid config for [automation]: Service does not match format . for dictionary value @ data[‘action’][1][‘service’]. Got None. (See ?, line ?).
Invalid config for [automation]: Service does not match format . for dictionary value @ data[‘action’][0][‘service’]. Got None. (See ?, line ?).
Invalid config for [automation]: Unable to determine action @ data[‘action’][0]. Got None. (See ?, line ?).
Invalid config for [automation]: Service does not match format . for dictionary value @ data[‘action’][0][‘service’]. Got None required key not provided @ data[‘trigger’]. Got None. (See ?, line ?).
Invalid config for [automation]: required key not provided @ data[‘action’]. Got None required key not provided @ data[‘trigger’]. Got None. (See ?, line ?).
Controlla che i servizi esistono o che sono scritti giusti nel “secret”… https://hassiohelp.eu/2019/10/06/home-assistant-package-eventi-naturali/#comment-13329
Buonasera.
Tu visualizzi quello che sembra un file resource. Nella mia installazione le risorse sono gestite dall gui. E’ uguale se le righe le inserisco li? Grazie
Buongiorno,
HA segnala un avviso per INGV e nella prossima versione verrà implementato direttamente da UI, potresti aggiornare il package? Grazie e buon lavoro
Ciao Giovanni, per INGV, ho rilasciato l’aggiornamento. Per il package, non ho cambiato nulla, anche se, non credo di avere tempo per aggiornarlo. Quello che posso fare, quando avrò più tempo libero, è di fare upload di quello che utilizzo io attualmente :0)
Ciao Caio,
per caso sei riuscito a fare upload?
Il tuo package era perfetto ma ora con qualche aggiornamento di home assistant ed anche del sito di meteoalarm non è più funzionante al 100%
Purtroppo non ho avuto tempo e modo di aggiornare il tutto, e leggo solo ora il commento.
In ogni caso, ora, ho fatto upload di quello che ho io, che trovi su github
Ho solo fatto upload del package, perchè per la grafica, sono cambiate tante variabili del colore e stavo iniziando a fare nuove schede, ma non ho più tutto il tempo di una volta 🙁 spero di poter almeno aggiustare quelle che ho nel fine settimana.
EDIT: Ho aggiunto anche la card light che stavo cercando di “aggiornare”…