I have re-worked the monitoring solution for the immerSUN solar PV diverter which is responsible for measuring the house’s electricity consumption, the import of electricity from the grid, the solar PV generation and any diversion of excess solar generation to the domestic hot water cylinder’s immersion heater.
Previously the monitoring was done by extracting data from the live.myimmersun.com webpage every minute and storing it in InfluxDB for visualization using Grafana. This worked OK but missed a lot of the details of how the readings change on a more dynamic basis. The immerSUN unit actually sends data in the form of a 56-byte UDP Datagram every 5 seconds and since this data is traversing the local network anyway it seems a shame not to extract the readings “on the way past”. While not trivial, since the format of the 56-byte Datagram is not published, it’s not that hard to reverse engineer where the different readings are.
There’s a (draft) write-up of the solution under the Technical Articles here.