Har testet litt med å sende egne MQTT meldinger til Domoticz's virtuelle målere rett fra esp32 kortet. Det ser ut til å funke bra uten å gjøre noe med sendingintervall ( 2.5s). Med liten innsats får en da en veldig bra oversikt over effektvariasjon over siste døgn + døgn-, uke-, mnd- ,og års-statistikk over forbruk. En får "live" oppdatering på effekten, mens effekt-kurver for siste døgn lagres med 5 min verdier.
Kjører både MQTT broker og Domoticz på en RPI. Totalt cpu forbruk for begge er under 1%. Skriver loggene til en liten ramdisk for unngå for mye skriving til disk.
Effekt og forbruksmelding: ( pr 2.5s) , sender Effekt og Akkumulert forbruk (oppdateres hver time):
// IDX data["P"] data["tQI"]*10
//
{"command":"udevice","idx":221,"nvalue":0,"svalue":"2644.00 ; 31784100.00"}
Tilsvarende for spenning ( ikke veldig nyttig...)
Spenning ( hver 10s):
{"command":"udevice","idx":222,"nvalue":0,"svalue":"242.20"}
{"command":"udevice","idx":223,"nvalue":0,"svalue":"244.00"}
{"command":"udevice","idx":224,"nvalue":0,"svalue":"243.30"}
Foreløpig er mesteparten av testkoden bare en utvidelse rett under der en sender dagens mqtt meldinger, før mqtt.loop().
-Har en global variabel for å ta vare på siste forbruksdata til neste gang det sendes noe, og har foreløpig bare hardkodet idx'er.
Skal koden være nyttig for flere bør det nok lages en konfig meny for å aktivere koden og forskjellige typer domoticz virtuelle målere. Mulig burde koden lagt på egne filer også.
-Det tror jeg foreløpig er utover mitt kompetanseområde, men kan dele testkoden om noen vi se på den.
Som gammel Fortran(77) mann så skjønner jeg svært lite av *.cpp og måten koden organiseres :-), selv om jeg har prøvd å tenke objektorientert i Java og Python kode.
Atle