Homematic CCU3 doesn't send data for HM-SCI-3-FM

Tags: #<Tag:0x00007f61722e2a68> #<Tag:0x00007f61722e28b0>

Hi all, I am using Openhab 2 for eight months now. My CCU3 w/ a couple of gateways and about 50 devices is connected to Openhab 2.5.1 on Debian Linux (x64). Currently I want to use a Homematic HM-SCI-3-FM contact interface to read the status of an oil furnace. I paired the device with the CCU3 and I can see the correct status of the three contacts on the CCU Web UI. However, there are no related events in openhab’s events.log when the contacts are switched.

Installation of a “dummy program” on the CCU3 did not help.

Any ideas out there how to diagnose the problem ?

Thanks for any input - Martin

What does the openhab.log tell you?

Nothing related to the HM-SCI-3-FM. The only entry is this

2020-02-18 20:50:28.714 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing ‘homematic:HM-SCI-3-FM:1896057d:QEQ0013219’ to inbox.

Later on I find in the events.log:

2020-02-18 20:57:35.057 [.ItemChannelLinkAddedEvent] - Link ‘Heizung_Status_BV-homematic:HM-SCI-3-FM:1896057d:QEQ0013219:0#LOWBAT’ has been added.
2020-02-18 20:57:35.058 [.ItemChannelLinkAddedEvent] - Link ‘Heizung_Status_SS-homematic:HM-SCI-3-FM:1896057d:QEQ0013219:0#SIGNAL_STRENGTH’ has been added.

and these:

2020-02-18 21:11:08.189 [.ItemChannelLinkAddedEvent] - Link ‘Heizung_Status_ON-homematic:HM-SCI-3-FM:1896057d:QEQ0013219:1#STATE’ has been added.
2020-02-18 21:11:08.190 [.ItemChannelLinkAddedEvent] - Link ‘Heizung_Status_OK-homematic:HM-SCI-3-FM:1896057d:QEQ0013219:2#STATE’ has been added.
2020-02-18 21:11:08.190 [.ItemChannelLinkAddedEvent] - Link ‘Heizung_Status_ERR-homematic:HM-SCI-3-FM:1896057d:QEQ0013219:3#STATE’ has been added.

That was it …

When restarting openhab I find the following lines in events.log:

2020-02-19 15:25:18.438 [vent.ItemStateChangedEvent] - Heizung_Status_BV changed from NULL to OFF
2020-02-19 15:25:18.585 [vent.ItemStateChangedEvent] - Heizung_Status_ON changed from NULL to OFF
2020-02-19 15:25:18.603 [vent.ItemStateChangedEvent] - Heizung_Status_OK changed from NULL to OFF
2020-02-19 15:25:19.339 [vent.ItemStateChangedEvent] - Heizung_Status_ERR changed from NULL to OFF
2020-02-19 15:25:19.648 [vent.ItemStateChangedEvent] - Heizung_Status_SS changed from NULL to 4.0

No more messages can be found afterwards, even when the status of the switches has changed …

Please enable the TRACE for the Homematic binding, restart openHAB and then change the switch states. Then we should be able to see whether the binding receives any messages from the CCU

I’ll hook up a second openhab instance on an RPI and check.

Thinking about a second instance did not help, of course.

But anyway, I managed to set Homematic to DEBUG and located then the following

2020-02-20 16:22:36.687 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#STATE' from gateway with id '1896057d'
2020-02-20 16:22:36.687 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#LOWBAT' from gateway with id '1896057d'
...
2020-02-20 16:22:37.781 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'true' for 'QEQ0013219:1#STATE' from gateway with id '1896057d'
2020-02-20 16:22:38.375 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#LOWBAT' from gateway with id '1896057d'
...
2020-02-20 16:22:40.779 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#LOWBAT' from gateway with id '1896057d'
2020-02-20 16:22:41.279 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#STATE' from gateway with id '1896057d'
...
2020-02-20 16:22:42.375 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'true' for 'QEQ0013219:1#STATE' from gateway with id '1896057d'
2020-02-20 16:22:42.378 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#LOWBAT' from gateway with id '1896057d'
...

So this means that openhab receives the messages, right ? The events file, however, does not have any events from this device.

I double checked my items file. It says:

Switch Heizung_Status_ON
    "Hzg Brenner ein [%s]"
    <switch>
    (gHeizung_Status)
    {channel="homematic:HM-SCI-3-FM:1896057d:QEQ0013219:1#STATE"}

I don’t see any mistakes here …

Any idea, where to look next ?

Thanks - Martin

The item definition looks OK.

Can you check the definition of the channel STATE in Paper UI. What type is displayed? Maybe the Homematic binding derived a wrong type.

e.g., for a window contact the type is “Contact”
image

You could also try to change to log mode to TRACE. This will give even more information.

Thanks for your assistance.

I guess that looks okay:

Here are two events with traces:

2020-02-20 23:01:06.086 [TRACE] [nal.communicator.server.XmlRpcServer] - Server parsed XmlRpcMessage:
system.multicall()
[
	{
		methodName=event
		params=
		[
			RF-1896057d
			QEQ0013219:2
			STATE
			false
		]
	}
]

2020-02-20 23:01:06.086 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:2#STATE' from gateway with id '1896057d'
2020-02-20 23:01:06.087 [TRACE] [converter.type.AbstractTypeConverter] - Converting datapoint 'QEQ0013219:2#STATE' (dpType='BOOL', dpUnit='null', dpValue='false') with OpenClosedTypeConverter
2020-02-20 23:01:06.087 [TRACE] [nal.communicator.server.XmlRpcServer] - Server XmlRpcResponse:
<?xml version="1.0" encoding="ISO-8859-1"?>
<methodResponse><params><param><value><array><data><value>event</value></data></array></value></param></params></methodResponse>
2020-02-20 23:01:06.089 [TRACE] [nal.communicator.server.XmlRpcServer] - Server parsed XmlRpcMessage:
system.multicall()
[
	{
		methodName=event
		params=
		[
			RF-1896057d
			QEQ0013219:2
			LOWBAT
			false
		]
	}
]

2020-02-20 23:01:06.089 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:2#LOWBAT' from gateway with id '1896057d'

and

2020-02-20 23:02:06.591 [TRACE] [nal.communicator.server.XmlRpcServer] - Server parsed XmlRpcMessage:
system.multicall()
[
	{
		methodName=event
		params=
		[
			RF-1896057d
			QEQ0013219:1
			STATE
			false
		]
	}
	{
		methodName=event
		params=
		[
			RF-1896057d
			QEQ0013219:1
			LOWBAT
			false
		]
	}
]

2020-02-20 23:02:06.591 [DEBUG] [ommunicator.AbstractHomematicGateway] - Received new (Boolean) value 'false' for 'QEQ0013219:1#STATE' from gateway with id '1896057d'
2020-02-20 23:02:06.591 [TRACE] [converter.type.AbstractTypeConverter] - Converting datapoint 'QEQ0013219:1#STATE' (dpType='BOOL', dpUnit='null', dpValue='false') with OpenClosedTypeConverter

Anything unusual here ?

You didn’t set the logging correctly, and you reported essentially none of the log messages.

<Plonk>

Thanks for your response.

I did

log:set DEBUG org.openhab.binding.homematic

in the console and searched for the serial number QEQ0013219 in the log. What log messages are you referring to ?

I have probably found it. According to the logs the binding uses a OpenClosedTypeConverter. This means the channel is defined as Contact and not as Switch. Please modify your item definition and change “Switch” to “Contact”.

You can normally see the correct type in Paper UI.

You are right. I did not realise that contacts and switches are treated that differently in OH. Thank you for your help - Martin