Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PTM215ZE (Zigbee Green Power) only works a few minutes #26226

Open
maltejahn opened this issue Feb 7, 2025 · 15 comments
Open

PTM215ZE (Zigbee Green Power) only works a few minutes #26226

maltejahn opened this issue Feb 7, 2025 · 15 comments
Labels
problem Something isn't working

Comments

@maltejahn
Copy link

maltejahn commented Feb 7, 2025

What happened?

I bought a Enocean PTM215ZE to try a these devices. After having some trouble to pair them, finally the device appeared. And worked for some minutes.
Afther these few minutes, the device is still visible in Z2M, but doenst react anymore.

When i use a second Stick (Conbee2) with ZShark + Wireshark on a different PC, i still see that data is transmitted when pressing a button
If I just do a tail -f on the current log file(debug enabled, on the raspberry) nothing appears when pressing a button

I used this firmware:
Z-Stack_3.x.0_coordinator_20240710/CC1352P2_CC2652P_launchpad_coordinator_20240710.zip

Update:

Found this after a while -> switch works of z2m is in pairing mode. If pairing Mode is off - it stop working:
#14198 (comment)

Update 2:

I am lost:

  • trying to "directly" pair it with the coordinator doenst help/work
  • Whas ist meant by "switch to unicast"

Update 3:

SAm I wright -> Sonoff Dongle P doenst work as a coordinator?

What did you expect to happen?

No response

How to reproduce it (minimal and precise)

remove it from Z2M (including force remove)
reset the device using the Enocean app (NFC)
Pair again
-> doesnt react to button press after few minutes

Zigbee2MQTT version

2.1.0

Adapter firmware version

20240710

Adapter

Sonoff Dongle Plus P ZStack

Setup

Standalone Raspberry 3B

Debug log

Image

@maltejahn maltejahn added the problem Something isn't working label Feb 7, 2025
@chris-1243
Copy link

chris-1243 commented Feb 7, 2025

Update:

Found this after a while -> switch works of z2m is in pairing mode. If pairing Mode is off - it stop working:
#14198 (comment)

This happens as you did not strictly follow the pairing procedure. As you are trying to pair a PTM215ZE and as you are using the Enocean app, I would use this app as well for the pairing. It is really much easier.

  • Open your app and scan your PTM. Select your network and click apply. Once the data is sent to the device, click one time on the energy_bar. This has to be done for the settings to be applied by your device.
  • Scan again your device and go to installation. Click on Execute and nothing else.
  • Z2M: choose a router able to translate ZGP frames. Instead of allowing permit_join all, choose your dedicated router permit_join my_router. Now permit join is active, press energy_bar and if everything was done correctly, your PTM215ZE should appear and the pairing process is done!

Otherwise, strictly follow the pairing instruction there.

Update 2:

I am lost:

trying to "directly" pair it with the coordinator doenst help/work
Whas ist meant by "switch to unicast"

zstack is not able to pair such device directly. There is a must to use a dedicated router. ember is able on the other hand. This how firmware and other parameters are implemented by the manufacturer if the chip...
unicast is a mean to send a message directly from the device via the router to the coordinator. broadcast will do this but your message will be routed by all your router...It may slow down a lot your network. Not all router are able to send ZGP frames as unicast. Check the link above.

Update 3:

SAm I wright -> Sonoff Dongle P doenst work as a coordinator?

Dongle-P works as coordinator or router with the right firmware.

[2025-02-07 14:56:14] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a', payload '{"action":"press_1","device":{"friendlyName":"0x000000000155f47a","ieeeAddr":"0x000000000155f47a","model":"PTM 215ZE","networkAddress":62586,"type":"GreenPower"},"last_seen":"2025-02-07T14:56:14+01:00","linkquality":153}'
[2025-02-07 14:56:14] info: 	z2m:mqtt: MQTT publish: topic 'homeassistant/device_automation/0x000000000155f47a/action_press_1/config', payload '{"automation_type":"trigger","device":{"identifiers":["zigbee2mqtt_0x000000000155f47a"],"manufacturer":"EnOcean","model":"Pushbutton transmitter module","model_id":"PTM 215ZE","name":"0x000000000155f47a","via_device":"zigbee2mqtt_bridge_0x00124b0026d15e0e"},"origin":{"name":"Zigbee2MQTT","sw":"2.1.1","url":"https://www.zigbee2mqtt.io"},"payload":"press_1","subtype":"press_1","topic":"zigbee2mqtt/0x000000000155f47a/action","type":"action"}'
[2025-02-07 14:56:14] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a/action', payload 'press_1'
[2025-02-07 14:56:15] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a', payload '{"action":"release_1","device":{"friendlyName":"0x000000000155f47a","ieeeAddr":"0x000000000155f47a","model":"PTM 215ZE","networkAddress":62586,"type":"GreenPower"},"last_seen":"2025-02-07T14:56:15+01:00","linkquality":156}'
[2025-02-07 14:56:15] info: 	z2m:mqtt: MQTT publish: topic 'homeassistant/device_automation/0x000000000155f47a/action_release_1/config', payload '{"automation_type":"trigger","device":{"identifiers":["zigbee2mqtt_0x000000000155f47a"],"manufacturer":"EnOcean","model":"Pushbutton transmitter module","model_id":"PTM 215ZE","name":"0x000000000155f47a","via_device":"zigbee2mqtt_bridge_0x00124b0026d15e0e"},"origin":{"name":"Zigbee2MQTT","sw":"2.1.1","url":"https://www.zigbee2mqtt.io"},"payload":"release_1","subtype":"release_1","topic":"zigbee2mqtt/0x000000000155f47a/action","type":"action"}'
[2025-02-07 14:56:15] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a/action', payload 'release_1'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a', payload '{"action":"press_4","device":{"friendlyName":"0x000000000155f47a","ieeeAddr":"0x000000000155f47a","model":"PTM 215ZE","networkAddress":62586,"type":"GreenPower"},"last_seen":"2025-02-07T15:04:20+01:00","linkquality":142}'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'homeassistant/device_automation/0x000000000155f47a/action_press_4/config', payload '{"automation_type":"trigger","device":{"identifiers":["zigbee2mqtt_0x000000000155f47a"],"manufacturer":"EnOcean","model":"Pushbutton transmitter module","model_id":"PTM 215ZE","name":"0x000000000155f47a","via_device":"zigbee2mqtt_bridge_0x00124b0026d15e0e"},"origin":{"name":"Zigbee2MQTT","sw":"2.1.1","url":"https://www.zigbee2mqtt.io"},"payload":"press_4","subtype":"press_4","topic":"zigbee2mqtt/0x000000000155f47a/action","type":"action"}'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a/action', payload 'press_4'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a', payload '{"action":"release_4","device":{"friendlyName":"0x000000000155f47a","ieeeAddr":"0x000000000155f47a","model":"PTM 215ZE","networkAddress":62586,"type":"GreenPower"},"last_seen":"2025-02-07T15:04:20+01:00","linkquality":142}'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'homeassistant/device_automation/0x000000000155f47a/action_release_4/config', payload '{"automation_type":"trigger","device":{"identifiers":["zigbee2mqtt_0x000000000155f47a"],"manufacturer":"EnOcean","model":"Pushbutton transmitter module","model_id":"PTM 215ZE","name":"0x000000000155f47a","via_device":"zigbee2mqtt_bridge_0x00124b0026d15e0e"},"origin":{"name":"Zigbee2MQTT","sw":"2.1.1","url":"https://www.zigbee2mqtt.io"},"payload":"release_4","subtype":"release_4","topic":"zigbee2mqtt/0x000000000155f47a/action","type":"action"}'
[2025-02-07 15:04:20] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/0x000000000155f47a/action', payload 'release_4'

I just had a try on a test network and it is working fine... I waited approx 10 mins before clicking on an other button...

@maltejahn
Copy link
Author

Hi,

lets recap for myself:
Dongle-P is fine as a Coordinator, but not without a router from this list (https://www.zigbee2mqtt.io/advanced/zigbee/01_zigbee_network.html#green-power-devices)
Enocean Tool: Channel 25 (as Coordinator), Commissioning(Sequence?): All channels; Direct: active

If its probably the solution to get e ZGP Router, than you can ignore the rest of the reply

I used a second Zigbee Stick: Conbee 3 on another Pi with Phoscon + HA on another PC (inside Proxmox). There i had no Problems to connect using the Enocean app. But i dont like to have another instance for Zigbee stuff. -> So, PTM215ZE is working fine

Because it worked with that stick, I used the Conbee3 with a fresh Raspberry (3B) installation + Z2M (switched Z2m + PTM251ZE back to channel 11 to avoid problems with the existing Zigbee network). This time, it also seems to be connected but i get a different error
GREEN_POWER INDICATION - RangeError: Offset is outside the bounds of the DataView

`
[2025-02-10 12:53:20] debug: z2m:mqtt: Received MQTT message on 'zigbee2mqtt2/bridge/request/permit_join' with data '{"device":null,"time":254,"transaction":"js8j3-5"}'
[2025-02-10 12:53:20] info: z2m: Zigbee: allowing new devices to join.
[2025-02-10 12:53:20] debug: zh:deconz:driver: send write parameter request from queue. seqNr: 32 paramId: 33 param: 254
[2025-02-10 12:53:20] debug: zh:deconz:frameparser: write parameter response - parameter id: 33 - status: 0
[2025-02-10 12:53:20] debug: zh:deconz: Permit joining on coordinator for 254 sec.
[2025-02-10 12:53:20] debug: zh:deconz: zclFrame to all - 242
[2025-02-10 12:53:20] debug: zh:deconz: sendZclFrameToAll - message send
[2025-02-10 12:53:20] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0xfffc EP:0 SeqNr. 33 request id: 6
[2025-02-10 12:53:20] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0xfffd EP:242 SeqNr. 34 request id: 7
[2025-02-10 12:53:20] debug: zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 6 status: 0
[2025-02-10 12:53:20] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:20] debug: zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 7 status: 0
[2025-02-10 12:53:20] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:21] debug: zh:deconz:frameparser: DEVICE_STATE changed: 100110
[2025-02-10 12:53:21] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:21] debug: zh:deconz:driver: query aps data confirm
[2025-02-10 12:53:21] debug: zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 35
[2025-02-10 12:53:21] debug: zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xfffd request id: 7 confirm status: 0
[2025-02-10 12:53:21] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:21] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt2/bridge/response/permit_join', payload '{"data":{"time":254},"status":"ok","transaction":"js8j3-5"}'
[2025-02-10 12:53:21] debug: zh:deconz:frameparser: DEVICE_STATE changed: 100110
[2025-02-10 12:53:21] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:21] debug: zh:deconz:driver: query aps data confirm
[2025-02-10 12:53:21] debug: zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 36
[2025-02-10 12:53:21] debug: zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xfffc request id: 6 confirm status: 0
[2025-02-10 12:53:21] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:22] debug: zh:deconz:driver: send read device state from queue. seqNr: 37
[2025-02-10 12:53:22] debug: zh:deconz:frameparser: device state: 100010
[2025-02-10 12:53:22] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:26] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:26] debug: zh:deconz:frameparser: GP_DATA_INDICATION - src id: 0x156b9e8 cmd id: 0xe0 frameCounter: 0xa9c
[2025-02-10 12:53:26] info: zh:controller:greenpower: Received commissioning from '47592'
[2025-02-10 12:53:26] debug: zh:controller:greenpower: Payload.Options: 58696 wasBroadcast: true
[2025-02-10 12:53:26] debug: zh:deconz: zclFrame to all - 242
[2025-02-10 12:53:26] debug: zh:deconz: sendZclFrameToAll - message send
[2025-02-10 12:53:26] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:26] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0xfffd EP:242 SeqNr. 38 request id: 8
[2025-02-10 12:53:26] debug: zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 8 status: 0
[2025-02-10 12:53:26] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:27] debug: zh:deconz:frameparser: DEVICE_STATE changed: 100110
[2025-02-10 12:53:27] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:27] debug: zh:deconz:driver: query aps data confirm
[2025-02-10 12:53:27] debug: zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 39
[2025-02-10 12:53:27] debug: zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xfffd request id: 8 confirm status: 0
[2025-02-10 12:53:27] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:27] debug: zh:controller: Green power device '{"sourceID":22460904,"deviceID":2,"networkAddress":47592}' joined
[2025-02-10 12:53:27] debug: zh:controller: Deleted green power device '0x000000000156b9e8' joined, undeleting
[2025-02-10 12:53:27] debug: zh:controller:database: Writing database to '/opt/zigbee2mqtt/data/database.db'
[2025-02-10 12:53:27] info: z2m: Device '0x000000000156b9e8' joined
[2025-02-10 12:53:27] info: z2m: Successfully interviewed '0x000000000156b9e8', device has successfully been paired
[2025-02-10 12:53:27] info: z2m: Device '0x000000000156b9e8' is supported, identified as: EnOcean Pushbutton transmitter module (PTM 215ZE)
[2025-02-10 12:53:27] debug: zh:controller: Received payload: clusterID=33, address=47592, groupID=2948, endpoint=242, destinationEndpoint=242, wasBroadcast=true, linkQuality=255, frame={"header":{"frameControl":{"frameType":1,"manufacturerSpecific":false,"direction":0,"disableDefaultResponse":false,"reservedBits":0},"transactionSequenceNumber":38,"commandIdentifier":4},"payload":{"options":0,"srcID":22460904,"frameCounter":2716,"commandID":224,"payloadSize":35,"commandFrame":{"deviceID":2,"options":129,"extendedOptions":242,"securityKey":{"type":"Buffer","data":[135,94,99,231,250,97,213,141,137,149,59,204,94,232,149,13]},"keyMic":1677457413,"outgoingCounter":2716,"applicationInfo":0,"manufacturerID":0,"modelID":0,"numGdpCommands":0,"gpdCommandIdList":{"type":"Buffer","data":[]},"numServerClusters":0,"numClientClusters":0,"gpdServerClusters":{"type":"Buffer","data":[]},"gpdClientClusters":{"type":"Buffer","data":[]}}},"command":{"ID":4,"parameters":[{"name":"options","type":33},{"name":"srcID","type":35,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":0}]},{"name":"gpdIEEEAddr","type":240,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"gpdEndpoint","type":32,"conditions":[{"type":"bitFieldEnum","param":"options","offset":0,"size":3,"value":2}]},{"name":"frameCounter","type":35},{"name":"commandID","type":32},{"name":"payloadSize","type":32},{"name":"commandFrame","type":1009},{"name":"gppNwkAddr","type":33,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]},{"name":"gppGddLink","type":32,"conditions":[{"type":"bitMaskSet","param":"options","mask":2048}]}],"name":"commissioningNotification"}}
[2025-02-10 12:53:27] debug: z2m: Received Zigbee message from '0x000000000156b9e8', type 'commandCommissioningNotification', cluster 'greenPower', data '{"commandFrame":{"applicationInfo":0,"deviceID":2,"extendedOptions":242,"gpdClientClusters":{"data":[],"type":"Buffer"},"gpdCommandIdList":{"data":[],"type":"Buffer"},"gpdServerClusters":{"data":[],"type":"Buffer"},"keyMic":1677457413,"manufacturerID":0,"modelID":0,"numClientClusters":0,"numGdpCommands":0,"numServerClusters":0,"options":129,"outgoingCounter":2716,"securityKey":{"data":[135,94,99,231,250,97,213,141,137,149,59,204,94,232,149,13],"type":"Buffer"}},"commandID":224,"frameCounter":2716,"options":0,"payloadSize":35,"srcID":22460904}' from endpoint 242 with groupID 2948
[2025-02-10 12:53:27] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt2/bridge/event', payload '{"data":{"friendly_name":"0x000000000156b9e8","ieee_address":"0x000000000156b9e8"},"type":"device_joined"}'
[2025-02-10 12:53:27] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt2/bridge/event', payload '{"data":{"definition":{"description":"Pushbutton transmitter module","exposes":[{"access":1,"category":"diagnostic","description":"Triggered action (e.g. a button click)","label":"Action","name":"action","property":"action","type":"enum","values":["press_1","release_1","press_2","release_2","press_3","release_3","press_4","release_4","press_1_and_2","release_1_and_2","press_1_and_3","release_1_and_3","press_1_and_4","release_1_and_4","press_2_and_3","release_2_and_3","press_2_and_4","release_2_and_4","press_3_and_4","release_3_and_4","press_energy_bar","release_energy_bar","press_or_release_all","lock","unlock","half_open","tilt"]},{"access":1,"category":"diagnostic","description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"PTM 215ZE","options":[],"supports_ota":false,"vendor":"EnOcean"},"friendly_name":"0x000000000156b9e8","ieee_address":"0x000000000156b9e8","status":"successful","supported":true},"type":"device_interview"}'
[2025-02-10 12:53:32] debug: zh:deconz:driver: send read device state from queue. seqNr: 40
[2025-02-10 12:53:32] debug: zh:deconz:frameparser: device state: 100010
[2025-02-10 12:53:32] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:32] debug: z2m:mqtt: Received MQTT message on 'zigbee2mqtt2/bridge/request/permit_join' with data '{"device":null,"time":0,"transaction":"js8j3-6"}'
[2025-02-10 12:53:32] info: z2m: Zigbee: disabling joining new devices.
[2025-02-10 12:53:32] debug: zh:controller: Disable joining
[2025-02-10 12:53:33] debug: zh:deconz: zclFrame to all - 242
[2025-02-10 12:53:33] debug: zh:deconz: sendZclFrameToAll - message send
[2025-02-10 12:53:33] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0xfffd EP:242 SeqNr. 41 request id: 9
[2025-02-10 12:53:33] debug: zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 9 status: 0
[2025-02-10 12:53:33] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:33] debug: zh:deconz:frameparser: DEVICE_STATE changed: 100110
[2025-02-10 12:53:33] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:33] debug: zh:deconz:driver: query aps data confirm
[2025-02-10 12:53:33] debug: zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 42
[2025-02-10 12:53:34] debug: zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xfffd request id: 9 confirm status: 0
[2025-02-10 12:53:34] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:34] debug: zh:deconz:driver: send write parameter request from queue. seqNr: 43 paramId: 33 param: 0
[2025-02-10 12:53:34] debug: zh:deconz:frameparser: write parameter response - parameter id: 33 - status: 0
[2025-02-10 12:53:34] debug: zh:deconz: Permit joining on coordinator for 0 sec.
[2025-02-10 12:53:34] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt2/bridge/response/permit_join', payload '{"data":{"time":0},"status":"ok","transaction":"js8j3-6"}'
[2025-02-10 12:53:34] debug: zh:deconz:driver: DATA_REQUEST - destAddr: 0xfffc EP:0 SeqNr. 44 request id: 10
[2025-02-10 12:53:34] debug: zh:deconz:frameparser: DATA_REQUEST RESPONSE - request id: 10 status: 0
[2025-02-10 12:53:34] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: DEVICE_STATE changed: 100110
[2025-02-10 12:53:35] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 1 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:35] debug: zh:deconz:driver: query aps data confirm
[2025-02-10 12:53:35] debug: zh:deconz:driver: DATA_CONFIRM - sending data state request - SeqNr. 45
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: DATA_CONFIRM RESPONSE - destAddr: 0xfffc request id: 10 confirm status: 0
[2025-02-10 12:53:35] debug: zh:deconz:driver: networkstate: 2 apsDataConfirm: 0 apsDataIndication: 0 configChanged: 0 apsRequestFreeSlots: 1
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GREEN_POWER INDICATION - RangeError: Offset is outside the bounds of the DataView
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GREEN_POWER INDICATION - RangeError: Offset is outside the bounds of the DataView
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GREEN_POWER INDICATION - RangeError: Offset is outside the bounds of the DataView
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GP commissioning notification
[2025-02-10 12:53:35] debug: zh:deconz:frameparser: GREEN_POWER INDICATION - RangeError: Offset is outside the bounds of the DataView

`

@chris-1243
Copy link

Well, according to the documentation, deconz driver is not fully supported in Z2M.

https://www.zigbee2mqtt.io/guide/adapters/deconz.html

There are several threads opened with various errors in regard of ZGP devices. The problem here is not the stick but the implementation in the software.

Definitely, I would use either TI chip (zstack) or Silab chip (ember).

zstack: you must use a router to translate

ember: normally, you may pair a ZGP device directly to the coordinator

@maltejahn
Copy link
Author

maltejahn commented Feb 11, 2025

Hi,

thank you. After reading your replies with the documentation it worked immediately:
In the Enocean Tool i changed: Channel 25 (as Coordinator), Commissioning(Sequence?): All channels; Direct: active

  • pressed one button at the end so the changes are adopted. And checked the settings by rereading the nfc

Still using Dongle-P but got a Ikea E1702 or so from a friend. I paired the Ikea outlet to my zigbee network. After this, I enabled pairing (not to all or to the coordinator -> pairing to the ikea outlet)

Then I used the Enocean tool to start pairing and pressed a button. The PTM215ZE appeared immediately and still work since a few hours.

Now I have to figure out how to implement this into Home Assistant. HA sees the switch, but only Link Quality and last seen is visible. No button entry shows, I cant even see a Message under /homeassistant topic
Under /zigbee2mqtt topic I have messages like this
{"action":"release_3","last_seen":"2025-02-11T18:34:59+00:00","linkquality":204}
But not under /homeassistant/button or ./switch

Probably i have to use NodeRed.. e.g. i try this as a starting point:
#13361
Edit: maybe this: #22578

But.. Sometimes i feels like messages arent transmitted even when a loud "click" of the switch suggest a successful press - maybe when i press too quickly?

@chris-1243
Copy link

chris-1243 commented Feb 11, 2025

Would you mind leave this thread open? I now have some requests and suggestions for you...

Working blueprint for your PTM215Z/ZE (made by myself with the help of the HA community. This is what I use.)

https://github.com/chris-1243/HA---Blueprint

As you were able to sniff your trafic, would it be possible to check if the IKEA E1702 is used in unicast mode and what cluster (input/output) you have on endpoint 242 ?

If paired as unicast, you should not lose any messages. It might happen you receive press_energy_bar. This means you did not press the button correctly (you press the external corner). Or, an other sequence like press_1_and_3 because your finger may be to close of two buttons...

@maltejahn maltejahn reopened this Feb 12, 2025
@maltejahn
Copy link
Author

Hi,

of course I can. Playing around with Wireshark maybe gets useful one day:
Setup:
RPI3 + DongleP
Conbee2 + Win PC + Deconz Z Shark + NPCAP Driver -> Start Z Shark, probably Firmwareupdate on the first start -> select correct channel and press start
Wireshark on same PC and use NPCAP Loopback Adapter

Add Filter to Wireshark for Zigbee Green Power only: "zbee_nwk_gp"
First screenshots:
I pressed and released two buttons. And yes - its broadcast mode for the PTM215ZE.

Second Screenshot:
I also filtered for the Ikea (E1703!, sorry) outlet 0x1744 and pressed a button. I can also see a broadcast message which is at 1.3 sec

Probably i have to do a "force remove" (like mentioned here #20589) before I do a new pairing. I will wait with that step, maybe you want to have another wireshark output or so.
Is there a way to make the user aware that a device is running in broadcast mode (on the Z2M interface), or is this information only accessable using zshark/debug/whatever?

For the

and what cluster (input/output) you have on endpoint 242

( Filter? zbee_nwk_gp.endpoint==242) i dont see anything - only on paring mode?

I tried your blueprint yesterday and it worked right away

Image

Image

@maltejahn maltejahn reopened this Feb 12, 2025
@chris-1243
Copy link

I should have been a bit more precise, my apologize.

Could you apply simple filter zbee_zcl in Wireshark (you will get more traffic captured). Now, when you press a button, you should see a GreenPower notification

Image

Click on it and expend the field Zigbee Cluster Library Frame and check Options

Image

If you may send a screenshot like above, it would be awesome.

When you pair your device, it is really important to select a specific router. In your case, the IKEA E1702. Select permit join - address/name of the E1702. By doing so, you force the unicast mode and avoid some troubles in the future.

The cluster might be seen in the device tab in Z2M frontend

@maltejahn
Copy link
Author

Hi,

sadly, there is absolutely no output when appyling the filter "zbee_zcl" and press some button.
I paired the device again to 0x7444 -> ikea outlet. Still "broadcast" appears in the log

As i read your posts I would have expected a Input Cluster for ZGP*

Screenshot 1: Cluster ot the E1703 (was wrong with E1702 *: maybe not close enough)
Screenshot 2: Cluster of the PTM215ZE
Screenshot 3: Commissioning

** Also these outlet have the "same" clusters: Nous A1Z, Aquara SP-EUC01 - just for the case I should try them instead

Image
Image

Image

@chris-1243
Copy link

chris-1243 commented Feb 12, 2025

E1703? This does not exist in Z2M database. Maybe you meant E1603? Anyway, this device should translate ZGP frames as unicast...

In Wireshark, have you added your network key? It is in Edit --> Preferences --> Protocols --> Zigbee --> edit. Without this, you will not be able to decode completely the traffic.
Check here: https://www.zigbee2mqtt.io/advanced/zigbee/04_sniff_zigbee_traffic.html#adding-the-trust-center-link-key

Image

As it seems you are still in broadcast, I would remove the device, restart Z2M and pair it again selecting the IKEA router or a force remove and pair it through your IKEA router.

** Also these outlet have the "same" clusters: Nous A1Z, Aquara SP-EUC01 - just for the case I should try them instead

If you may check with these outlet, it would be great. My goal is to add more routers in Zigbee2mqtt.io documentation

@maltejahn
Copy link
Author

Hi,

never wanted to dive that deep... :-)
Selecting to join one of these devices Nous A1Z, Aquara SP-EUC01 (Ikea 1703 removed from socket) results in a successful pairing, but switch only works during pairing is enabled. But if i put the ikea back in the socket it works fine

Screenshot 1: This time with the cluster library frame: 0x7444 Ikea E1703 (really, atleast its whats printed on the device, see below).

If its the wrong device, maybe also adding a information that this device doenst work for sure?

Image

Image

@chris-1243
Copy link

chris-1243 commented Feb 12, 2025

Ok, there are plenty model numbers of this device. They all share the same modelID....

https://zigbee.blakadder.com/Ikea_E1603.html

According to your last screenshot, your device is paired in unicast mode. Great!

In order to test other outlet, you must completely remove your PTM215ZE and pair it directly to the new router and check Wireshark output....

@maltejahn
Copy link
Author

Hi,

i remove them with "force" and do even a reboot for whatever reason. E.g. with the NOUS A1Z 0x073A (selected to pair with), it states that paring was successful. It also works until i disable paring mode. But after that, it doenst work inside Z2M. Strange (for me) is, that something appears inside Wireshark (Screenshot 1).

Screenshot 2
So, this bit "Also Unicast: True" is it that indicates Unicast. I thought when the switch src 0x15... -> does a broadcast (Step 1) that is to worry about. Then its forwarded by the ikea device 0x7444 finally to the coordinator (which says unicast)

I I can help out with any testing on these devices?

Thanks for your support

Image

Image

@chris-1243
Copy link

Below, what you do not want to see. This is what is happening when you pair such device as broadcast. Also, the Communication mode: Groupcast to pre-commissioned GroupID is telling you you are in broadcast. And then, problem starts (slow down) as your network is saturated of message and according to specification, only 8 broadcast messages may be sent each second.

Image

So, this bit "Also Unicast: True" is it that indicates Unicast.

Yes

I thought when the switch src 0x15... -> does a broadcast (Step 1) that is to worry about

No, you do not need to worry about...

If you always need your IKEA plug to translate, it might tell us your other plug are not doing the job. Maybe, the firmware implementation is not done correctly. There are some known issues in Philips firmware where messages are always sent as broadcast. #22897

You may keep testing your lights/plugs and if you find some able to translate ZGP frames, just let us know or you may edit the documentation in zigbee2mqtt.io... I am honestly trying to improve the documentation and help people getting these devices working as much as possible.

@maltejahn
Copy link
Author

Hi,

i just tried a Conbee 3 Stick with a Outlet "Nous A1Z" which i received a few days ago. I also installed it on a "new" Raspberry installation and I resetted the PTM215Z (so it is Channel 11)

  1. pair the Nous A1Z
  2. Pair PTM with Nous only....

It work even when pairing is disabled since 2 hours
Screenshot 1: Output with the setup above
Screenshot 2: Zigbee2Mqtt Info

Next try: using the "old" Nous A1Z on the new Raspberry/Z2M Installation
-> It only works during Pairing Mode (did a reset on the PTM215Z device)
Screenshot 3: The old Nous A1Z Outlet
Screenshot 4: The "new" one

-> New and old one is plugged in -> PTM215 Works without repairing or so
-> Old one only - doenst work
-> new one only without re pairing -> works

Conclusion.. Nous A1Z can work, but I am not able to distinguish between good and bad

Image

Image

Image

Image

@chris-1243
Copy link

Well, it is a Tuya bases device and Zigbee standard is not well followed by this brand unfortunately.

Thanks for trying 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
problem Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants