NIBE Uplink API component (non S-series)

@hmeljo No this is not a phishing attempt. This is NIBEs new API service for their new heat pumps (the S-series). At least that is my understanding from the Nibe website (https://www.nibe.eu/sv-se/produkter/myuplink). myuplink.com has been online for at least a year I think.

I have no idea on how myuplink.com differs from nibeuplink.com both in services and the API. In the manual for the new S-series heat pumps I can’t see that myuplink does anything nibeuplink can’t also do, and the payed services for more history and possibilities to change settings are the same. I guess Nibe want’s to get rid of some legacy and therefore goes to a new kind of service/server?

I can’t know for sure but I think there might be a chance to use this component but with the newer API. The documentation seems to be very similar and the service calls are as far as I can see identical but uses api.myuplink.com instead of api.nibeuplink.com and with “v2” instead of “v1” in the parameters.

I can’t test this with my heat pump (F1155 2016) I think. But maybe you can register a developer account at https://dev.myuplink.com/ , fork the github repository, replace all calls from v1 to v2 and all links from nibeuplink to myuplink and maybe try to work your way from there :smiley: ??
I guess it should not work directly, but with a little but of work maybe?

What do you think @elupus? Worth a try?

From https://dev.myuplink.com

The myUplink API is a RESTful api, relying on established conventions from the HTTP specification. As an example, the API relies on the client to use HTTP methods such as GET, POST, PUT, DELETE to describe the action to perform on a resource and it indicates the success or failure of that action by returning a HTTP status code.

All access is over HTTPS, and is provided over the api.myuplink.com domain.

Data Format
All data is sent and received as JSON. The client needs to specify the Content-Type and Accept headers as either application/json or text/json.

Blank fields are included as null instead of being omitted. All timestamps are returned with the ISO-8601 format (YYYY-MM-DDTHH:MM:SSZ) in UTC.

Parameters
API functions have both required and optional parameters. For GET requests, parameters not specified in the request URL, no matter if they are required or optional, should be provided as query paramaters. For POST, PUT and DELETE requests, the same parameters should be provided as JSON in the request body.

Parameter example
The following API functions has one parameter specified in the request URL (systemId and type), and a couple of required and optional parameters which are not (type, active, page and itemsPerPage)

GET /v2/systems/{systemId}/notifications

And can therefore be called either with only the mandatory parameters or with any of the optional parameters

GET /v2/systems/435/notifications
GET /v2/systems/435/notifications?page=1&itemsPerPage=2

Looks very similar from a glance. How silly of them to just move it to new domain.

Hi, first of all thankyou for the hard work put in to deliver this awesome bit of framework. I have though not yet been able to use it. Am completely new at this (yesterday). I followed the instructions described (manually installed) and all the file components exist from what i can see at config/custom_components/nibe. I added the nibe: line to configuration.yaml but when i went to the integrations page nibe uplink does not exist for me. I have done a configuration check and received the following error

Component error: nibe - Integration ‘nibe’ not found.

I have also tried restarting Home Assistant through the server management reset. I then received the following error log

Logger: homeassistant.loader
Source: custom_components/nibe/init.py:14
First occurred: 10:43:05 PM (4 occurrences)
Last logged: 11:34:58 PM

Error loading custom_components.nibe. Make sure all dependencies are installed
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 541, in _load_file
module = importlib.import_module(path)
File “/usr/local/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1014, in _gcd_import
File “”, line 991, in _find_and_load
File “”, line 975, in _find_and_load_unlocked
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/nibe/init.py”, line 14, in
from nibeuplink import Uplink, UplinkSession
ModuleNotFoundError: No module named ‘nibeuplink’

Any guidance is much appreciated. Am up to about 5 hours now going through this forum to try and find answers…

Have you solved it?

Hi Christian, thanks for your reply. It is solved but i dont know how. Logged out that night and when i opened up the next afternoon the integration was available to be chosen. Have no idea how/why i hadnt done anything between me writing the comment above and opening up HA again.

I dont use this component anymore. I integrated my NIBE heatpump via Modbus into HASS now.

Works fine.

Ok nice to tell us :wink: . Using NibePi or modbus directly?

Modbus TCP. Config an then set up everthing in sensor.yaml

But this only works with new NIBE S Series.

# Modbus 
modbus:
  - type: tcp
    host: 192.168.168.XX
    port: 502
    name: heatpump

sensor: !include sensor.yaml

Then it gets clear why you dont use this componentn😄and yes modbus tcp is not a f series feature, but f series have Still modbus.

Can you please share you code?

Hi @JoJa1101, I have just installed a NIBE S1255 and now want to get some data in my home assistant.
Can you share your code for sensors in your sensor.yaml ?
Would appreciate this very much :slight_smile:

I have a Nibe F730 and I get this error from time to time:

2021-01-20 13:56:26 WARNING (MainThread) [homeassistant.components.climate] Setup of climate platform nibe is taking over 10 seconds.

2021-01-20 13:56:26 WARNING (MainThread) [homeassistant.components.fan] Setup of fan platform nibe is taking over 10 seconds.

2021-01-20 13:56:26 WARNING (MainThread) [homeassistant.components.water_heater] Setup of water_heater platform nibe is taking over 10 seconds.

How to fix it?

Take it in DM or create a seperat post, this is for the Nibe component.

Did you ever hear anything back regarding the valve position?

Hi this integration is working perfectly for me! Many thanks for all the hard work! Really appreciated!

A question: does anyone know if it’s possible to calculate the power consumption of the Nibe heat pump (F1145-10 PC in my case) using any of the available NIBE sensors in HA?

Only if you have those extra power measurement things on. Also to detect the heating provided, you need your system to have flow meter installed.

Is this something you just can activate in the nibe uplink portal? Or do you need to have hardware installed for it?

Hi! Was a big thread this :slight_smile:

Im noob at home automation and have a Nibe pump, and found this thread.

What can you do when you get the pump in HA? can you only see the sensors? Or could you change example the outgoing water tmperature in automations?

If you have the paid form of nibe uplink. You can control the target temperature and offset on the temperature on supply.