New Technical Article: NIBE Heat Pump Monitoring via myUplink API

NIBE are in the process of closing down the old NIBE Uplink API used by their F-series heat pumps. Customers are being invited to migrate to the newer myUplink API service instead, which has always been used by the S-series heat pumps.

Both APIs are broadly comparable, but different. In particular, they both require OAuth2 API Authentication which can be problematic for people not familiar with it. (The myUplink API adds a further, simpler ‘flavour’ of OAuth2 which holds the prospect of being easier to use – but also risks adding confusion.)

I have adapted the earlier Technical Article on calling the NIBE Uplink API from Python scripts into a new Technical Article: NIBE Heat Pump Monitoring via myUplink API (also from Python scripts).

Revised immerSUN Monitoring

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 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.