New binding - Rego 6xx based heat pumps

Hi, @crnjan

This might be discussed earlier but any plans on making some of those channels writable? I’m mostly thinking about target temperatures. Idea is to write a rule to fine tune the heating according to weather forecasts.

/Miika

Hi!

Yes, I was thinking about adding write support as well, but unfortunately due lack of time was not able to materialize it yet, and since I’m expecting my second child in next couple of weeks, I guess I’ll be occupied with other stuff for some time…

I will share updated when I can, so please stay tuned :wink:

Cheers!

1 Like

Good to hear that you have this planned already!

Hi, I have a H50 (an H1 + RPi preconfigured) up and running. I haven’t used ser2net before, any info on how to set it up on the RPi to be able to use the binding with IP-connection?

I never used ser2net personally, I believe Patrik (@scurb) had set it up so he might share some insight on the subject…

There is already a lot of information contained within this thread, but not well organised and spread :confused:

That said, I would suggest if users that are using this binding are willing to share their setups (wiring, components, …) so this can be added to binding’s readme - this way we can help new users with verified setups… Wdyt?

1 Like

Seems that I have missed your post @CirruZZ. Sorry for that. I do have ser2net running in rpi2 where my heat pump is connected to gpio pins tx/rx/gnd/3.3v with two optocouplers. Heres how it’s wired http://rago600.sourceforge.net/generic_com.gif. Right now I have all the components on a breadboard as “prototype” but as soon as I find the time I’ll do some soldering and put it in a box.

Here’s a guide to set up ser2net Share Z-wave dongle over IP (USB over IP using ser2net / socat ) guide (Don’t mind about the socat part)

1 Like

Hi, great work on that binding. I had created a very basic OH 1 binding for the Rego 6xx some time ago based on the same source of information but it was never good enough to be published :frowning:

After test driving your binding against my Rego637 in an IVT heatpump through the Serial interface, I realised that two values that are quite useful in home automation are missing, and I suggest adding them:
Run time in hours for radiator heating (0x048 / 72 dec)
Run time in hours for hot water heating (0x04A / 74 dec) -> Not tested on mine as I don’t use it.
Both fields return Ints.
Let me know if you have any questions, not good enough a programmer to help extend the binding, but happy to share information that I have and help with the testing.
Cheers,
Chris

Hi!

Glad you found it useful. Adding additional channels should be easy, can you please let me know which parameters you are referring to?

I checked the IVT manual, but only found:

  • Heat pump in operat. number of hours (7.1) and
  • Add. heat in operat. number of hours (7.3)

Link to manual - http://www.ivt.ee/pdf/Manual_Greenline_HTPlus_1.4_en.pdf

Hi,
yes, I can confirm that 0x048 for me shows the identical value than 7.1 in the menu.
I would assume from what is shown in the manual, that 0x04A should be 7.3. I have disabled the additional heater in my heatpump, so 7.3 shows 0 for me, so I may not be the best tester for that value.
Chris

Thanks for the info; our family grew by one so I’m having difficulties finding spare time to experiment with the values and addresses :slight_smile:.

I will try to add the new channels ASAP and provide a test jar, but cannot promise when this will take place.

As a side note, (@gitMiguel ) a couple of weeks ago I also experimented with write commands and created a modified (test) binding, where I was able to change the desired hot water temperature - link to git. Again, it might take some time to make it to a pull request :wink:.

Thanks and congratulations :slight_smile: For sure you have other priorities now and nights sleep is reduced dramatically. Just keep me posted. Happy to help on testing both changes.

Thanks for the heads up @crnjan.

As a matter of fact I’m following your github repo so I saw your new implementations. As soon as it’s ready for testing let me know. I’m happy to help.

Hi All

Been a while since I’ve been on here…but just to say that my implementation has been ticking away nicely since my last post - very reliable! Have all the data coming into Grafana too, so that’s looking really great.

I’m now trying to look at the efficiency of my heat pump, and i was wondering if there was a way to use the data coming out of this binding to help?

I’m trying to calculate the CoP (Coefficient of Performance). The documentation for my heat pump says it should be between 3-5. However, everything i read about this always ends up in ‘it depends on a lot of factors’. I’d like to monitor it over time to find out how good mine is, and try some things out to improve it.

Any help/thoughts appreciated.

Pete

I also plan to calculate the COP of my Rego600 based heat pump. The only way I could think to do it was to actually measure the heat output and electricity input directly.
Electric is easy, either use a clamp on meter or do it roughly based on power consumption whilst compressor is running. If you use additional heat this should be monitored so that their power consumption is deducted for the COP calculation.

The heat measurement is a little more complicated but I have bought an end of line heat meter from
ebay (UF50 MID Heat Meter Energy Meter with Modbus)

It has an RS485 data connection and am waiting for the USB interface I ordered to connect up to the RPI based OH setup. Will let you know how I get on (might be a few more week)

1 Like

I thought i might need a Heat Meter - shame, but will keep an eye out for cheap ones. Shame that the Rego doesn’t provide this figure, probably one of the most useful :wink:

I bought this one

Can’t get the MODBUS interface going yet but that might be my adaptor not working, I could always read it manually but that might be close to heresy on this forum.

Also found this interesting paper that gives a goal for your CoP, shows expected performance in the UK.

I have the Modbus connection working now, bit tricky getting the addressing right but the most fundamental issue was that the heat meter needed a supply and my assumption at this was provided by the RS485 interface board VCC/GND connections was sadly misplaced. Temporary fix was a PP3 batter across the terminals and communications were established.

I´m a fan of textual configuration. I have managed to configure it via PaperUI but when I´m trying to do it via the text config I run into problem.

Any one who can show an example? Below is what I´w tested

rego.things

Thing regoheatpump:ipHusdata:ivtIP [ address="10.0.1.6", tcpPort="6000" ]

rego.items

Number vpGT1 "Radiator Return (GT1) [%.1f ]" <temperature> (gVP) { channel="regoheatpump:ipHusdata:ivtIP:sensorValues#radiatorReturn" }

Hi!
I have been using this binding in Openhab 2.2 but lately it stopped working.
I updated Openhab to 2.3 today and deleted, then added binding and thing + items.

I use Husdata interface. But I only see the following errors in the openhab log. Any idea how to solve this? :

2018-11-17 18:15:48.981 [WARN ] [.regoheatpump.handler.HusdataHandler] - Processing request failed

java.io.IOException: Underlying input stream returned zero bytes

at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:288) ~[?:?]

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:?]

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:?]

at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:?]

at java.io.BufferedReader.fill(BufferedReader.java:161) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:324) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:?]

at org.openhab.binding.regoheatpump.handler.HusdataHandler.handleDataFromHusdataInterface(HusdataHandler.java:112) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

2018-11-17 18:15:50.601 [WARN ] [.regoheatpump.handler.HusdataHandler] - Processing request failed

java.io.IOException: Underlying input stream returned zero bytes

at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:288) ~[?:?]

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:?]

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:?]

at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:?]

at java.io.BufferedReader.fill(BufferedReader.java:161) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:324) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:?]

at org.openhab.binding.regoheatpump.handler.HusdataHandler.handleDataFromHusdataInterface(HusdataHandler.java:112) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

2018-11-17 18:15:52.220 [WARN ] [.regoheatpump.handler.HusdataHandler] - Processing request failed

java.io.IOException: Underlying input stream returned zero bytes

at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:288) ~[?:?]

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) ~[?:?]

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) ~[?:?]

at java.io.InputStreamReader.read(InputStreamReader.java:184) ~[?:?]

at java.io.BufferedReader.fill(BufferedReader.java:161) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:324) ~[?:?]

at java.io.BufferedReader.readLine(BufferedReader.java:389) ~[?:?]

at org.openhab.binding.regoheatpump.handler.HusdataHandler.handleDataFromHusdataInterface(HusdataHandler.java:112) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]