Problem with Homematic HM-DIS-WM55

Hello,
I have implemented the following example in my system.

Items:

String EG_GA_WM55_LINE1 “Display line 1” {channel=“homematic:HM-Dis-WM55:3014F711A0001F9A49942C3A:REQ0910616:1#DISPLAY_LINE_1”}
Switch EG_GA_WM55_BOTTOM “Button” { channel=“homematic:HM-Dis-WM55:3014F711A0001F9A49942C3A:REQ0910616:1#PRESS_SHORT” }
Switch EG_GA_WM55_DISPLAYSUBMIT “Display submit” {channel=“homematic:HM-Dis-WM55:3014F711A0001F9A49942C3A:REQ0910616:1#DISPLAY_SUBMIT”}

Rule:

rule “Display Test”
when
Item EG_GA_WM55_BOTTOM received update ON
then
EG_GA_WM55_LINE1.sendCommand(“Line 1”)
EG_GA_WM55_DISPLAYSUBMIT.sendCommand(ON)
end

If I now execute the rule I get the following error message back:

2020-10-25 16:31:12.323 [ERROR] [ternal.handler.HomematicThingHandler] - -1 Failure (sending <?xml version="1.0" encoding="ISO-8859-1"?>

<methodCall><methodName>setValue</methodName>

<params><param><value>REQ0910616:1</value></param><param><value>SUBMIT</value></param><param><value>0x02,0x12,0x4c,0x69,0x6e,0x65,0x20,0x31,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x03</value></param></params></methodCall>)

org.openhab.binding.homematic.internal.communicator.client.UnknownRpcFailureException: -1 Failure (sending <?xml version="1.0" encoding="ISO-8859-1"?>

<methodCall><methodName>setValue</methodName>

<params><param><value>REQ0910616:1</value></param><param><value>SUBMIT</value></param><param><value>0x02,0x12,0x4c,0x69,0x6e,0x65,0x20,0x31,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x12,0x20,0x11,0x80,0x0a,0x03</value></param></params></methodCall>)

	at org.openhab.binding.homematic.internal.communicator.parser.RpcResponseParser.parse(RpcResponseParser.java:47) ~[bundleFile:?]

Homematic Binding: HmIP-CCU3 (Firmware: 3.53.30)

Can anyone help me with this ?

Hi Dietmar,

Line 1 and Line 5 can’t be changed this way. They can only be changed via thing configuration.

Unfortunately t,he binding creates channels for lines 1 and 5 but you can’t use them this way.

Hi Martin,

i have change my code to line 2 and i have the same problem. Have you are example for me ?

Hi Dietmar,

the device is really a bit special.
Here is an example that I am using.

DISPLAY_LINE_1 is in fact the second line on the display.

Items:

String HM_Flur_Dis_L1 "Display Line 1" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_1"}
String HM_Flur_Dis_L2 "Display Line 2" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_2"}
String HM_Flur_Dis_L3 "Display Line 3" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_3"}
String HM_Flur_Dis_Ico1 "Display Icon 1" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_ICON_1"}
String HM_Flur_Dis_Ico2 "Display Icon 2" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_ICON_2"}
String HM_Flur_Dis_Ico3 "Display Icon 3" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_ICON_3"}
String HM_Flur_Dis_Sub "Submit" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_SUBMIT"}
String HM_Flur_Dis_Led "Led" (Flur) {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LED"}

This is an excerpt of my rule:

rule "Info-Anzeige"
when
...
then
   val temp = String::format("T %s°", HM_Balkon_Temp.state)
   sendCommand(HM_Flur_Dis_L1, temp)
   if (HM_Balkon_Temp.state < 0) 
   {
      sendCommand(HM_Flur_Dis_Ico1, "ERROR")
   }
   else
   {
      sendCommand(HM_Flur_Dis_Ico1, "OK")
   }
   var fensterStatus = ""
   var fensterIcon = "OK";
   var led = "OFF";
...
   sendCommand(HM_Flur_Dis_Ico2, fensterIcon)
   sendCommand(HM_Flur_Dis_L2, fensterStatus)
   sendCommand(HM_Flur_Dis_L3, String::format("%s", HM_HeizArt.state))
   sendCommand(HM_Flur_Dis_Ico3, "ON")
   sendCommand(HM_Flur_Dis_Led, led) 
   sendCommand(HM_Flur_Dis_Sub, ON)
end

Hi Martin,

thanks for this information. I have the HM-DIS-WM55 and this display have 6 line for Output and the HM-DIS-EP-WM55 has only 3 lines.

If I change the lines and set the state DISPLAY_SUBMIT from ON, then the error is thrown in the openhab. If I change the lines in another rule and then send the SUBMIT state (e.g. pressing the button on the display), then it works.

Sorry, I mixed up the two devices. Generally it should work exactly the same with the DIS-WM55. They share the same coding and I remember that the code was originally tested with a DSI-WM55 and then I tested it with EP device and added some necessary checks.

The biggest problem is that the command codes that are sent to the device are not doccumented and it reacts very sensitively if the command string is not absolutely correct.

I do get the same error. Using OpenHAB 3.0.1 Did you find your problem?