sky201503 / openhab

Automatically exported from code.google.com/p/openhab
GNU General Public License v3.0
0 stars 0 forks source link

Nibe heat pump binding #259

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Review request for Nibe heat pump binding

Clone repo: http://code.google.com/r/paulianttila-ihc-binding/

Original issue reported on code.google.com by pauli.an...@gmail.com on 27 Apr 2013 at 2:57

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Nice to hear "Nibe Heatpump-Binding". Sad to see (yet) no documentation. How is 
the physical connection set up? I saw COM-Port - so is this simple 
MODBUS-Adapter or something else?

Thanks,
Sascha

Original comment by honkton...@gmail.com on 29 Apr 2013 at 6:27

GoogleCodeExporter commented 8 years ago
Nibe sell extremely expensive modbus adapter to access data via RS-485 bus. 
Those who owns nibe modbus adapter, could use openhab modbus binding to get 
data and control heat pump directly.

This binding is developed to get live data from from Nibe heat pumps without 
modbus adapter and it should be compatible at least F1145 and F1245 heat pump 
models.
 
Protocol between heat pump and modbus adapter (MODBUS-40) is not published, so 
protocol is reversed engineered from RS-485 bus. Protocol itself should support 
bi directional communication, but because I don't have nibe modbus adapter, I 
can't log data from rs-485 bus to see how modbus adapter handle two way 
communication. Currently binding can only receive data from heat pump.

When modbus adapter is enabled from heat pump UI, heat pump will send telegram 
ones every now and then. Telegram contains max 20 registers. Unfortunately Nibe 
has made this tricky, telegram from heat pump should be acknowledged, otherwise 
pump will raise an alarm and go in alarm state :( Acknowledge should be sent 
accurately. Because serial port handling is pretty nasty on Java, it's almost 
impossible to get acknowledge transmission to be bulletproof.

I have resolved this issue by simple C program which can be run on unix/linux 
e.g raspberry pie. This application read telegram from serial port, send ack to 
pump and relay untouched telegram to openhab via UDP packet. C code is 
available on my repo as well. Nibe heat pump binding will listening UDP port 
and parse register data from telegram.

Binding is developed so that different communication channels can be easily 
added. UDP is now implemented and serial port handling stub is already 
introduced. So if someone have time and is able to solve ack problem directly 
from java, it should be easy to add direct communication via serial port or TCP 
via TCP/serial port gateway. Personally I still want to use udp or tcp, because 
my openhab is runnning far a way from my heat pump, so direct serial port 
communication is not an option for me.

Original comment by pauli.an...@gmail.com on 29 Apr 2013 at 2:50

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi Pauli, could you give us a short update on the current state of this 
binding? What is about Swegon-Binding?

Original comment by teichsta on 6 Aug 2013 at 6:55

GoogleCodeExporter commented 8 years ago
Nibe heat pump Binding is ready. But I have not had time to install environment 
fully (raspberry pie and cable connection to heat pump), so I have tested 
binding, but it's run just hours not days or even months yet.

About the Swegon ventilation system binding; most wanted data is available 
(temperatures, fan speeds, pre/reheat states, etc). Swegon provide lot of 
information on the telegrams, but because protocol is reverse engineered as 
well and data format is structured to binary data, it's pretty time consuming 
to figure out information out the data. Swegon binding is also run just hours.

Original comment by pauli.an...@gmail.com on 7 Aug 2013 at 9:08

GoogleCodeExporter commented 8 years ago

Original comment by teichsta on 13 Aug 2013 at 3:55

GoogleCodeExporter commented 8 years ago
Merged into default (see 
http://code.google.com/p/openhab/source/detail?r=53e0cd4482abb52abe748dae4ce21c5
48fe22c06). I renamed some variables and inner classes for better understanding.

I'll leave this issue open until the wiki page is ready (see 
http://code.google.com/p/openhab/wiki/NibeHeatPumpBinding)

Original comment by teichsta on 1 Sep 2013 at 3:05

GoogleCodeExporter commented 8 years ago
Thanks Pali for creating the Wiki-page

Original comment by teichsta on 6 Sep 2013 at 7:57

GoogleCodeExporter commented 8 years ago
nibegw (main.c) code was not up to date on my repo.

New version can be found: 
http://code.google.com/r/paulianttila-ihc-binding/source/detail?r=906ab33245832a
a3ff59fa91077f37f3bb34b1cd

Original comment by pauli.an...@gmail.com on 6 Sep 2013 at 8:18

GoogleCodeExporter commented 8 years ago
Transplanted into default (see 
http://code.google.com/p/openhab/source/detail?r=11c73b60abf6ca2553873c6058629fe
cf28637cf) . Thanks Pali

Original comment by teichsta on 8 Sep 2013 at 10:47

GoogleCodeExporter commented 8 years ago
Hi
Is anyone useing this binding? I tried it out now on a raspberry pi 2, and the 
communication seems to be working when looking at the raspberry, but the 
heatpump goes into alarm mode. Any ideas what could be wrong?

Original comment by joar.bru...@outlook.com on 10 Feb 2015 at 6:45