NibeGW, Nibe Heat Pump binding, Nibe F730


does anyone know if nibegw (mentioned in Nibe Heatpump - Bindings | openHAB) should work with a Nibe F730? Also, should the binding work with it? Only the F750 is mentioned.

I got a RS485 USB adapter connect to a Raspberry Pi and connected that to my F730. Unfortunately, there seem to be a lot of checksum errors and the Nibe goes into Alarm 251 right away.

Any idea? I just updated by Nibe F730 to try to fix this checksum issue. Unfortunately, that didn’t change anything. I still get those checksum errors.

Would really like to get that NibeGW to work :slight_smile:

NibeGW doesn’t receive all the bytes from the serial port, which cause checksum errors. New frame start with 5C byte. Long frame which have checksum error should have 80 bytes of data. After 80 bytes of data is received, NibeGW calculate the checksum which does not match the checksum byte of the received frame. Data seems to contain other short frames (e.g. 5C 00 20 6B 00 4B) included to the data, which indicates that some bytes was not received.

What could that be caused by? Not the correct cabling? I am not using a resistor. Might have to find some better cabling (shielded CAT cable might be still around somewhere). I don’t (yet) have resistors yet, though.

Or could there be some other issue that causes this?

I had the same problem with F470.

Turned out that the pump was sending “too much” info which caused some buffer (in the RS485 adapter or in the driver? Dunno.) to fill up. When nibegw read from the serial port, it didn’t get the full message (which probably causes those solo chars in your screenshot right after long message) and determined that the checksum is wrong.

I modified the pump message to contain only 1 coil by using ModbusManager which shortened the message enough and I don’t get checksum errors anymore.

Have to check what is the limit and is it enough for my usage or should nibegw be modified to better handle a situation where message is split between serial port reads.

What does that mean exactly? Haven’t used ModbusManager before (maybe that’s an issue as well, maybe my Nibe doesn’t send any “relevant” data yet?).

I just installed it and added a few variables to my selection, saved the file to LOG.SET and opened that file. I don’t see anything where I could set “the pump message to contain only 1 coil”:

Divisors		1	1	1	10
Date	Time	SG Ready hot water	SG Ready heating	Hot water comfort mode	BT1 Outdoor Temperature [°C]

Hello, is there a wiring diagram somewhere how to connect e.g. an arduino and RS485 adapter to my Nibe 1245?

You can find instructions from Nibe modbus 40 manual. Just A and B are related to rs-485 communication, but be aware that not all manufacturers follow the rs-485 standard. Meaning A and B labeling could be wrong or different, especially in cheap Arduino rs-485 shields.

I do not quite understand the add-on documentataion: is a Nibe Modbus 40 unit needed to get the add-on working or is the Arduino code replacing the Nibe Modbus 40 unit?

Very first sentence in the Nibe binding page is following

The Nibe Heatpump binding is used to get live data from Nibe heat pumps without using an expensive MODBUS40 adapter.

Arduino code and the Nibe binding try to mimic the Modbus 40 unit, so yes, Arduino will replace the Modbus 40 unit. From Modbus 40 manual, you can find the information how to connect the Arduino rs485 adapter to heat pump (A and B lines).


Did you find any solution to this problem? I’m struggling with the same on a Nibe F1255 and raspberry pi with rs485 HAT.

After 3 days of intensive googling and sleepless nights, found a solution here: How to connect to Nibe heat pump without the cloud - #102 by Arganox - Community Guides - Home Assistant Community

“The issue is related to running the serial port in canonical vs non-canonical mode.”

I replaced the text in the initSerialPort (line 95-134) section of nibegw.c with the text from that post, recompiled and started to work right away. Might be worth mentioning on github aswell @pauli_anttila . And kiitos paljon for your contribution Pauli!