NIBE Uplink API component (non S-series)

Still have the problem with unavailable sensors after update.
I updated Nibe uplink integration (3aaad46), remova and again add Nibe integration (Configuration -> Integrations) sucesfully added Identifier and Secrets and save, but now there is no entities:
image

My configuration.yaml is:

nibe:
  systems:
    - system: 37950

Also try version without last line - same result…

In my log, there is:

2020-04-02 07:01:21 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up nibe platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 179, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/config/custom_components/nibe/sensor.py", line 107, in async_setup_entry
    sensors = await async_load(hass, uplink)
  File "/config/custom_components/nibe/sensor.py", line 97, in async_load
    await load_categories(system.system_id, unit[CONF_UNIT])
  File "/config/custom_components/nibe/sensor.py", line 76, in load_categories
    await asyncio.gather(*tasks)
  File "/config/custom_components/nibe/sensor.py", line 51, in load_parameter_group
    object_id="{}_{}_{}".format(DOMAIN_NIBE, system_id, object_id),
TypeError: async_create_group() got an unexpected keyword argument 'control'

There is no call to async_create_group() in the revision you mention. So you have not managed to update the component.

Finally help me to uninstall and install Nibe uplink integrations (via HA Comunitty store).

Thanks!

A few years back I’ve spoken with the API development team at Nibe with regards to setting smarthome mode. They have explained that in the current implementation keeping the system in Vacation or Away modes would require periodic commands to the API every 45 minutes, otherwise the system would set back to Default operation. Can anyone confirm if this is still true? Do we have to run nibe.set_smarthome_mode periodically?

You can log in and check that your self easy here: https://api.nibeuplink.com/

I would like to block my compressor based on a temperature sensor (buffer > 40 degreesC), is there a function for that or could I use away or vacation mode for that? And how do I perform a simple write command to the nibe system in HA?

Edit: I think I found it under services, I will try to set the mode with a nodered flow…lets see if it works.

I just tried setting up a node-red flow which turns on vacation mode based on temperature sensors so I can block the compressor if my buffer is still hot (my pipes cool down which is causing unnecessary start/stops) and I seem to get something you explain here (curve is supply temperature, where 23 is my minimum). :
Imgur

@elupus Is there also a direct way to block the compressor or how could I make this periodic?

You need to call the service nibe.set_smarthome_mode periodic for now. I should probably add some type of entity for it.

Ok, I managed to solve that through setting up a periodic poll-state in node-red. I’ve set the minimum flow temperature to a low value (15) which only gets enabled through vacation mode (temp -21), so now my degree-minutes wont count down when the buffer is above 30 degrees. I dont block it when the compressor is already running (heating up beyond 30). Here is the code if someone has a similar issue. [{"id":"80663d69.e80e6","type":"tab","label":"Nibe","disabled":false,"info":""},{"id":"814c9bde.b28e28","type":"api-call-service","z":"80663d69.e80e6","name":"block compressor","server":"c5159c1e.fc6a5","version":1,"debugenabled":false,"service_domain":"nibe","service":"set_smarthome_mode","entityId":"","data":"{\"system\":\"85568\",\"mode\":\"VACATION\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":850,"y":320,"wires":[[]]},{"id":"44ba552e.08277c","type":"api-call-service","z":"80663d69.e80e6","name":"normal operation","server":"c5159c1e.fc6a5","version":1,"debugenabled":false,"service_domain":"nibe","service":"set_smarthome_mode","entityId":"","data":"{\"system\":\"85568\",\"mode\":\"DEFAULT_OPERATION\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":850,"y":400,"wires":[[]]},{"id":"ab16d86b.aba988","type":"poll-state","z":"80663d69.e80e6","name":"Compressor RPM","server":"c5159c1e.fc6a5","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"30","updateIntervalUnits":"minutes","outputinitially":true,"outputonchanged":false,"entity_id":"sensor.nibe_85568_41002","state_type":"num","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":130,"y":320,"wires":[["19e900e0.43396f"]]},{"id":"bac43897.e528c8","type":"poll-state","z":"80663d69.e80e6","name":"Buffer temperature","server":"c5159c1e.fc6a5","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"updateinterval":"30","updateIntervalUnits":"minutes","outputinitially":true,"outputonchanged":false,"entity_id":"sensor.nibe_85568_40152","state_type":"num","halt_if":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"x":130,"y":400,"wires":[["19e900e0.43396f"]]},{"id":"19e900e0.43396f","type":"join","z":"80663d69.e80e6","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":330,"y":360,"wires":[["b215bc60.7107a"]]},{"id":"b215bc60.7107a","type":"function","z":"80663d69.e80e6","name":"Test","func":"if (msg.payload['sensor.nibe_85568_41002'] === 0 && msg.payload['sensor.nibe_85568_40152'] > 30 ) {\n msg.payload = \"BLOCK\";\n} else {\n msg.payload = \"ON\";\n}\nreturn msg;","outputs":1,"noerr":0,"x":490,"y":360,"wires":[["863279dc.fbd578"]]},{"id":"863279dc.fbd578","type":"switch","z":"80663d69.e80e6","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"BLOCK","vt":"str"},{"t":"eq","v":"ON","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":360,"wires":[["814c9bde.b28e28"],["44ba552e.08277c"]]},{"id":"c5159c1e.fc6a5","type":"server","z":"","name":"Home Assistant","addon":true}]

Is there a way to detect if ‘passive cooling’ is on?

Tried the NIBE uplink API component in my HA installation. Turns out that Nibe changed integration in all their new system (S-series). S-series use dev.myuplink.com instead api.nibeuplink.com and the API is updated as well. Any one looked into this or used any other integration to interface the new API?

/Martin

Maybe submit as an issue to @elupus via the GitHub repo GitHub - elupus/hass_nibe: Home Assistant Nibe Uplink Integration ?

I think it would make more sense as a separate project. Also without me having such a pump, I would not be able to develop that.

@elupus is it possible to get this component to report back to nibe the temp from a termometer in HA (a xiaomi for example)?

Yes, see the smart termostat stuff in config. You add a termostat that uses another sensor as it’s current temperature source.

2 Likes

How have i missed that!! Thanks!!

Hi.
Great work on this component.
I just had a SMO 20 with F2120 installed last week, and had with success added my Netatmo thermostats via Home Assistant.
How important is the valve position? I was wondering if the Nibe Smart Home can use that information. I would find it very useful, if I made heat pumps.
Also, how do i change the valve position in HA?

I have no clue if they even use it. I suppose they could use it to adjust output temperature…ie allow high output temp for a cold room, even if one room is hot (and valve closed). But I don’t even know what is open and closed.

To adjust it in ha you can hook up a input_number in ha and point it to that entity.

Indeed, is there any possibility to check the status of the current mode: heating or passive cooling activated?

hello guys, sorry for a noob question but i could not find a SystemID, can anyone tell me where is it?
thank you all