New binding - Rego 6xx based heat pumps

Seems to be working very well! Just updated to the new version and bound most of the channels to items.

In the log file, I can still see som registers that are not handled. Do you think it is possible to add them? Below is the list of unsupported registers:

Register:
2561
2565
2566
2567
2568
2569
2570
2571
2572
2573
2592
14
263

You have made a fantastic work!

If you are using the latest binding version (from yesterday), than the following should already work:

263  = 0x107 => controlData#radiatorReturnTarget
2561 = 0xA01 => deviceValues#compressor
2565 = 0xA05 => deviceValues#heatFluidPump
2566 = 0xA06 => deviceValues#radiatorPump
2567 = 0xA07 => deviceValues#threeWayValve
2592 = 0xA20 => deviceValues#alarm

Unsupported items:

14   = 0x00E => Air intake - Degrees
2568 = 0xA08 => Switch valve 2 - On/Off
2569 = 0xA09 => Fan - On/Off
2570 = 0xA0A => High Pressostat - On/Off
2571 = 0xA0B => Low Pressostat - On/Off	
2572 = 0xA0C => Heating cable - On/Off
2573 = 0xA0D => Crank shaft heater - On/Off

The reason that the above registers were not yet added is because no such values/registers exist for my rego 6xx and therefore Iā€™ll need to add new channels. Iā€™ll try to add them shortly.

Can you please confirm that using the latest version only the ones in the unsupported list are not being mapped?

Also, if you run the binding with log set to debug level for the ā€œorg.openhab.binding.regoheatpumpā€ package, are there any strange entries being logged? Can you please share the log so I can check if there is anything worth handling in the code? Specially when the binding is first started and the ā€œXRā€ command is invoked. Thanks!

There is some information about the channels here.

Hi!

You are right, I had collected the ā€œunsupported registersā€ during some time, and therefore your list is accurate and with the latest binding, some were fixed!

Iā€™m away on a business trip, but will give you a log asap. Regarding the XR command, I think my interface holds a potential problem, which lies in that it expects a ! sign before the actual command (from the second command sent since initialization). I will explain:

When an initalization is triggered the interface boots up.
If I type the command XR now - the registeres are shown.
From this point - all other commands must be prefixed with a ! sign (which does NOT reinit the interface)
If I would like to reinit the interface now, I must write !! (prefix ! and another ! for init).

I guess this is a bug and I must upgrade my interface before I can verify if this is a design intent or a problem with my version. Iā€™m waiting on a new version from the manufacturer.

So with that said - I think you can put the ā€œinit commandsā€ on hold.

Hi!

Sorry for the delay, Iā€™m back and have updated OH to RC as well as captured Husdata log during startup.

These are the log rows from the startup procedure:

2017-01-20 11:30:01.125 [DEBUG] [org.openhab.binding.regoheatpump    ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=binding.regoheatpump, component.id=16, service.id=124, service.bundleid=228, service.scope=bundle} - org.openhab.binding.regoheatpump
2017-01-20 11:30:01.126 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent STARTING - org.openhab.binding.regoheatpump
2017-01-20 11:30:01.127 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent STARTED - org.openhab.binding.regoheatpump
2017-01-20 11:30:01.143 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent [unknown:512] - org.openhab.binding.regoheatpump
2017-01-20 11:30:06.205 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rego.items'
2017-01-20 11:30:10.686 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Data listener started
2017-01-20 11:30:10.686 [INFO ] [.regoheatpump.handler.HusdataHandler] - Rego controller connected via 192.168.0.26:2001
2017-01-20 11:30:10.686 [DEBUG] [p.internal.protocol.IpRegoConnection] - Connecting to '192.168.0.26', port = 2001.
2017-01-20 11:30:10.811 [DEBUG] [p.internal.protocol.IpRegoConnection] - Connected to '192.168.0.26', port = 2001.
2017-01-20 11:30:10.811 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Requesting read and dump of real-time registers.
2017-01-20 11:30:12.754 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010199'
2017-01-20 11:30:12.754 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 409
2017-01-20 11:30:13.347 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0003017B'
2017-01-20 11:30:13.348 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 379
2017-01-20 11:30:13.951 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040195'
2017-01-20 11:30:13.951 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 405
2017-01-20 11:30:14.566 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050026'
2017-01-20 11:30:14.567 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 38
2017-01-20 11:30:15.176 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0006017B'
2017-01-20 11:30:15.177 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 6, value = 379
2017-01-20 11:30:18.189 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B02D1'
2017-01-20 11:30:18.189 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 721
2017-01-20 11:30:36.578 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0001019A'
2017-01-20 11:30:36.578 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 410
2017-01-20 11:30:37.244 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00030178'
2017-01-20 11:30:37.252 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 376
2017-01-20 11:30:37.764 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040187'
2017-01-20 11:30:37.764 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 391
2017-01-20 11:30:38.508 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0005002C'
2017-01-20 11:30:38.509 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 44
2017-01-20 11:30:38.979 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0006017A'
2017-01-20 11:30:38.980 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 6, value = 378
2017-01-20 11:30:41.984 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B02C6'
2017-01-20 11:30:41.984 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 710
2017-01-20 11:31:01.767 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010199'
2017-01-20 11:31:01.767 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 409
2017-01-20 11:31:02.344 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00030176'
2017-01-20 11:31:02.344 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 374
2017-01-20 11:31:02.953 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040180'
2017-01-20 11:31:02.953 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 384
2017-01-20 11:31:03.570 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050041'
2017-01-20 11:31:03.570 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 65
2017-01-20 11:31:06.575 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B02BC'
2017-01-20 11:31:06.575 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 700
2017-01-20 11:31:25.581 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010195'
2017-01-20 11:31:25.581 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 405
2017-01-20 11:31:26.155 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00030175'
2017-01-20 11:31:26.155 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 373
2017-01-20 11:31:26.768 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0004017C'
2017-01-20 11:31:26.768 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 380
2017-01-20 11:31:27.424 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050054'
2017-01-20 11:31:27.424 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 84
2017-01-20 11:31:30.431 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B02B2'
2017-01-20 11:31:30.431 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 690
2017-01-20 11:31:30.968 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000E003F'
2017-01-20 11:31:30.968 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 14, value = 63
2017-01-20 11:31:30.968 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Unsupported register 14.
2017-01-20 11:31:49.378 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010191'
2017-01-20 11:31:49.379 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 401
2017-01-20 11:31:50.579 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0004017A'
2017-01-20 11:31:50.579 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 378
2017-01-20 11:31:51.197 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0005005F'
2017-01-20 11:31:51.198 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 95
2017-01-20 11:31:54.201 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B02A3'
2017-01-20 11:31:54.201 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 675
2017-01-20 11:32:13.186 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0001018D'
2017-01-20 11:32:13.186 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 397
2017-01-20 11:32:13.808 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00030174'
2017-01-20 11:32:13.808 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 372
2017-01-20 11:32:14.381 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040179'
2017-01-20 11:32:14.382 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 377
2017-01-20 11:32:14.994 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050069'
2017-01-20 11:32:14.994 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 105
2017-01-20 11:32:16.184 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00070046'
2017-01-20 11:32:16.184 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 7, value = 70
2017-01-20 11:32:18.000 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B0294'
2017-01-20 11:32:18.000 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 660
2017-01-20 11:32:36.995 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0001018A'
2017-01-20 11:32:36.996 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 394
2017-01-20 11:32:38.798 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050071'
2017-01-20 11:32:38.798 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 113
2017-01-20 11:32:41.805 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00090216'
2017-01-20 11:32:41.805 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 9, value = 534
2017-01-20 11:32:41.878 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B0284'
2017-01-20 11:32:41.879 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 644
2017-01-20 11:32:42.547 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000E003E'
2017-01-20 11:32:42.547 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 14, value = 62
2017-01-20 11:32:42.548 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Unsupported register 14.
2017-01-20 11:33:02.193 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010187'
2017-01-20 11:33:02.193 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 391
2017-01-20 11:33:03.382 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040178'
2017-01-20 11:33:03.382 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 376
2017-01-20 11:33:03.995 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050079'
2017-01-20 11:33:03.996 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 121
2017-01-20 11:33:07.001 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B0277'
2017-01-20 11:33:07.001 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 631
2017-01-20 11:33:25.989 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010185'
2017-01-20 11:33:25.989 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 389
2017-01-20 11:33:27.803 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050081'
2017-01-20 11:33:27.804 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 129
2017-01-20 11:33:28.385 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00060179'
2017-01-20 11:33:28.385 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 6, value = 377
2017-01-20 11:33:31.391 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B026B'
2017-01-20 11:33:31.395 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 619
2017-01-20 11:33:31.402 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000E003F'
2017-01-20 11:33:31.402 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 14, value = 63
2017-01-20 11:33:31.402 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Unsupported register 14.
2017-01-20 11:33:49.782 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010183'
2017-01-20 11:33:49.783 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 387
2017-01-20 11:33:51.601 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00050088'
2017-01-20 11:33:51.601 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 136
2017-01-20 11:33:54.605 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00090215'
2017-01-20 11:33:54.605 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 9, value = 533
2017-01-20 11:33:54.608 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B025F'
2017-01-20 11:33:54.608 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 607
2017-01-20 11:34:13.618 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010181'
2017-01-20 11:34:13.618 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 385
2017-01-20 11:34:14.190 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00030173'
2017-01-20 11:34:14.190 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 371
2017-01-20 11:34:14.823 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00040176'
2017-01-20 11:34:14.824 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 374
2017-01-20 11:34:15.404 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0005008E'
2017-01-20 11:34:15.405 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = 142
2017-01-20 11:34:18.411 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B0256'
2017-01-20 11:34:18.411 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 11, value = 598

As said before, I donā€™t think that the ā€œRequest registersā€-call is working since it probably should be prefixed with a !-sign. However, that is not ā€œthe way to do itā€ as described in the interface documentation, which is the reason I think itā€™s best to wait until I have updated the interface to most recent version (waiting manufacturer here).

Can I provide you with anything else regarding this? The binding is however working really well. It has collected the supported registers for a while now! :slight_smile:

Hi!

Now I have upgraded the interface to the latest FW version. Attached is the startup logs from OH2.

2017-01-21 13:52:06.409 [DEBUG] [org.openhab.binding.regoheatpump    ] - ServiceEvent REGISTERED - {org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory}={component.name=binding.regoheatpump, component.id=16, service.id=124, service.bundleid=228, service.scope=bundle} - org.openhab.binding.regoheatpump
2017-01-21 13:52:06.409 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent STARTING - org.openhab.binding.regoheatpump
2017-01-21 13:52:06.409 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent STARTED - org.openhab.binding.regoheatpump
2017-01-21 13:52:06.440 [DEBUG] [org.openhab.binding.regoheatpump    ] - BundleEvent [unknown:512] - org.openhab.binding.regoheatpump
2017-01-21 13:52:11.844 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rego.items'
2017-01-21 13:52:17.153 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Data listener started
2017-01-21 13:52:17.153 [INFO ] [.regoheatpump.handler.HusdataHandler] - Rego controller connected via 192.168.0.26:2001
2017-01-21 13:52:17.153 [DEBUG] [p.internal.protocol.IpRegoConnection] - Connecting to '192.168.0.26', port = 2001.
2017-01-21 13:52:17.325 [DEBUG] [p.internal.protocol.IpRegoConnection] - Connected to '192.168.0.26', port = 2001.
2017-01-21 13:52:17.325 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Requesting read and dump of real-time registers.
2017-01-21 13:52:17.340 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR'
2017-01-21 13:52:17.340 [WARN ] [.regoheatpump.handler.HusdataHandler] - Unexpected length for 'XR'
2017-01-21 13:52:17.809 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00010188'
2017-01-21 13:52:17.809 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 1, value = 392
2017-01-21 13:52:18.036 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000301CF'
2017-01-21 13:52:18.036 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 3, value = 463
2017-01-21 13:52:18.144 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0004020E'
2017-01-21 13:52:18.144 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 4, value = 526
2017-01-21 13:52:18.300 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0005FFB6'
2017-01-21 13:52:18.300 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 5, value = -74
2017-01-21 13:52:18.472 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000601E3'
2017-01-21 13:52:18.472 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 6, value = 483
2017-01-21 13:52:18.644 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR00070015'
2017-01-21 13:52:18.644 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 7, value = 21
2017-01-21 13:52:18.847 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR0008FDF7'
2017-01-21 13:52:18.847 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 8, value = -521
2017-01-21 13:52:19.012 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000901FE'
2017-01-21 13:52:19.012 [DEBUG] [.regoheatpump.handler.HusdataHandler] - dataType = 0, register = 9, value = 510
2017-01-21 13:52:19.171 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR000B032D'

It seems the interface still requires a ! sign before the command. Maybe I should contact the guy making the interface and ask about this. It does not feel right that you should implement the binding in a way that is not according to the manualā€¦

Do you think that you will have the possibility to implement the registers that is not yet supported? No stress :wink:

Best regads!

Thanks for provided logs. Seems like the binding is working as expected, the only difference between the old and latest firmware is the following entry within the logs:

...
2017-01-21 13:52:17.340 [DEBUG] [.regoheatpump.handler.HusdataHandler] - Got 'XR'
...

Based on the provided document, seems you are right and the ā€œ!ā€ should not be needed in order to issue ā€œXRā€ command. Also, ā€œXRā€ is not expected to be send back by the interface. Or did this change with the latest Husdata firmware?

I plan to add the missing registers/channels + some code refactoring and than merge Husdata binding changes with the existing Rego 6xx binding pull request so both will be merged into official OH addons2 repo. However, it might take a week or two in order to do so since Iā€™ll be on a business trip next week.

Sounds perfect!

No - there has not been any change in the case regarding ! sign. It should not be sent with commands (since it is there to ā€œre-initializeā€ the interface). I have also checked with the manufacturer and he had not heard about this problem before. There shouldnā€™t be a need to send codes with !-prefix. Leave it be then :wink:

The latest binding jar can be downloaded from here. It includes some of the missing channels, below is the full list:

001 Radiator Return 			sensorValues#radiatorReturn
002 Radiator Forward  			sensorValues#radiatorForward
003 Heat carrier Return			sensorValues#heatFluidIn
004 Heat carrier Forward		sensorValues#heatFluidOut
005 Brine In / Evaporator		sensorValues#coldFluidIn
006 Brine Out / Condenser		sensorValues#coldFluidOut
007 Outdoor						sensorValues#outdoor
008 Indoor						sensorValues#indoor
009 Hot water 1 / Top			sensorValues#hotWater
00A Hot water 2 / Mid 			sensorValues#externalHotWater
00B Hot gas / Compressor		sensorValues#compressor
00E Air intake					sensorValues#airIntake
011 Pool						sensorValues#pool

104 Add heat status				controlData#addHeatPower
107 Heating setpoint			controlData#radiatorReturnTarget
108 Compressor speed			controlData#compressorSpeed

203 Room temp setpoint			settings#indoorTempSetting
204 Room sensor influence		settings#curveInflByInTemp
205 Heat set 1, CurveL			settings#heatCurve
206 Heat set 2, CurveR			settings#heatCurve2

A01 Compressor					deviceValues#compressor
A04 Pump Cold circuit			deviceValues#coldFluidPump
A05 Pump Heat circuit			deviceValues#heatFluidPump
A06 Pump Radiator				deviceValues#radiatorPump
A07 Switch valve 1				deviceValues#switchValve
A08 Switch valve 2				deviceValues#switchValve2
A09 Fan							deviceValues#fan
A0A High Pressostat				deviceValues#highPressostat
A0B Low Pressostat				deviceValues#lowPressostat
A0C Heating cable				deviceValues#heatingCable
A0D Crank case heater			deviceValues#crankCaseHeater
A20 Alarm						deviceValues#alarm

FF1 EL-Meter 1					deviceValues#elMeter1
FF2 EL-Meter 2					deviceValues#elMeter2

@scurb - AFAIK all channels provided by your heat pump (Husdata interface) should be supported now.

The binding also includes a major code re-write to conform to the OH guidelines. Please give it a spin and let me know if there are any issues. Otherwise, Iā€™ll merge this with my Rego6xx only branch and update the pull request.

As a note - if there are any channel mappings you feel strange about, please let me know, the mappings were done solely using my judgement and might not be done the best possible way.

Great work @crnjan! Iā€™ll give it a try!

Pull request now contains support for the Husdata interface as well. The latest binding jar can be found here, there are only some cosmetic updates compared with previous latest version - so please give it a spin and let me know of any issues. Iā€™m already using this one in my deployment.

Great Work!
For several years I have manually noted the values of ā€œRunning timeā€ and ā€œRunning time with additional powerā€ for my heat pump! Can these values be red out of any register?

Hi!

I know what you mean :slight_smile: I guess those values could be read, but havenā€™t found their address yet - please note there is no official documentation available that I would be aware of.

That said, one could use other registers, i.e:

and than calculate ā€œin useā€ values from those. Itā€™s not ideal, but should provide enough information.

List of available channels can be found here.

1 Like

Hi

I have an ESP8266 WIFI Heatpump Monitor https://shop.openenergymonitor.com/esp8266-wifi-heatpump-monitor/
up and running with temperature probes and logging to emonCMS.

I have a greenstore heatpump with a Rego 600 control unit and i would love to link this up too.

There is a serial input on the heatpump monitor (with GND, TX, RX terminals). My plan is to connect this to the serial connections on the heat pump and then capture values using the below into OpenHabā€¦

Have managed to setup my openhab config ok (i think!). I have the binding installed ok and its appearing as a ā€˜thingā€™ in openhab config.

Any ideas on how i integrate the above? I beleive inside the heat pump monitor is an ESP826 module so it shouldnā€™t be too different to what you have already done. Iā€™ve tried using the IP address of my heat pump monitor, but think i also need the port number of the serial connection.

Pete

Hi!

First let me say that Iā€™m in no way familiar with the heatpump monitor described above. However, if the serial interface on the monitor is coming directly from the ATmega 328, which is using the TTL (5v) serial communication, than you should be able to directly connect the the Rego 600 (which is also using TTL). After that, a transparent bridge between wifi/serial is needed in order for the rego binding to work - so please refer to the provided docs on how to achieve that with your monitor. After that, you need to configure the openhab rego binding (easiest through the Paper UI).

Good luck :slight_smile:

Thanks @crnjan I think itā€™s the bridge between wifi/serial that Iā€™m missing. Thereā€™s already a bridge between wifi and the other inputs (the temp probs and electricity CT monitor) so this canā€™t be too difficult - famous last words :wink:

Will report back if i get somewhere!

Pete

Hi

Hi @crnjan Couldā€™t quite get the heatpump monitor working, so am trying a different routeā€¦

Iā€™ve moved my Pi3 running OpenHab to my heat pump room and am going to try the GPIO port route. I know the Pi3 uses 3v and the pump 5v so Iā€™m using a two way logic converter, quite a neat bit of kit i think for a couple of euros!

TXS0108E

So iā€™ve rigged this up to the PI using a prototype breadboard by connecting it up to two GPIO pins for TX and RX, +3v, +5v and GRD.

And then connected the TX, RX, GND, +5v of a serial cable to the appropriate pins on my board.

Plugged the serial into the heat pump, it did seem to recognise the cable, as the digital display on the heat pump came up with a version number, then went back to itā€™s normal menu display (bit scary!)

But I canā€™t see any data! Is there a particular port I should be using in the binding setup within Openhab?

When using the Pi3 GPIO ports in other areas, I needed to set them to Input or Output using Python. Wonder if i need to do that here too somewhere? Or does your binding do that already?

Iā€™m thinking i should just run a simple Python script to open the two GPIO pins and run some tests to/from the pump. Perhaps thats the best way to check things are working and data is getting through.

Hi!

Yes, I know the feeling - I too was scarred and in doubts if I really want to go through this and connect my board to the heat pump controller :slight_smile: And to be honest, I donā€™t remember that version was displayed on the heat pump when I plugged it inā€¦

Can you share the wiring diagram? There is no special port needed, any serial port should work, just configure it through the Paper UI when setting rego thing up.
EDIT: going through your question again, I see what you meant - in order to use the rpiā€™s GPIO serial port, you need to configure this on the OS level, something similar to this and than enter ā€œ/dev/ttyS0ā€ (or whatever port you configured) when setting up the rego thing within Paper UI. Makes sense?

I would strongly suggest to turn log level to debug for regoheatpump binding:

log:set DEBUG org.openhab.binding.regoheatpump

and please share the logs.

As a final note - if you look at my diagram above, have you noticed that Tx coming from rego controller is inverted?

Side note - from yesterday, the rego binding is also available on the marketplace, I did a clean OH2 install yesterday evening and works without any problems!

Thanks for that, Iā€™ll setup the logging when i get home. I did notice in the logs that it was trying to connectā€¦ as i was getting an change event to INNITIALIZING but it failed I thinkā€¦

As I say, Iā€™ll get the logs as soon as i can

Sorry, not sure what you mean by TX being inverted? Iā€™ve got pretty basic electronic skills Iā€™m afraid :wink:

Hi!

It means that the wiring is done such a way, that when rego controller sets Tx to logical 0, the Rx on the receiver side (rpiā€™s in your case) will be set to logical 1 and vice-versa. I guess this is how rego controller is communicating to the outer world. And please note this is not the case for the rego Rx - this one should not be inverted.

REGO                          RPi
   Rx < ------------------- Tx
   Tx ---- (inverted) --- > Rx

For your specific case, the ā€œkitā€ you are using is not inverting signals so when rego controller sets Tx to 0, you will have 0 on the rpiā€™s Rx as well (instead of 1).

Iā€™d say there is no harm to test with the setup you have and lets see from the logs if my assumptions are correct.

I would suggest:

  1. make sure the rpiā€™s serial port is set correctly on the OS level - i.e. /dev/ttyS0,
  2. correct serial port is set within the rego 6xx serial thing
  3. logging level is set to debug
  4. share the logs :slight_smile: