Closed mfinotti closed 1 year ago
Producing message: [b'{"eventType": "ENTITY_PUSH", "systemCode": "UNAVAILABLE", "message": "ENTITY_PUSH", "technicalMessage": {"thermostat": "unknown", "roller": "unknown", "power": "0.0", "hub": {"state": "unavailable", "zones": [{"entity": "input_text.zn101", "name": "Camera da Letto 1"}, {"entity": "input_text.zn102", "name": "Camera da Letto 2"}, {"entity": "input_text.zn103", "name": "Camera da Letto 3"}, {"entity": "input_text.zn104", "name": "Bagno 1"}, {"entity": "input_text.zn201", "name": "Soggiorno"}, {"entity": "input_text.zn202", "name": "Cucina"}, {"entity": "input_text.zn203", "name": "Bagno 2"}]}, "thermostats": [{"sensor_name": "Camera da Letto 1", "state": "unknown", "last_update": "2022-11-29T12:04:07.662568+00:00"}, {"sensor_name": "Camera da Letto 2", "state": "unknown", "last_update": "2022-11-29T12:04:07.662642+00:00"}, {"sensor_name": "Camera da Letto 3", "state": "unknown", "last_update": "2022-11-29T12:04:07.662714+00:00"}, {"sensor_name": "Bagno 1", "state": "unknown", "last_update": "2022-11-29T12:04:07.662802+00:00"}, {"sensor_name": "Soggiorno", "state": "unknown", "last_update": "2022-11-29T12:04:07.662345+00:00"}, {"sensor_name": "Cucina", "state": "unknown", "last_update": "2022-11-29T12:04:07.662421+00:00"}, {"sensor_name": "Bagno 2", "state": "unknown", "last_update": "2022-11-29T12:04:07.662494+00:00"}], "rollers": [{"sensor_name": "Camera da Letto 1", "state": "unknown", "last_update": "2022-11-29T12:04:07.661464+00:00"}, {"sensor_name": "Camera da Letto 2", "state": "unknown", "last_update": "2022-11-29T12:04:07.661536+00:00"}, {"sensor_name": "Camera da Letto 3", "state": "unknown", "last_update": "2022-11-29T12:04:07.661609+00:00"}, {"sensor_name": "Bagno 1", "state": "unknown", "last_update": "2022-11-29T12:04:07.661708+00:00"}, {"sensor_name": "Soggiorno", "state": "unknown", "last_update": "2022-11-29T12:04:07.661243+00:00"}, {"sensor_name": "Cucina", "state": "unknown", "last_update": "2022-11-29T12:04:07.661315+00:00"}, {"sensor_name": "Bagno 2", "state": "unknown", "last_update": "2022-11-29T12:04:07.661389+00:00"}], "heating": {"state": 0, "program": "manual", "target": "31.0"}} , "timestamp": "2022-11-29T13:04:25+01:00"}']
on broker: [quattrostagioni.linkedsolutions.it:9093] and topic: [TECHNICAL]
@christianorsini a seguito di implementazione lato java mi sono reso conto che sarebbe opportuno modificare il JSON di uscita per quanto riguarda la parte dei rollers
e thermostats
. Vedi esempio di seguito:
{"eventType": "ENTITY_PUSH", "systemCode": "H00000", "message": "ENTITY_PUSH", "technicalMessage": {"thermostat": "25.0", "roller": "90", "power": "0.0", "hub": {"state": "NORMAL","zones": [{"id": "zn101", "name": "Camera da Letto 1"}, {"id": "zn102", "name": "Camera da Letto 2"}, {"id": "zn103", "name": "Camera da Letto 3"}, {"id": "zn104", "name": "Bagno 1"}, {"id": "zn201", "name": "Soggiorno"}, {"id": "zn202", "name": "Cucina"}, {"id": "zn203", "name": "Bagno 2"}]},"thermostats": [{"zone": "zn101", "state": "unknown", "last_update": "2022-11-29T12:04:07.662568+00:00"}, {"zone": "zn102", "state": "unknown", "last_update": "2022-11-29T12:04:07.662642+00:00"}, {"zone": "zn103", "state": "unknown", "last_update": "2022-11-29T12:04:07.662714+00:00"}, {"zone": "zn104", "state": "unknown", "last_update": "2022-11-29T12:04:07.662802+00:00"}, {"zone": "zn201", "state": "unknown", "last_update": "2022-11-29T12:04:07.662345+00:00"}, {"zone": "zn202", "state": "unknown", "last_update": "2022-11-29T12:04:07.662421+00:00"}, {"zone": "zn203", "state": "unknown", "last_update": "2022-11-29T12:04:07.662494+00:00"}], "rollers": [{"zone": "zn101", "state": "unknown", "last_update": "2022-11-29T12:04:07.661464+00:00"}, {"zone": "zn102", "state": "unknown", "last_update": "2022-11-29T12:04:07.661536+00:00"}, {"zone": "zn103", "state": "unknown", "last_update": "2022-11-29T12:04:07.661609+00:00"}, {"zone": "zn104", "state": "unknown", "last_update": "2022-11-29T12:04:07.661708+00:00"}, {"zone": "zn201", "state": "unknown", "last_update": "2022-11-29T12:04:07.661243+00:00"}, {"zone": "zn202", "state": "unknown", "last_update": "2022-11-29T12:04:07.661315+00:00"}, {"zone": "zn203", "state": "unknown", "last_update": "2022-11-29T12:04:07.661389+00:00"}], "heating": {"state": 0, "program": "manual", "target": "31.0"}} , "timestamp": "2022-11-29T13:04:25+01:00"}
Aggiungere inoltre, sia nelle zone che alle chiavi thermostats
e rollers
le informazioni relative ai sensori di media di zona (Giorno / Notte)
in sospeso @christianorsini
Segue issue dedicata @christianorsini
@christianorsini Da ritestare il calcolo della metrica dei sensori in quanto allo stato attuale, in base alla definizione dei sensori media il calcolo avviene solo per i nuovi sensori e non per i vecchi che sono messi in un gruppo a parte. Facendo gli aggiustamenti richiesti nella issue Refactoring sensori e gruppi di sensori questa anomalia dovrebbe essere automaticamente sanata.
Dopo aver rivisto la definizione dei sensori media ritestare la funzionalità utilizzando un sensore di vecchia e nuova generazione.
Caso reale dell'anomalia precedente:
Dati inviati dalla metrica:
json di risposta allegato
Aggiunte informazioni sull'umidità nel messaggio di metriche
Producing message: [b'{"eventType": "ENTITY_PUSH", "systemCode": "UNAVAILABLE", "message": "ENTITY_PUSH", "technicalMessage": {"thermostat": "19.6", "roller": "48.3", "humidity": "80.0", "power": "0.0", "hub": {"state": "unavailable"}, "thermostats": [{"zone": "zn100", "state": "16.1", "last_update": "2023-01-09T08:40:55.055147+00:00"}, {"zone": "zn101", "state": "15.0", "last_update": "2023-01-09T08:40:34.910567+00:00"}, {"zone": "zn102", "state": "22.0", "last_update": "2023-01-09T08:40:43.958449+00:00"}, {"zone": "zn103", "state": "16.0", "last_update": "2023-01-09T08:40:49.568097+00:00"}, {"zone": "zn104", "state": "15.5", "last_update": "2023-01-09T08:40:55.053959+00:00"}, {"zone": "zn200", "state": "23.0", "last_update": "2023-01-09T08:40:21.974916+00:00"}, {"zone": "zn201", "state": "18.0", "last_update": "2023-01-09T08:40:01.050272+00:00"}, {"zone": "zn202", "state": "26.0", "last_update": "2023-01-09T08:40:14.934726+00:00"}, {"zone": "zn203", "state": "21.0", "last_update": "2023-01-09T08:40:21.973661+00:00"}], "rollers": [{"zone": "zn100", "state": "53.67", "last_update": "2023-01-09T08:43:21.204968+00:00"}, {"zone": "zn101", "state": "66.67", "last_update": "2023-01-09T08:43:13.423260+00:00"}, {"zone": "zn102", "state": "12.5", "last_update": "2023-01-09T08:43:17.356526+00:00"}, {"zone": "zn103", "state": "43.5", "last_update": "2023-01-09T08:43:21.204090+00:00"}, {"zone": "zn104", "state": "92.0", "last_update": "2023-01-09T08:42:13.662828+00:00"}, {"zone": "zn200", "state": "42.94", "last_update": "2023-01-09T08:43:34.088010+00:00"}, {"zone": "zn201", "state": "5.33", "last_update": "2023-01-09T08:43:30.159788+00:00"}, {"zone": "zn202", "state": "23.5", "last_update": "2023-01-09T08:43:34.087167+00:00"}, {"zone": "zn203", "state": "100.0", "last_update": "2023-01-09T08:42:34.921412+00:00"}], "humidities": [{"zone": "zn100", "state": "80.0", "last_update": "80.0"}, {"zone": "zn101", "state": "unknown", "last_update": "unknown"}, {"zone": "zn102", "state": "unknown", "last_update": "unknown"}, {"zone": "zn103", "state": "unknown", "last_update": "unknown"}, {"zone": "zn104", "state": "unknown", "last_update": "unknown"}, {"zone": "zn200", "state": "unknown", "last_update": "unknown"}, {"zone": "zn201", "state": "unknown", "last_update": "unknown"}, {"zone": "zn202", "state": "unknown", "last_update": "unknown"}, {"zone": "zn203", "state": "unknown", "last_update": "unknown"}], "heating": {"state": 0, "program": "manual", "target": "31.0"}}, "timestamp": "2023-01-09T10:16:15+01:00"}
'] on broker: [kairostech-test:9092] and topic: [TECHNICAL]
@christianorsini verificare last_update per chiave umidità in quanto riporta il valore dello stato e non il timestamp di ultimo aggiornamento.
Ampliare l'esportazione delle entityMetrics con le informazioni di tutti i sensori della tipologia di riferimento. Allo stato attuale vengono prodotte delle metriche che riportano il valore medio degli indicatori. Al fine di poter essere flessibili nell'elaborazione dei del dato, occorrerà far uscire i singoli valori dei sensori raggruppati per tipologia.
Esempio metrica da produrre (vedi #26 per info sullo stato attuale):
{ "eventType": "ENTITY_PUSH", "systemCode": "{valore systemCode}", "message": "ENTITY_PUSH", "technicalMessage": { "thermostat": "{valore medio sensore}", "roller": "{valore medio sensore}", "power": "{valore medio sensore}", "thermostats": [ { "sensor_name": "{ valore input text della zona }", "state": "{ valore media temperatura della zona }", "last_update": "{ valore timestamp ultimo update ricevuto}" } ], "rollers": [ { "sensor_name": "{ valore input text della zona }", "state": "{ valore medio posizione tapparelle zona }", "last_update": "{ valore timestamp ultimo update ricevuto}" } ], "heating": { "state": "{valore 1 o 0}", "target": "{valore temperatura confort}", "program": "manual" }, "hub": { "state": "NORMAL", "settings": { "zones": [ { "entity": "input_text.nightzone.xxxxxx", "name": "Camera da letto 1" } ] } } } }
vedi refactoring sensori e gruppi sensori per maggiori dettagli.