[SOLVED] Homematic: Not able to send text to HM-Dis-EP-WM55 with a rule

I’m not able to send text with a rule to the homematic status display HM-Dis-EP-WM55. Sending text directly with the Paper UI thing configuration works fine. Consuming the display button events in a rule also works.

I took the information form this thread to create a simple rule and item configuration:

rule “Garage status”
when
Item EG_Wohnzimmer_Stehlampe changed
then
sendCommand(DisplayLine1, “GARAGE CLOSED”)
sendCommand(DisplaySubmit, ON )
end

The item configuration:

String DisplayLine1 “Line 1” { channel=“homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:1#DISPLAY_LINE_1” }
Switch DisplaySubmit “Submit” { channel=“homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:1#DISPLAY_SUBMIT” }

With this I’m getting the following openhab log but nothing changes on the status display:

2019-01-30 19:55:15.324 [vent.ItemStateChangedEvent] - EG_Wohnzimmer_Stehlampe changed from ON to OFF
2019-01-30 19:55:15.356 [ome.event.ItemCommandEvent] - Item ‘DisplayLine1’ received command GARAGE ZU
2019-01-30 19:55:15.378 [ome.event.ItemCommandEvent] - Item ‘DisplaySubmit’ received command ON

I took the channel identification from the openhab log entry that I get when the status display button event occurs.

I already enabled trace logging for the homematic binding as mentioned in the Homematic binding documentation but didn’t got more information out of this. Also the homegear log doesn’t show anything related to the display device.

Any suggestions how I can debug the problem?

Hi Marco,

the rule and your item definitions seem to be correct. I have got the same device and have compared your definitions with mine. The only difference is that I always set all three lines. You could try to set the 3 lines.
The device is a bit “sensitive”. If the message sent to it is not correct it complains with an error. This error would be visible in the log file.
Or maybe its a problem with Homegear. I am using a Raspi with Raspberrymatic and this works without any problems.

Hi Martin,
Thanks for your suggestion. I tried to set all 3 lines but it didn’t change anything. Also I tried to send all 3 lines and all 3 icons.

The openhab log looks still good:

2019-01-31 21:27:36.563 [vent.ChannelTriggeredEvent] - homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:2#PRESS triggered SHORT
2019-01-31 21:27:36.597 [vent.ItemStateChangedEvent] - DisplayButton changed from OFF to ON
2019-01-31 21:27:36.611 [ome.event.ItemCommandEvent] - Item ‘DisplayLine1’ received command GARAGE ZU 1
2019-01-31 21:27:36.630 [ome.event.ItemCommandEvent] - Item ‘DisplayLine2’ received command GARAGE ZU 2
2019-01-31 21:27:36.645 [ome.event.ItemCommandEvent] - Item ‘DisplayLine3’ received command GARAGE ZU 3
2019-01-31 21:27:36.663 [ome.event.ItemCommandEvent] - Item ‘DisplayIcon1’ received command ON
2019-01-31 21:27:36.674 [ome.event.ItemCommandEvent] - Item ‘DisplayIcon2’ received command ON
2019-01-31 21:27:36.685 [ome.event.ItemCommandEvent] - Item ‘DisplayIcon3’ received command ON
2019-01-31 21:27:36.696 [ome.event.ItemCommandEvent] - Item ‘DisplaySubmit’ received command ON
2019-01-31 21:27:38.551 [vent.ItemStateChangedEvent] - DisplayButton changed from ON to OFF

Nothing is received on the display and the homegear log still doesn’t show anything related to the device.
I’m using homegear on openhabian on a raspi.

To me this looks like a problem in Homegear. If the device does not understand the command, you normally get an error message in the log.

I analyzed the problem further with Homegear Manager. With this tool I can send text to the device to the individual channels.

For example when using Homegear Manager and I’m sending TEXTLINE_1 and TEXTLINE_2 for the MASTER parameterset on channel 1 the lower two lines of the device are updated. The homegear log is showing the following output:

02/12/19 20:45:14.804 RPC Server (Port 2001): Info: Client number 593 is calling RPC method: putParamset (1) Parameters:
(String) PEQ0177958:1
(String) MASTER
(Struct length=2)
{
[TEXTLINE_1]
{
(String) 1-TXT-1
}
[TEXTLINE_2]
{
(String) 1-TXT-2
}
}

I tried to map the paramters to my openhab item definitions like this:

String LineLowerAbove “Lower Text above line” { channel=“homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:1#TEXTLINE_1” }
String LineLowerBelow “Lower Text below line” { channel=“homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:1#TEXTLINE_2” }
Switch Submit “Submit” { channel=“homematic:HG-HM-Dis-EP-WM55:25573ee2:PEQ0177958:1#SUBMIT” }

if I use the item defintions above in my rule still nothing is sent to homegear.

I have to say I don’t completly understand what I’m doing in the openhab item definitions. Do I have to refer to the MASTER parameterset? Why does this thread mention a parameter DISPLAY_LINE1 (not TEXTLINE_1) ?

I am sorry, but I don’t know Homegear at all. But it seems that this device is handled different in Homegear.
OH uses the datapoint names that are provided by the device itself and the names are DISPLAY_LINE1, DISPLAY_LINE2 and DISPLAY_LINE3.
E.g. these are my item definitions

String HM_Flur_Dis_L1 "Display Line 1" {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_1"}
String HM_Flur_Dis_L2 "Display Line 2" {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_2"}
String HM_Flur_Dis_L3 "Display Line 3" {channel="homematic:HM-Dis-EP-WM55:3014F711A0001F58A992F7F2:NEQ1596559:3#DISPLAY_LINE_3"}

Do you have an idea, @gerrieg ?

@MHerbst
Thanks very much. With your help I found the problem. I used channel 1 and 2, not channel 3. Now with channel 3 Openhab is sending text and icons to homegear.

Unfortunately the communcation with the device is very unstable. Most of the time I get the following error in Openhab:

2019-02-19 22:03:49.006 [ERROR] [ematic.handler.HomematicThingHandler] - -100 No answer from device. (sending setValue()

It looks like a homegear issue, as I get similar error when I use Homegear Manager directly.

This device is a bit “special” and the communication with it is a bit strange …

I gave up with sending update commands to the HM-Dis-EP-WM55 from within an openhab rule. It just didn’t work with my setup.

What worked for me is sending the update commands with homegear PHP scripts. I created an openhab rule that calls a PHP script depending on the status change of the sensor which I want to display.

UpdateDisplay.php:

#!/usr/bin/env php
<?php

$hg = new \Homegear\Homegear();
$hg->putParamset(4, 1, "MASTER", Array("TEXTLINE_1" => "GARAGE OPEN", "TEXTLINE_2" => ""));

openhab rule:

rule "Garage door status"
when	
    Item Garagentor changed
then
   if(Garagentor.state == ON) {
      UpdateDisplayCloseScript.sendCommand(ON)
   } else {
      UpdateDisplayScript.sendCommand(ON)
   }
end