EZMotion Express Wireless 3-in-1 Sensor temperature and luminance not updated and Z-Wave Network issues

  • Platform information:
    • Hardware: RPI2

    • OS: Raspbian buster

    • Java Runtime Environment: OpenJDK Runtime Environment (build 1.8.0_212-8u212-b01-1+rpi1-b01)

    • openHAB version: 2.5.1 (via apt repositories)

  • Issue of the topic:

I try for several weeks to add EZmotion device to openhab but I do not receive updates of temperature and luminance and on habmin Z-Wave Network Viewer My 2 EZmotion devices (24 and 28) seams to not communicate with controler (1)

image

On thing configuration, the Association group field is empty.

image

When I choose Controller from drop down list, save the configuration after changing of thing, the Association group field is emptied.

When I make the change, I have the following on debug log:

openhab> log:set DEBUG org.openhab.binding.zwave                                                                                                                               
openhab> log:tail org.openhab.binding.zwave
10:33:57.723 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 28: Configuration update received                                                                         
10:33:57.744 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 28: Configuration update set group_1 to [controller] (ArrayList)                                          
10:33:57.754 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 28: Association 1 consolidated to [controller]                                                            
10:33:57.766 [DEBUG] [nding.zwave.handler.ZWaveThingHandler] - NODE 28: Unknown association group 1

I tried several times to exclude/include the device to the network and pushing the include/awake button on the device several time before and during the changes without success.

I just notice on debug logs that node 28 send updates to the network but they are not received by the thing:

2020-01-17 10:34:10.405 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 09 00 04 00 1C 03 80 03 64 0A 
2020-01-17 10:34:10.416 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 03 80 03 64 
2020-01-17 10:34:10.421 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 03 80 03 64 
2020-01-17 10:34:10.424 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null
2020-01-17 10:34:10.427 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Application Command Request (ALIVE:UPDATE_DATABASE)
2020-01-17 10:34:10.430 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Incoming command class COMMAND_CLASS_BATTERY, endpoint 0
2020-01-17 10:34:10.433 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: SECURITY not supported
2020-01-17 10:34:10.435 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 28: Received COMMAND_CLASS_BATTERY V1 BATTERY_REPORT
2020-01-17 10:34:10.438 [DEBUG] [ommandclass.ZWaveBatteryCommandClass] - NODE 28: Battery report value = 100
2020-01-17 10:34:10.442 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveCommandClassValueEvent
2020-01-17 10:34:10.443 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0B 00 04 00 1C 05 31 05 03 01 05 DA 
2020-01-17 10:34:10.445 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_BATTERY, value=100
2020-01-17 10:34:10.450 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Updating channel state zwave:device:c71311cd:node28:battery-level to 100 [DecimalType]
2020-01-17 10:34:10.462 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Commands processed 1.
2020-01-17 10:34:10.465 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@edc2c6.
2020-01-17 10:34:10.469 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.475 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.477 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 05 31 05 03 01 05 
2020-01-17 10:34:10.478 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-01-17 10:34:10.481 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-01-17 10:34:10.485 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0C 00 04 00 1C 06 31 05 01 2A 02 A8 58 
2020-01-17 10:34:10.485 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 05 31 05 03 01 05 
2020-01-17 10:34:10.488 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null
2020-01-17 10:34:10.490 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Application Command Request (ALIVE:UPDATE_DATABASE)
2020-01-17 10:34:10.492 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Incoming command class COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
2020-01-17 10:34:10.492 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 06 31 05 01 2A 02 A8 
2020-01-17 10:34:10.494 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: SECURITY not supported
2020-01-17 10:34:10.496 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 28: Received COMMAND_CLASS_SENSOR_MULTILEVEL V5 SENSOR_MULTILEVEL_REPORT
2020-01-17 10:34:10.497 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 28: Sensor Type = Luminance(3), Scale = 0
2020-01-17 10:34:10.499 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 28: Sensor Value = 5
2020-01-17 10:34:10.501 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
2020-01-17 10:34:10.503 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_SENSOR_MULTILEVEL, value=5
2020-01-17 10:34:10.505 [DEBUG] [erter.ZWaveMultiLevelSensorConverter] - NODE 28: No sensorType set for channel zwave:device:c71311cd:node28:alarm_motion
2020-01-17 10:34:10.507 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Commands processed 1.
2020-01-17 10:34:10.509 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@f763e0.
2020-01-17 10:34:10.510 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.512 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.515 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 06 31 05 01 2A 02 A8
2020-01-17 10:34:10.516 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null
2020-01-17 10:34:10.518 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Application Command Request (ALIVE:UPDATE_DATABASE)
2020-01-17 10:34:10.521 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 08 00 04 00 1C 02 84 07 6E 
2020-01-17 10:34:10.526 [DEBUG] [nal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 02 84 07 
2020-01-17 10:34:10.538 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Incoming command class COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
2020-01-17 10:34:10.540 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: SECURITY not supported
2020-01-17 10:34:10.547 [DEBUG] [tocol.commandclass.ZWaveCommandClass] - NODE 28: Received COMMAND_CLASS_SENSOR_MULTILEVEL V5 SENSOR_MULTILEVEL_REPORT
2020-01-17 10:34:10.550 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 28: Sensor Type = Temperature(1), Scale = 1
2020-01-17 10:34:10.555 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 28: Sensor Value = 68
2020-01-17 10:34:10.558 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
2020-01-17 10:34:10.564 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got a value event from Z-Wave network, endpoint=0, command class=COMMAND_CLASS_SENSOR_MULTILEVEL, value=68
2020-01-17 10:34:10.567 [DEBUG] [erter.ZWaveMultiLevelSensorConverter] - NODE 28: No sensorType set for channel zwave:device:c71311cd:node28:alarm_motion
2020-01-17 10:34:10.571 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Commands processed 1.
2020-01-17 10:34:10.574 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@401e9.
2020-01-17 10:34:10.577 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.579 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.583 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=ApplicationCommandHandler[4], type=Request[0], dest=28, callback=0, payload=00 1C 02 84 07 
2020-01-17 10:34:10.586 [DEBUG] [nal.protocol.ZWaveTransactionManager] - lastTransaction null
2020-01-17 10:34:10.589 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Application Command Request (ALIVE:UPDATE_DATABASE)
2020-01-17 10:34:10.592 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Is awake with 0 messages in the queue
2020-01-17 10:34:10.594 [DEBUG] [ng.zwave.internal.protocol.ZWaveNode] - NODE 28: Start sleep timer at 5000ms
2020-01-17 10:34:10.596 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 28: Got an event from Z-Wave network: ZWaveNodeStatusEvent
2020-01-17 10:34:10.633 [DEBUG] [ve.internal.protocol.ZWaveController] - NODE 28: Node Status event - Node is AWAKE
2020-01-17 10:34:10.636 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Commands processed 1.
2020-01-17 10:34:10.639 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 28: Checking command org.openhab.binding.zwave.internal.protocol.ZWaveCommandClassPayload@1d0c83c.
2020-01-17 10:34:10.641 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.644 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction completed - outstandingTransactions 0
2020-01-17 10:34:10.646 [DEBUG] [nal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-01-17 10:34:10.649 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

Updates seams to be sent to alarm_motion channel insted of temp/luminance ones.

  • Please post configurations (if applicable):
    • Items configuration related to the issue
    openhab> smarthome:things show zwave:device:c71311cd:node28
    UID: zwave:device:c71311cd:node28
    Type: zwave:homeseer_ezmotionexpress_00_000
    Label: Hallway Z-Wave Node 028: EZMotion Express Wireless 3-in-1 Sensor
    Status: ONLINE: Node initialising: UPDATE_DATABASE
    Bridge: zwave:serial_zstick:c71311cd

    Properties:
            zwave_class_basic : BASIC_TYPE_ROUTING_SLAVE
            zwave_class_generic : GENERIC_TYPE_SENSOR_BINARY
            commandClass:COMMAND_CLASS_NODE_NAMING:2 : ccRemove
            commandClass:COMMAND_CLASS_NODE_NAMING:1 : ccRemove
            commandClass:COMMAND_CLASS_MANUFACTURER_SPECIFIC:1 : ccRemove
            commandClass:COMMAND_CLASS_NODE_NAMING:3 : ccRemove
            zwave_neighbours :
            zwave_lastwakeup : 2020-01-17T11:31:20Z
            modelId : EZMotion Express
            zwave_version : 0.0
            commandClass:COMMAND_CLASS_MULTI_CHANNEL:3 : ccRemove
            commandClass:COMMAND_CLASS_MULTI_CHANNEL:1 : ccRemove
            commandClass:COMMAND_CLASS_MULTI_CHANNEL:2 : ccRemove
            commandClass:COMMAND_CLASS_VERSION:1 : ccRemove
            vendor : Express Controls
            defaultAssociations : 1
            zwave_routing : true
            commandClass:COMMAND_CLASS_ASSOCIATION:2 : ccRemove
            commandClass:COMMAND_CLASS_ASSOCIATION:1 : ccRemove
            zwave_beaming : true
            commandClass:COMMAND_CLASS_ASSOCIATION:3 : ccRemove
            zwave_secure : false
            zwave_class_specific : SPECIFIC_TYPE_ROUTING_SENSOR_BINARY
            commandClass:COMMAND_CLASS_MANUFACTURER_SPECIFIC:2 : ccRemove
            commandClass:COMMAND_CLASS_VERSION:2 : ccRemove
            commandClass:COMMAND_CLASS_MANUFACTURER_SPECIFIC:3 : ccRemove
            commandClass:COMMAND_CLASS_VERSION:3 : ccRemove
            zwave_devicetype : 2
            commandClass:COMMAND_CLASS_CONFIGURATION:1 : ccRemove
            commandClass:COMMAND_CLASS_CONFIGURATION:3 : ccRemove
            zwave_frequent : false
            commandClass:COMMAND_CLASS_CONFIGURATION:2 : ccRemove
            zwave_listening : false
            manufacturerId : 001E
            manufacturerRef : 0002:0001,0002:0002
            dbReference : 140
            zwave_deviceid : 2
            zwave_nodeid : 28
            commandClass:COMMAND_CLASS_WAKE_UP:1 : ccRemove
            commandClass:COMMAND_CLASS_WAKE_UP:3 : ccRemove
            commandClass:COMMAND_CLASS_WAKE_UP:2 : ccRemove
            commandClass:COMMAND_CLASS_BATTERY:2 : ccRemove
            commandClass:COMMAND_CLASS_BATTERY:1 : ccRemove
            zwave_manufacturer : 30
            commandClass:COMMAND_CLASS_BATTERY:3 : ccRemove

    Configuration parameters:
            binding_cmdrepollperiod : 1500
            action_failed : false
            wakeup_interval : 360
            action_remove : false
            binding_pollperiod : 86400
            action_heal : false
            config_1_1 : 200
            config_2_1 : 5
            wakeup_node : 1
            config_3_1 : 255
            config_4_1 : 100
            config_5_1 : 0
            node_id : 28
            config_6_1 : 255

    Channels:
            ID: alarm_motion
            Label: Motion Sensor
            Type: zwave:alarm_motion
            Description: Indicates if a motion alarm is triggered

            ID: battery-level
            Label: Battery Level
            Type: system:battery-level

            ID: sensor_luminance2
            Label: Illumination Sensor
            Type: zwave:sensor_luminance
            Description: Indicates the current light reading

            ID: sensor_temperature3
            Label: Temperature Sensor
            Type: zwave:sensor_temperature
            Description: Indicates the current temperature

After changing to the correct setting you need to wake the device manually several times.

https://www.cd-jackson.com/index.php/zwave/zwave-device-database/zwave-device-list/devicesummary/140

1 Like

I have tried several times without success :frowning:

This is because the database is configured with the illuminance in EP2, but the device is sending it from EP0. I don’t know if this is a configuration issue, or database is wrong, or your firmware is different.

1 Like

Is there a workaround to made temperature and illuminance updates work locally by editing configuration or database manually?
This device work with another automation software so I think it’s not a firmware issue.

No, not easily. You can edit the JAR if you are brave, or recompile the binding.

That’s not what I meant. Clearly it works - my point is that your firmware may be different to that used to create the database entry, and therefore we need to be careful. We could change the database to fix it for you, and break it for others.

1 Like

Would their xml file help identify the firmware compared with the database entry?

Not really - we don’t really know what version the database was generated from.

OK
I thought, for some reason, you had access to the old xml.

I tried to edit ESH-INF/thing/homeseer/ezmotionexpress_0_0.xml in /var/lib/openhab2/tmp/mvn/org/openhab/addons/bundles/org.openhab.binding.zwave/2.5.1/org.openhab.binding.zwave-2.5.1.jar file.

I replace following lines

          <property name="binding:*:DecimalType">COMMAND_CLASS_SENSOR_MULTILEVEL:2;type=LUMINANCE</property>
...
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:3;type=TEMPERATURE</property>

with

          <property name="binding:*:DecimalType">COMMAND_CLASS_SENSOR_MULTILEVEL:0;type=LUMINANCE</property>
...
          <property name="binding:*:QuantityType">COMMAND_CLASS_SENSOR_MULTILEVEL:0;type=TEMPERATURE</property>

Is there something to do to update openhab with this edited jar file ?

Am I on the right way to workaround my issue ?

We still have the same questions that I raised earlier - we need to understand if your device is a different variant than others. Otherwise we can make this change in the database, and it might work for you, but if it stops working for others then we still have a problem (as I said earlier).

1 Like

How can I give any piece of information about my devices ?