openhab-addons: [homematic] Heating groups broken after upgrade from 3.1 to 3.2

Expected Behavior

Heating groups (HM-CC-VG1) devices should just work, especially for SET_TEMPERATURE. For this it’s required that the things for these virtual devices are online.

Current Behavior

Currently all HM-CC-VG-1 (INT0000*) things are offline with OH 3.2.0-1.

In events.log I see messages like:

Thing 'homematic:HM-CC-VG-1:ccu:INT0000008' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
Thing 'homematic:HM-CC-VG-1:ccu:INT0000008' changed from INITIALIZING to OFFLINE (CONFIGURATION_ERROR): Device with address 'INT0000008' not found on gateway 'ccu'

In openhab.log on startup I see warnings (linebreaks manually added) like:

[WARN ] [ommunicator.AbstractHomematicGateway]
Can't load device with address 'INT0000008' from gateway 'ccu':
java.util.concurrent.ExecutionException: java.io.EOFException: 
HttpConnectionOverHTTP@236f05f4::SocketChannelEndPoint@573bc467
{l=/192.168.42.2:41458,r=homematic.sail.spinnaker.de/192.168.42.28:9292,ISHUT,
 fill=-,flush=-,to=0/0}
{io=0/0,kio=0,kro=1}->HttpConnectionOverHTTP@236f05f4(l:/192.168.42.2:41458 <-> 
r:homematic.sail.spinnaker.de/192.168.42.28:9292,closed=false)=>
HttpChannelOverHTTP@17c70d83(exchange=HttpExchange@334d439e
{req=HttpRequest[POST /groups HTTP/1.1]@6856a0a6[TERMINATED/null] 
res=HttpResponse[null 0 null]@61c74937[PENDING/null]})
[send=HttpSenderOverHTTP@4e43eb99(req=QUEUED,snd=COMPLETED,failure=null)
[HttpGenerator@174b107c{s=START}],recv=HttpReceiverOverHTTP@4ac5c1a3
(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]

Possible Solution

The problem occurred on upgrade from 3.1.1 to 3.2.0. As a workaround downgrading OpenHAB (including the homematic binding) to 3.1.1 solves the problem for me.

Steps to Reproduce (for Bugs)

I run OH 3.2.0-1 with text file configuration. The homematic bridge and things are configured as

Bridge homematic:bridge:ccu [ gatewayAddress="homematic.sail.spinnaker.de", callbackHost="192.168.42.2" , callbackRegTimeout=180, timeout=30 ]
{
    Thing HM-RCV-50            BidCoS-RF     "CCU2"
    Thing GATEWAY-EXTRAS-CCU   GWE00000000   "GATEWAY-EXTRAS"
    Thing HM-CC-VG-1           INT0000008    "HeizungRolandVirt"
...
}

I defined items as

Switch Gr_Roland_Mode_Comfort   {channel="homematic:HM-CC-VG-1:ccu:INT0000008:1#COMFORT_MODE"}
Switch Gr_Roland_Mode_Lower     {channel="homematic:HM-CC-VG-1:ccu:INT0000008:1#LOWERING_MODE"}
Switch Gr_Roland_Mode_Boost     {channel="homematic:HM-CC-VG-1:ccu:INT0000008:1#BOOST_MODE"}
Switch Gr_Roland_Mode_Auto      {channel="homematic:HM-CC-VG-1:ccu:INT0000008:1#AUTO_MODE"}
Number Gr_Roland_SollTemp  "Soll-Temperatur Roland [%.1f °C]" <temperature> (All, OG_Roland, RRD, gT_Roland) {channel="homematic:HM-CC-VG-1:ccu:INT0000008:1#SET_TEMPERATURE"}

With this I observe the above mentioned errors and in the Main UI the heating group things show up as “OFFLINE”.

Context

If you use heating groups (combining HM-TC-IT-WM-W-EU and HM-CC-RT-DN), you have to send all updates to the group (HM-CC-VG1), since the group overwrites changes, that are sent directly to HM-TC-IT-WM-W-EU or HM-CC-RT-DN. This means, that this issue breaks all changes.

I reported the problem at https://community.openhab.org/t/homematic-hm-cc-vg-1-heating-groups-broken-in-oh-3-2/131296 before and there seems to be at least one other user affected by the same problem. I generated a debug log, which is available at https://www.spinnaker.de/tmp/homematic.log

Your Environment

  • Version used: OpenHAB 3.2.0-1 as amd64 Debian package
  • Java from Azul Zulu 11.0.13-1
  • Debian 11.2 on a normal PC.
  • Homematic with a CCU2 2.57.5 with 47 devices/things (incl. 7 HM-CC-VG-1).
  • Operating System and version (desktop or mobile, Windows 10, Raspbian Buster, …):

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Comments: 20 (7 by maintainers)

Most upvoted comments

Thanks for your support. Will need some time to analyze the logs, but it really seems that there maybe are too many parallel requests for the CCU. The problem seems to be either caused by the newer Jetty version or a modification in the send method. Because I never heard of any problems with a CCU3 it seems that the CCU3 can handle these requests better.