ZigBee warning device command not working

  • Platform information:
    • Hardware: Raspberry pi3 + Bitron ember USB zigbee + Heiman zigbee siren
    • OS: Linux raspi 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux
    • Java Runtime Environment: OpenJDK Runtime Environment (build 11.0.15+10-post-Raspbian-1deb11u1)
    • openHAB version: 3.2.0-1 (.deb package)
  • Issue of the topic: Sending a warning command to an alarm device doesn’t work

Device seems online and pairs properly, but when sending a warning command to the warning channel I get nothing, and this is shown in the logs:

10:12:44.710 [INFO ] [openhab.event.ItemCommandEvent       ] - Item 'Sirena_WarningDevice' received command type=warning useStrobe=true warningMode=BURGLAR sirenLevel=HIGH duration=PT30S
10:12:44.721 [INFO ] [openhab.event.ItemStatePredictedEvent] - Item 'Sirena_WarningDevice' predicted to become type=warning useStrobe=true warningMode=BURGLAR sirenLevel=HIGH duration=PT30S
10:12:44.736 [DEBUG] [ing.zigbee.handler.ZigBeeThingHandler] - 804B50FFFE1A72EC: Command for channel zigbee:device:e07936075a:804b50fffe1a72ec:804B50FFFE1A72EC_1_warning_device --> type=warning useStrobe=true warningMode=BURGLAR sirenLevel=HIGH duration=PT30S [StringType]
10:12:44.745 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: Added transaction to queue, len=1, transaction=ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=0, state=WAITING, sendCnt=0, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=--, header=145, warningDuration=30]]
10:12:44.754 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=1, sleepy=0/3
10:12:44.761 [DEBUG] [.transaction.ZigBeeTransactionManager] - 21D1/1: Sending ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=15, state=WAITING, sendCnt=0, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:44.771 [DEBUG] [.transaction.ZigBeeTransactionManager] - transactionListenerAdded: 1 outstanding
10:12:44.777 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]
10:12:44.783 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=false, manufacturerCode=0, sequenceNumber=58, commandId=0]
10:12:44.791 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress=0000/1, destinationAddress=21D1/1, profile=0104, cluster=0502, addressMode=DEVICE, radius=8, apsSecurity=false, ackRequest=true, apsCounter=2E, rssi=--, lqi=--, payload=01 3A 00 91 1E 00]
10:12:44.807 [DEBUG] [.zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspSendUnicastResponse [networkId=0, status=EMBER_SUCCESS, sequence=2B]
10:12:49.490 [DEBUG] [.zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspMessageSentHandler [networkId=0, type=EMBER_OUTGOING_DIRECT, indexOrDestination=21D1, apsFrame=EmberApsFrame [profileId=0104, clusterId=0502, sourceEndpoint=1, destinationEndpoint=1, options=[EMBER_APS_OPTION_RETRY, EMBER_APS_OPTION_ENABLE_ADDRESS_DISCOVERY], groupId=0, sequence=2B], messageTag=3A, status=EMBER_DELIVERY_FAILED, messageContents=]
10:12:49.500 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX STA: msgTag=3A state=RX_NAK
10:12:49.509 [DEBUG] [.transaction.ZigBeeTransactionManager] - notifyTransactionProgress: TID=3A, state=RX_NAK, outstanding=1
10:12:49.518 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=4772, state=FAILED, sendCnt=1, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:49.526 [DEBUG] [.transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
10:12:49.535 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: transactionComplete, state=FAILED, outstanding=0
10:12:49.547 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: Added transaction to queue, len=1, transaction=ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=4802, state=WAITING, sendCnt=1, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:49.561 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=1, sleepy=0/3
10:12:49.568 [DEBUG] [.transaction.ZigBeeTransactionManager] - 21D1/1: Sending ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=4822, state=WAITING, sendCnt=1, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:49.581 [DEBUG] [.transaction.ZigBeeTransactionManager] - transactionListenerAdded: 1 outstanding
10:12:49.591 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX CMD: StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]
10:12:49.601 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX ZCL: ZclHeader [frameType=CLUSTER_SPECIFIC_COMMAND, manufacturerSpecific=false, direction=CLIENT_TO_SERVER, disableDefaultResponse=false, manufacturerCode=0, sequenceNumber=58, commandId=0]
10:12:49.606 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - TX APS: ZigBeeApsFrame [sourceAddress=0000/1, destinationAddress=21D1/1, profile=0104, cluster=0502, addressMode=DEVICE, radius=8, apsSecurity=false, ackRequest=true, apsCounter=2F, rssi=--, lqi=--, payload=01 3A 00 91 1E 00]
10:12:49.612 [DEBUG] [.zigbee.transaction.ZigBeeTransaction] - Transaction state changed: nwk=21D1, TID=3A, event=RX_NAK, state=DISPATCHED
10:12:49.620 [DEBUG] [.zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspSendUnicastResponse [networkId=0, status=EMBER_SUCCESS, sequence=2C]
10:12:54.301 [DEBUG] [.zigbee.dongle.ember.ZigBeeDongleEzsp] - RX EZSP: EzspMessageSentHandler [networkId=0, type=EMBER_OUTGOING_DIRECT, indexOrDestination=21D1, apsFrame=EmberApsFrame [profileId=0104, clusterId=0502, sourceEndpoint=1, destinationEndpoint=1, options=[EMBER_APS_OPTION_RETRY, EMBER_APS_OPTION_ENABLE_ADDRESS_DISCOVERY], groupId=0, sequence=2C], messageTag=3A, status=EMBER_DELIVERY_FAILED, messageContents=]
10:12:54.318 [DEBUG] [rtsystems.zigbee.ZigBeeNetworkManager] - RX STA: msgTag=3A state=RX_NAK
10:12:54.330 [DEBUG] [.transaction.ZigBeeTransactionManager] - notifyTransactionProgress: TID=3A, state=RX_NAK, outstanding=1
10:12:54.339 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=9593, state=FAILED, sendCnt=2, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:54.353 [DEBUG] [.transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
10:12:54.361 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: transactionComplete, state=FAILED, outstanding=0
10:12:54.368 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: transactionComplete exceeded max retries 2
10:12:54.376 [DEBUG] [.zigbee.transaction.ZigBeeTransaction] - Transaction cancelled: ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=9631, state=CANCELLED, sendCnt=2, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:54.384 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction complete: ZigBeeTransaction [ieeeAddress=804B50FFFE1A72EC queueTime=9638, state=CANCELLED, sendCnt=2, command=StartWarningCommand [IAS WD: 0000/0 -> 21D1/1, cluster=0502, TID=3A, header=145, warningDuration=30]]
10:12:54.395 [DEBUG] [.transaction.ZigBeeTransactionManager] - transactionListenerRemoved: 0 outstanding
10:12:54.404 [DEBUG] [ee.transaction.ZigBeeTransactionQueue] - 804B50FFFE1A72EC: transactionComplete but not outstanding, state=CANCELLED, outstanding=0
10:12:54.410 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=0, sleepy=0/3
10:12:54.422 [DEBUG] [.transaction.ZigBeeTransactionManager] - Transaction Manager: Send Next transaction. outstandingTransactions=0, outstandingQueues=0, sleepy=0/3
10:12:54.429 [DEBUG] [.zigbee.transaction.ZigBeeTransaction] - Transaction state changed: nwk=21D1, TID=3A, event=RX_NAK, state=CANCELLED

some more debug info:

openhab> zigbee nodes
Total known nodes in network: 4
Network  Addr  IEEE Address      Logical Type  State      EP   Profile                    Device Type                Manufacturer     Model
      0  0000  000D6F000DBF6620  COORDINATOR   ONLINE
   8657  21D1  804B50FFFE1A72EC  ROUTER        ONLINE      1  ZIGBEE_HOME_AUTOMATION     IAS_WARNING_DEVICE         HEIMAN           WarningDevice-EF-3.0
                                                         242  ZIGBEE_GREEN_POWER         0061
  35251  89B3  7CB03EAA0A077192  ROUTER        ONLINE      3  ZIGBEE_LIGHT_LINK          ZLL_ON_OFF_PLUG_IN_UNIT    OSRAM            Plug 01
  36691  8F53  BC33ACFFFE13FF6F  ROUTER        ONLINE     11  ZIGBEE_HOME_AUTOMATION     ON_OFF_PLUG_IN_UNIT        _TZ3000_kdi2o9m6  TS011F
                                                         242  ZIGBEE_GREEN_POWER         0061


openhab> zigbee node 804B50FFFE1A72EC
IEEE Address     : 804B50FFFE1A72EC
Network Address  : 8657
Node Descriptor  : NodeDescriptor [apsFlags=0, bufferSize=82, complexDescriptorAvailable=false, manufacturerCode=120B, logicalType=ROUTER, serverCapabilities=[], incomingTransferSize=82, outgoingTransferSize=82, userDescriptorAvailable=false, frequencyBands=[FREQ_2400_MHZ], macCapabilities=[FULL_FUNCTION_DEVICE, MAINS_POWER, RECEIVER_ON_WHEN_IDLE], extendedEndpointListAvailable=false, extendedSimpleDescriptorListAvailable=false, stackCompliance=22]
Power Descriptor : PowerDescriptor [currentPowerMode=RECEIVER_ON_IDLE, availablePowerSources=[MAINS], currentPowerSource=MAINS, powerLevel=FULL]
Associations     : []
Endpoints        :
            1    : Profile     ZIGBEE_HOME_AUTOMATION
                 : Device Type IAS_WARNING_DEVICE
                   -> BASIC
                   -> POWER_CONFIGURATION
                   -> IDENTIFY
                   -> GROUPS
                   -> IAS_ZONE
                   -> IAS_WD
                   -> DIAGNOSTICS
                   <- OTA_UPGRADE
            242  : Profile     ZIGBEE_GREEN_POWER
                 : Device Type 0061
                   <- GREEN_POWER
Neighbors        :
Routes           :

openhab> zigbee info 8657/1

Requesting ZCL Version
Requesting Application Version
Requesting Stack Version
Requesting HW Version
Requesting Manufacturer Name
Requesting Model Identifier
Requesting Date Code
Requesting Power Source
Requesting Generic Device Class
Requesting Generic Device Type
Requesting Product Code
Requesting Product URL
Requesting Location Description
Requesting Physical Environment
Requesting Device Enabled
Requesting Alarm Mask
Requesting Disable Local Config
Requesting SW Build ID
Device information for endpoint 21D1/1
Node Info             Value
Application Version   23
Date Code             2021.2.19
HW Version            5
Manufacturer Name     HEIMAN
Model Identifier      WarningDevice-EF-3.0
Power Source          129
Stack Version         2
ZCL Version           3
openhab> zigbee fingerprint 804B50FFFE1A72EC
|>| Node Descriptor
| |> Logical Type               ROUTER
| |> MAC Capabilities           [FULL_FUNCTION_DEVICE, MAINS_POWER, RECEIVER_ON_WHEN_IDLE]
| |> Stack Compliance           22
| |> Server Capabilities        []
| |> Buffer Size                82
| |> Incoming Transfer Size     82
| |> Outgoing Transfer Size     82
|
|>| Power Descriptor
| |> Available Power Sources    [MAINS]
| |> Current Power Source       MAINS
| |> Current Power Mode         RECEIVER_ON_IDLE
| |> Power Level                FULL
|
|>| ZDO
| |> ManagementBindRequest      SUCCESS
| |> IeeeAddressRequest         SUCCESS
| |> ManagementLqiRequest       SUCCESS
| |> ManagementRoutingRequest   SUCCESS
|
|>| Basic Information
| |> Generic Device Class
| |> Generic Device Type
| |> Manufacturer Name          HEIMAN
| |> Model Indentifier          WarningDevice-EF-3.0
| |> Product Code
| |> Product URL
| |> Date Code                  2021.2.19
| |> Application Version        23
| |> Software Build ID
| |> Hardware Version           5
| |> Zcl Version                3
| |> Stack Version              2
| |
| |>| Endpoint 1
| | |> Profile                  0104  ZIGBEE_HOME_AUTOMATION
| | |> Device Type              0403  IAS_WARNING_DEVICE
| | |> Device Version           1
| | |
| | |>| Input Clusters
| | | |
| | | |>| Cluster 0000 Basic
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | |
| | | | |>| Commands Received
| | | | | |> 0000 ResetToFactoryDefaultsCommand
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000 ZCL Version
| | | | | |> 0001 Application Version
| | | | | |> 0002 Stack Version
| | | | | |> 0003 HW Version
| | | | | |> 0004 Manufacturer Name
| | | | | |> 0005 Model Identifier
| | | | | |> 0006 Date Code
| | | | | |> 0007 Power Source
| | | | | |> FFFD Unknown
| | | |
| | | |>| Cluster 0001 Power Configuration
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0003 Identify
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0004 Groups
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0500 IAS Zone
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0502 IAS WD
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | | |
| | | |>| Cluster 0B05 Diagnostics
| | | | |> Type                 Server [Input]
| | | | |> Manufacturer Spec.   No
| | | | |> Unsupported locally
| | |
| | |>| Output Clusters
| | | |
| | | |>| Cluster 0019 Ota Upgrade
| | | | |> Type                 Client [Output]
| | | | |> Manufacturer Spec.   No
| | | | |
| | | | |>| Commands Generated
| | | | | |> 0001 QueryNextImageCommand
| | | | | |> 0003 ImageBlockCommand
| | | | | |> 0006 UpgradeEndCommand
| | | | |
| | | | |>| Commands Received
| | | | |
| | | | |>| Attributes Supported
| | | | | |> 0000 Upgrade Server ID
| | | | | |> 0001 File Offset
| | | | | |> 0002 Current File Version
| | | | | |> 0003 Current ZigBee Stack Version
| | | | | |> 0004 Downloaded File Version
| | | | | |> 0005 Downloaded ZigBee Stack Version
| | | | | |> 0006 Image Upgrade Status
| | | | | |> 0007 Manufacturer ID
| | | | | |> 0008 Image Type ID
| | | | | |> FFFD Unknown
| |
| |>| Endpoint 242
| | |> Profile                  A1E0  ZIGBEE_GREEN_POWER
| | |> Device Type              0061
| | |> Device Version           1

In Cluster 0502 IAS WD, it says Unsupported locally but IAS WD are supported by openhab zigbee, right?

I’m not sure how to proceed on this one, shall I open an issue onto zigbee github project? is anything else needed? is my device broken or has a broken implementation? or am I doing something wrong?

From the log in your original message, it seems the device is not responding to the command - ie the command delivery is failing. It’s hard to say why this is - maybe the device is too far away, or the routing isn’t working well - I can’t really comment on that.

the device is really close to the zigbee anthena, maybe 1-2 meters away.

Ok, still, based on the response from the coordinator, it was unable to get a response.