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

[Device Support Request] Hue Tap Switch Model 9290011152X by Philips #477

Closed
Hedda opened this issue Sep 7, 2020 · 10 comments
Closed

[Device Support Request] Hue Tap Switch Model 9290011152X by Philips #477

Hedda opened this issue Sep 7, 2020 · 10 comments
Labels
stale Issue is inactivate and might get closed soon

Comments

@Hedda
Copy link
Contributor

Hedda commented Sep 7, 2020

Is your feature request related to a problem? Please describe.

Has anyone here tested and can verify if the Hue Tap Switch Model 9290011152X by Philips works with ZHA in Home Assistant or if require a quirk device handler or since it is a ZGP (Zigbee Green Power) device if it perhaps even also requires modifications to zigpy and/or its radio library?

This device is supported by the zigbee-herdsman and Zigbee2mqtt project:

https://www.zigbee2mqtt.io/devices/GreenPower_On_Off_Switch.html

This device requires your Zigbee network to run on channel 11, 15, 20 or 25. In order to pair it hold the corresponding button for that channel 10 seconds.

blakadder Zigbee Device Compatibility Repository mentions this in regards to Zigbee Green Power devices:

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

"Green Power is a feature of Zigbee that allows for energy-harvesting technology to be used directly with the Zigbee stack. Green Power devices do not send standard Zigbee messages. To use a Green Power device in your Zigbee network you need a "translator". Currently only a Philips Hue device can serve as a translator. Your Zigbee Green Power device has to always be in range of a Philips Hue device to function. Green Power devices don’t support binding and are not included in network scans."

Disclaimer: I do not own one of these myself but created the issue on behalf of @dieneuser who posted in the ZGP (Zigbee Green Power) request for zigpy in zigpy/zigpy#341

@dieneuser can hopefully fill in more information here, such as device signature in ZHA, plus which exact Zigbee hardware adapter and firmware he is using with ZHA in Home Assistant?

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.

Anyway, he said he is currently using it deCONZ gateway software (Phoscon OS) which does support it but with these limitations:

"Note that ZGP devices (like the Hue tap and FoH switches that harvest kinetic energy) currently don't work over the mesh network; they need to be in direct range of the coordinator. Also note that ZGP devices aren't shown in the deCONZ GUI."

"These switches use custom values for state.buttonevent please refer to the related GitHub issue pages for more information."

https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices

Describe the solution you'd like

Support for ZGP (Zigbee Green Power) devices like the Hue Tap Switch Model 9290011152X by Philips and the EnOcean PTM 216Z ZGP + Easyfit Batteryless Single / Double Rocker Wall Switch Models EWSxZ and EWSxZG manufactured by EnOcean.

See POC Koenkk/zigbee-herdsman#92 for ZGP (Zigbee Green Power) proof-of-concept used by zigbee-herdsman and Zigbee2mqtt project:

Koenkk/zigbee-herdsman#92

Additional context

ZGP (Zigbee Green Power), a.k.a. "Zigbee GreenPower", is a subset feature of Zigbee that allows for energy-harvesting technology to be used directly with the Zigbee stack. Using Zigbee Green Power, certain home automation devices (end devices) may be powered by energy harvesting solutions, which when enabled introduces the potential of battery-less devices (end devices) operating in a Zigbee network.

https://zigbeealliance.org/solution/green-power/

@Hedda
Copy link
Contributor Author

Hedda commented Sep 7, 2020

Please also see related device request #478 about EnOcean PTM 216Z ZGP Generic Switch + Wall Switches EWSxZ and EWSxZG

@dieneuser
Copy link

Hey Hedda,

thank you for the handling.

@dieneuser can hopefully fill in more information here, such as device signature in ZHA, plus which exact Zigbee hardware adapter and firmware he is using with ZHA in Home Assistant?

I use a Silicon Labs EmberZNet based radio using the EZSP protocol in ZHA (Bitron Video/Smabit BV AV2010/10 USB-Stick with Silicon Labs Ember 3587 and firmware version 0x12217572).

Device signature - this can be acquired by removing the device from ZHA and pairing it again from the add devices screen. Be sure to add the entire content of the log panel after pairing the device to a code block below this line.

A pairing of the GreenPowerSwitch is not possible with ZHA. There is nothing happens except these lines in the logging window:

[0x6b76:1:0x0b04]: async_update
[0x605c:1:0x0b04]: async_update
[0x6b76:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=90 command_id=Command.Read_Attributes_rsp>
[0x605c:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=92 command_id=Command.Read_Attributes_rsp>
[0x04c1:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=129 command_id=Command.Report_Attributes>
[0x04c1:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=49251>>]]
[0x04c1:1:0x0400] Attribute report received: measured_value=49251
[0x9311:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=4 command_id=Command.Report_Attributes>
[0x9311:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=31090>>]]
[0x9311:1:0x0400] Attribute report received: measured_value=31090
[0x6b76:1:0x0b04]: async_update
[0x605c:1:0x0b04]: async_update
[0x605c:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=96 command_id=Command.Read_Attributes_rsp>
[0x6b76:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=94 command_id=Command.Read_Attributes_rsp>
[0x0e79:1:0x0405] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=190 command_id=Command.Report_Attributes>
[0x0e79:1:0x0405] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=6619>>]]
[0x0e79:1:0x0405] Attribute report received: measured_value=6619
[0x04c1:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=160 command_id=Command.Report_Attributes>
[0x04c1:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=49411>>]]
[0x04c1:1:0x0400] Attribute report received: measured_value=49411
[0xf1be:1:0x0006] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=62 command_id=Command.Report_Attributes>
[0xf1be:1:0x0006] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=Bool, value=Bool.false>>]]
[0xf1be:1:0x0006] Attribute report received: on_off=0
[0x9311:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=65 command_id=Command.Report_Attributes>
[0x9311:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=30973>>]]
[0x9311:1:0x0400] Attribute report received: measured_value=30973
[0x6b76:1:0x0b04]: async_update
[0x605c:1:0x0b04]: async_update
[0x6b76:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=99 command_id=Command.Read_Attributes_rsp>
[0x605c:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=101 command_id=Command.Read_Attributes_rsp>
[0x605c:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=101 command_id=Command.Read_Attributes_rsp>
[0x605c:1:0x0b04] ZCL request 0x0001: [[<ReadAttributeRecord attrid=1291 status=Status.SUCCESS value=0>]]
[0x04c1:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=191 command_id=Command.Report_Attributes>
[0x04c1:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=43038>>]]
[0x04c1:1:0x0400] Attribute report received: measured_value=43038
[0x0e79:1:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=192 command_id=Command.Report_Attributes>
[0x0e79:1:0x0402] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=int16s, value=2497>>]]
[0x0e79:1:0x0402] Attribute report received: measured_value=2497
[0x0e79:1:0x0405] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=193 command_id=Command.Report_Attributes>
[0x0e79:1:0x0405] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=6607>>]]
[0x0e79:1:0x0405] Attribute report received: measured_value=6607
[0x0e79:1:0x0403] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=194 command_id=Command.Report_Attributes>
[0x0e79:1:0x0403] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=int16s, value=1013>>, <Attribute attrid=20 value=<TypeValue type=int8s, value=-1>>, <Attribute attrid=16 value=<TypeValue type=int16s, value=10139>>]]
[0x0e79:1:0x0403] Attribute report received: measured_value=1013, 20=-1, 16=10139
[0xf1be:1:0x0008] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=63 command_id=Command.Report_Attributes>
[0xf1be:1:0x0008] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint8_t, value=135>>]]
[0xf1be:1:0x0008] Attribute report received: current_level=135
[0xf1be:1:0x0008]: received attribute: 0 update with value: 135
[0xf1be:1:0x0300] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=64 command_id=Command.Report_Attributes>
[0xf1be:1:0x0300] ZCL request 0x000a: [[<Attribute attrid=7 value=<TypeValue type=uint16_t, value=290>>]]
[0xf1be:1:0x0300] Attribute report received: color_temperature=290
[0x9311:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=126 command_id=Command.Report_Attributes>
[0x9311:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=28814>>]]
[0x9311:1:0x0400] Attribute report received: measured_value=28814
[0x6b76:1:0x0b04]: async_update
[0x605c:1:0x0b04]: async_update
[0x6b76:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=105 command_id=Command.Read_Attributes_rsp>
[0x605c:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=107 command_id=Command.Read_Attributes_rsp>
[0x04c1:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=222 command_id=Command.Report_Attributes>
[0x04c1:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=41699>>]]
[0x04c1:1:0x0400] Attribute report received: measured_value=41699
[0x9311:1:0x0400] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=187 command_id=Command.Report_Attributes>
[0x9311:1:0x0400] ZCL request 0x000a: [[<Attribute attrid=0 value=<TypeValue type=uint16_t, value=28489>>]]
[0x9311:1:0x0400] Attribute report received: measured_value=28489

I think there is a lack of support for this device category in ZHA/zigpy.

Thanks

@Adminiuga
Copy link
Contributor

I can't tell the emberznet version. Once ha beta is cut, new bellows should log version in the friendly format.

Zgp is on to-do list. Won't work on husbzb-1 sticks, not without a firmware update

@Hedda
Copy link
Contributor Author

Hedda commented Nov 19, 2020

FYI bellows and zigpy doesn't yet support ZGP (Zigbee Green Power) but @zoic21 started working on it now, see zigpy/zigpy#519

@github-actions
Copy link

github-actions bot commented Aug 6, 2021

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale Issue is inactivate and might get closed soon label Aug 6, 2021
@Hedda
Copy link
Contributor Author

Hedda commented Jun 1, 2023

FYI, based on new pull requests for the zigpy project it looks like @nworbneb has now started working on ZGP support for ZHA:

zigpy/zigpy#1213

#2414

@Hedda
Copy link
Contributor Author

Hedda commented Jul 7, 2023

FYI, based on new pull requests for the zigpy project it looks like @nworbneb has now started working on ZGP support for ZHA:

zigpy/zigpy#1213

#2414

@nworbneb should this request maybe be reopened now that your initial code for ZGP has been merged?

@klodeckl
Copy link

Any news here? It would be great to use the hue tap with ZHA.

@Hedda
Copy link
Contributor Author

Hedda commented Jun 23, 2024

Any news here?

Sounds as if development stalled a bit, you can follw it here -> zigpy/zigpy#1282

@klodeckl
Copy link

Thanks! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Issue is inactivate and might get closed soon
Projects
None yet
Development

No branches or pull requests

4 participants