NIBE Uplink API component (non S-series)

I did a similar thing, With esphome i created a 4 relay box that you can connect to the “blocking” inputs on your control module (for me this is the VVM500) in the config menu you can define the things you want to block when you make this input high. I used the block heating, block cooling, block hotwater production, and block heatpump completly.
I look at the forecast for PV production for the next day. When that is above X kWh, then i block the heatpump for the night, and unblock the heatpump in the morning when the PV production above X level.
So the result is that my heatpump runs about on 75% on actual solar energy.

1 Like

For me it’s quite non intuitive to find a way to add these automations. But finally somehow managed to add something close what I described… (although only controlling fan which I don’t have). Don’t know if that really works yet… For me it now seems that blocking isn’t a solution as that prevents also water heater (tried by setting on pump). Also smart price adaptation doesn’t seem to work effectively enough even if you set the impact to maximum, at least for heating. So, the only way I can think it could work somehow ok is to process the prices once a day and program the target temperature as an hourly program. It allows three zones per day. I’ve now used average prices from one year period and adjusted the target temp down on high tariff hours (morning and late afternoon on weekdays). But this integration doesn’t seem to allow to set program (what Nibe uplink premium service page does). That would be obvious question to @elupus…Do you think program setting could be done ? Of course this is something one shouldn’t be doing but what can you do if Nibe doesn’t do it better.

Not sure I know what you mean by program. (Don’t have premium)

Anyone else lost the hot water boost switch in last update?

Did you have that manually added in yaml?

Try 1.3.1 just released.

1 Like

Yes manual added.

Will test the new release.

That fixed it! Awesome!!

Anyone with a dashboard to share as inspiration? I’ve added the energy consumption (heating and hw) to the energy dashboard but I don’t really know what to do with all the other data.
What data from the heat pump is relevant to monitor and analyze? Maybe more of a heat pump question than a home assistant one…

If I may ask: how did you add the energy consumption? Is this parameter available in the Nibe heatpump?

I just added sensors 44298 and 44300 as devices in the energy dashboard.
I also have a separate sensor from Tibber for my total consumption so now I can track how much of my total energy consumption is coming from heating and how much is other usage.

You guys are aware that the sensors are showing created energy and not used energy, so adding it to your energy dashboards will give you wrong values of your used energy. That’s why it’s listed under “värmemängdmätare” in the Uplink portal.

Thanks, I had no idea.
So, should I use compressor time factor hot water (43305) and compressor time factor (43144) instead? Is that the consumed energy?
And the heating, compr. only. (44308) and hotwater, compr. only (44306) is the delivered energy. So the difference is actually what the pump is producing and gives me the COP?

As far as I know Nibe do not display consumed energy.

I have a Shelley EM on the mains circuit to my heat pump and use templates to listen to whether or not the ASHP is heating or not. If not, I align the energy use to hot water heating (and other stuff like defrosting) and if it is, I count it as heating, which gives me this:

ps, it is unseasonably warm here today, so not much heat pump use!

1 Like

I am having problems updating the nibe uplink integration to 1.5.1 using HACS. I suspect it has to do with the python upgrade to 3.10 in 2022.7. Halfway through the upgrade I get an error that disappears too quickly and then the nibe directory in custom_components has disappeared.
The error in the log file is an IndexError: string index out of range in

Am I alone in this?

if your HACS install up-to-date?

yes, 1.26.0. One of my other hacs integrations (powercalc) has upgraded without issues. so far it’s only nibe uplink that mis-behaves.
I suspect that the error is triggered by a script in the nibe integration, but I can’t be sure. I have tried to get the log entries from when it happens, but so far I have started and finished and had to do something else a couple of times. Fortunately it just takes a restore of a backup zip of the entire nibe directory to get back to square one.
I have done a manual update to 1.5.1 but that seems to mean that I have confused HACS.

I’m on a pi4 running off an external samsung ssd and it’s running core 2022.7.3, installation type is home assistant os (v8.2), supervisor-2022.07.0 and it says docker version 20.10.14

the pi ha install is a wip, and has been for a while and will be for a while, so I upgrade everything as soon as I dare (I do read the release notes to see if something is really broken).

if noone else is having this I’ll just wait and see I might roll back a bit in my backup history. nothing big has changed for a while (except that I’ll loose my energy history)
there is a similar (si,ilar) case here - but that seems to be a case of “why did it work in the first place”.

I did a new attempt and this time I got the log:

2022-07-13 00:58:27 INFO (MainThread) [custom_components.hacs] <Integration elupus/hass_nibe> Running pre installation steps
2022-07-13 00:58:27 INFO (MainThread) [custom_components.hacs] <Integration elupus/hass_nibe> Pre installation steps completed
2022-07-13 00:58:27 INFO (MainThread) [custom_components.hacs] <Integration elupus/hass_nibe> Running installation steps
2022-07-13 00:58:29 INFO (MainThread) [custom_components.hacs] <Integration elupus/hass_nibe> Trying experimental download
2022-07-13 00:58:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [546952059280] Error handling message: Unknown error (unknown_error)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/config/custom_components/hacs/websocket/", line 212, in hacs_repository_download
    await repository.async_install()
  File "/config/custom_components/hacs/repositories/", line 833, in async_install
    await self.async_install_repository()
  File "/config/custom_components/hacs/repositories/", line 916, in async_install_repository
    await self.download_content()
  File "/config/custom_components/hacs/repositories/", line 572, in download_content
    await self.download_repository_zip()
  File "/config/custom_components/hacs/repositories/", line 626, in download_repository_zip
    zip_file.extractall(self.content.path.local, extractable)
  File "/usr/local/lib/python3.10/", line 1645, in extractall
    self._extract_member(zipinfo, path, pwd)
  File "/usr/local/lib/python3.10/", line 1693, in _extract_member
    if member.is_dir():
  File "/usr/local/lib/python3.10/", line 530, in is_dir
    return self.filename[-1] == '/'
IndexError: string index out of range

Could it be some problem fetching the zip-file for 1.5.1?

it was this - Trying experimental download

I had enabled " Enable experimental features" in the HACS config. after disabling it, the upgrade from manually installed 1.5.1 to hacs installed 1.5.1 worked fine…

interestingly enough it has worked up until now, so something has changed…