Tutti gli eventi preferences ed interni vengono accolti da un nuovo modulo appdaemon che si occupa di smistare gli eventi verso il modulo apprpriato.
Modulo KairoshubEvent
Aggiungere un nuovo modulo che rimane in ascolto dell'evento di sistema INBOUND_EVENT. Questo modulo ha lo scopo di instradare in modo chiaro e preciso i messaggi in arrivo dal cloud. In sostanza all'arrivo di un nuovo messaggio per questo evento verrà elaborato il json e sarà applicata la logica seguente:
Se il contenuto del messaggio contiene per la chiave eventType: SETTINGS allora il messaggio viene forwardato al modulo appropriato anteponendo al nome dell'eventType il prefisso AD_. Ad esempio, se si riceve un event type di tipo SETTINGS_SYNC, viene fatto il fire dell'evento AD_SETTINGS_SYNC con il contenuto del messaggio.
Se l'event type è di tipo diverso allora il messaggio viene, per il momento, solamente loggato a sistema.
Modulo KairoshubSettings
Aggiungere un nuovo modulo appdaemon che risponda agli eventi di tipo *_ADSETTINGS_**. Questo modulo si occuperà solamente della gestione dei settings di tutto il sistema.
Ascoltare l'evento AD_SETTINGS_SYNC e chiamare in callback la funzione syncPreferences
syncPreferences
La funzione syncPreferences si occupa di applicare la logica di business alla sincronizzazione delle informazioni tra le entità HA <-> filesystem <-> cloud. Di seguito sono descritti i passi da eseguire:
Recuperare gli stati e tutti gli attributi per le entità contenute nei gruppi homeassistant _USERSETTINGS e _FUNCTIONSETTINGS.
Popolare il dizionario con i dati recuperati al punto precedente. Esempio dizionario:
Salvare il dizionario in formato json nel filesystem nella folder /home/pi/workspace. nome file kairoshubSettings.json
Dispatch evento HAKAIROS_PRODUCER_PRODUCE sul topic: TECHNICAL messaggio:
Tutti gli eventi preferences ed interni vengono accolti da un nuovo modulo appdaemon che si occupa di smistare gli eventi verso il modulo apprpriato.
Modulo KairoshubEvent
Aggiungere un nuovo modulo che rimane in ascolto dell'evento di sistema
INBOUND_EVENT
. Questo modulo ha lo scopo di instradare in modo chiaro e preciso i messaggi in arrivo dal cloud. In sostanza all'arrivo di un nuovo messaggio per questo evento verrà elaborato il json e sarà applicata la logica seguente:Se l'event type è di tipo diverso allora il messaggio viene, per il momento, solamente loggato a sistema.
Modulo KairoshubSettings
Aggiungere un nuovo modulo appdaemon che risponda agli eventi di tipo *_ADSETTINGS_**. Questo modulo si occuperà solamente della gestione dei settings di tutto il sistema.
AD_SETTINGS_SYNC
e chiamare in callback la funzionesyncPreferences
syncPreferences
La funzione syncPreferences si occupa di applicare la logica di business alla sincronizzazione delle informazioni tra le entità HA <-> filesystem <-> cloud. Di seguito sono descritti i passi da eseguire:
/home/pi/workspace
. nome filekairoshubSettings.json
HAKAIROS_PRODUCER_PRODUCE
sul topic:TECHNICAL
messaggio: