Homematic HmIP-BROLL bricked with openHAB 3.1

Problem

Since moving from openHAB 2.5 to 3.1 (new installation on new raspberry PI), sending commands to HMIP-BROLL actors leads to

  • communication errors and
  • a bricked HmIP-BROLL.

Steps to reproduce

  1. open openHAB 3.1 → Administration → Settings → Things
  2. select a Homematic HmIP-BROLL thing
  3. navigate to Shutter Virtual ReceiverLevel/4#LEVEL
  4. click on the associated item
  5. click on UP or STOP or DOWN (does not matter) on the homematic:HmIP-BROLL:ccu:xxx:4#LEVEL

Result

  • no shutter movement
  • HmIP-BROLL goes OFFLINE with message Thing 'homematic:HmIP-BROLL:ccu:xxx' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
  • after that, the HmIP-BROLL cannot be controlled via Homematic WebUI any more
  • since that was possible before, openHAB 3.1 bricked the actor

Log messages

2021-11-02 16:12:20.694 [DEBUG] [ternal.handler.HomematicThingHandler] - Received command 'DOWN' for channel 'homematic:HmIP-BROLL:ccu:xxx:4#LEVEL'
2021-11-02 16:12:20.695 [TRACE] [converter.type.AbstractTypeConverter] - Converting type UpDownType with value 'DOWN' using PercentTypeConverter to datapoint 'xxx:4#LEVEL' (dpType='FLOAT', dpUnit='100%')
2021-11-02 16:12:20.696 [TRACE] [converter.type.AbstractTypeConverter] - Converting type PercentType with value '100' using PercentTypeConverter to datapoint 'xxx:4#LEVEL' (dpType='FLOAT', dpUnit='100%')
2021-11-02 16:12:20.697 [DEBUG] [ommunicator.AbstractHomematicGateway] - Sending datapoint 'xxx:4#LEVEL' with value '0.0' to gateway with id 'ccu' using rxMode 'DEFAULT'
2021-11-02 16:12:20.698 [TRACE] [nal.communicator.client.XmlRpcClient] - Client XmlRpcRequest (port 2010):
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodCall><methodName>setValue</methodName>
<params><param><value>xxx:4</value></param><param><value>LEVEL</value></param><param><value><double>0.0</double></value></param></params></methodCall>
2021-11-02 16:12:21.216 [TRACE] [nal.communicator.client.XmlRpcClient] - Client XmlRpcResponse (port 2010):
<?xml version="1.0" encoding="ISO-8859-1"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i4>-1</i4></value></member><member><name>faultString</name><value>Generic error (TIMEOUT)</value></member></struct></value></fault></methodResponse>
2021-11-02 16:12:21.219 [TRACE] [nal.communicator.server.XmlRpcServer] - Server parsed XmlRpcMessage:
event()
HMIP-ccu
xxx:0
UNREACH
true
2021-11-02 16:12:21.221 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'true' for 'xxx:0#UNREACH' from gateway with id 'ccu'
2021-11-02 16:12:21.222 [DEBUG] [nal.communicator.client.XmlRpcClient] - XmlRpcMessage failed, sending message again 1/3
2021-11-02 16:12:21.231 [TRACE] [nal.communicator.server.XmlRpcServer] - Server XmlRpcResponse:
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse><params><param><value></value></param></params></methodResponse>
==> /var/log/openhab/events.log <==
2021-11-02 16:12:21.233 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'homematic:HmIP-BROLL:ccu:xxx' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
  • if the HmIP-BROLL actor is physically pressed, it goes from OFFLINE to ONLINE again
  • however, any attempt to control it via openHAB or even Homematic WebUI (!) causes another communication error, so it seems something went terribly wrong.

I’ve managed to restore HmIP-BROLL functionality one time through the following process:

  • WebUI
    • delete device
    • restart homematic CCU3
    • do a “deep reset” on the HmIP-BROLL
      • press LED-Button for 4 secs (LED flashes orange)
      • release
      • immediately press LED-Button again for 4 secs (LED green)
    • re-add HmIP-BROLL in WebUI
    • configure actor again

However, this only worked once for one actor. Since I believed it would work again, I’ve tried to analyze the issue further (i.e. try to log with openHAB 2.5).
Now the process does not work any more. I’ve also tried various processes even after disconnecting the actors from power, but now my 4 HmIP-BROLL actors are dead and replaced with older HM-LC-Bl1PBU-FM actors.

Observations

  • http://openhab:8080/settings/things/homematic:bridge:ccu → thing-properties: modelId: CCU2, (should be CCU3) → autodiscovery problem=
  • 30 Homematic devices (non-HmIP) work fine
  • HmIP-WGC works
  • configuration is via *.things file
  • CCU3 Software v3.59.6
  • HMIP-BROLL Firmware v1.8.20
  • openHAB 3.1