NIBE SMO20 Home Assistant changed to MODBUS

Formely, with Home Assistant and with my NIBE SMO20+F2120 i used the NIBEUPLINK construction as described in GitHub - elupus/hass_nibe: Home Assistant Nibe Uplink Integration. This created an home assistant new integration named “Nibe Uplink Heat Pumps” , and with an identifier and Secret code from there was a good connection with HA.

Last week (nov23), there was an update for the NIBE SMO20, a nice upgrade for the SMO20 to MODBUS and myUplink apps. The NIBEUPLINK communication was stopped. (apps still working, but no communication with the SMO20 anymore) The myUplink apps are working fine.

So now, i would like Home Assistant to work with the (new) modbus interface of my SMO20. In home Assistant there is the “Standard” NIBE integration: “Nibe Heat Pump” with modbus interface, so i thought this should work with my updated SMO20.
However, it still tells me: “Pick the connection method to your pump. In general, F-series pumps require a NibeGW custom accessory, while an S-series pump has Modbus support built-in.” But now the updated SMO20 has a MODBUS communication, so it should work? For now i choose Nibe Heat pump .
HA NIBE integration 2 types
Lucky, the SMO20 is available in the list; I assume the tcp setting is the way to go (I use the SMO20 on fixed IP), but what is the “Modbus apparaat identificatie” (can be left at 0)? When I use 0, the result is: “Onverwachte fout” unexpected error. When I go to the SMO20, there is the MYUPLINK 4.13.1 setting, it gives a myuplink “verbindingslijn” working for 1 hour.
I tried this code for the indentification, but now I get the response: “Niet alle verplichte velden zijn ingevuld” Meaning the (highlighted) Modbus identification is not correct.

So is the identification not OK, what do I have to fill in for the Identification?

Additional the Home Assistant menu for the NIBE integration to fill in.
HA NIBE integration no MODBUS contact

This shows the nibe SMO20 myUplink code setting: but this is not the modbus identification, I assume?
SMO20 myUplink settings menu 4.13.1

Hello. did you get this to work. I am considering whether to update. Sincerely, Martin

Just updated my system to the new cloud app.
Updated both the VVM500 and F2120 as per instructions on the nibe website.
Still using the official nibe integration with nibeGW as the modbus gateway.
All working fine before and after the update.

@iagm can you tell me where you see that you have modbus build-in in the nibe system?

Hello Frank. (and Martin)

In the old situation with the SMO20 and the F2120 there was the NIBE-Uplink communication and app. To communicate with Home Assistant i used the GitHub - elupus/hass_nibe: Home Assistant Nibe Uplink Integration construction; this builds a new Integration in H.A. named: “Nibe Uplink Heat Pumps”. This worked fine, even without using a NibeGW Gateway.
Now I updated my SMO20 to the latest software: SMO20 to MODBUS and myUplink apps. myuplink apps delivers much more logging data of the Heat pump; very nice.
However: The Nibe-Uplink platform is still working, but is not connected anymore to the SMO20 due to the update.
My problem is the integration towards Home assistant. I cannot find the correct settings to connect H.A. to the SMO20 with MODBUS. I tried all kind of settings, but did not realize the H.A. connection.
So i had it working with Nieb-Uplink software, but cannot connect to the new myUplink platform…


Maybe you have 2 things mixed up.

The hass integration gets it data from the cloud (that is the old nibe app)
With the new nibe update the old cloud access gets replaced by the newer one.
So when you update or SMO20 the old access the the cloud gets removed,
The hacs integration talks to this “old” cloud access API, and thus stop working.

The official home assistant integration gets is data over modbus using a gateway (a official modbus 40 gateway or the raspberry pi/Arduino with esphome or nibeGW)
The connection is already present in the heatpump and just needs a “converter” to get is to talk modbus.

I use the official integration with an Arduino with nibeGW running to talk to HA over modbus TCP.

using the following port numbers:

          "listening_port": 10090,
          "remote_read_port": 10091,
          "remote_write_port": 10092,

Had to change the port number from default because of overlap with ubiquiti/unifi devices.

So the conclusion is you need either Modbus 40 or Arduino with nibeGW if you are planning on updating to myuplink?

@frank8the9tank, I’m interested to read your solution because I would like to connect my SMO40 to HA using Modbus. I have a pi zero W with a RS485 HAT that I understand connects to the SMO40 board. However there are several boards in the SMO40 and I have no idea where the connections are.
Are you able to help me understand where I would find the connections, or how they would be identified?
Thank you for your help.

@papasierra ,
Your Rpi is a replacement for the official Modbus40 of Nibe.

So follow this manual for the connection,
I see no SMO40 in there, but i presume the connection is the same, as many of the internal PCB of Nibe units are the same/similar.

@frank8the9tank Thanks very much for the tip. I’ve found another very similar looking manual with the SMO 40 instruction included. Onward!!

you can use this integration:

I’m also interested in how you connect smo 40 to home assistant, specially what hardware you use and if there’s a guide or similar you follow

Has anyone succeeded in connecting to the Nibe SMO20 locally via tcp, i.e. without using NibeUplink or MyUplink?

Are we sure that this information that SMO20 supports MODBUS now is even true? I checked the release notes for the new firmware, and they do not mention enabling MODBUS.

we might be all just wasting our time in here.