zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
731 stars 673 forks source link

[Device Support Request] Mercator Ikuu Combination Sensor SSWM-PIR-ZB #2993

Open simonparkis opened 7 months ago

simonparkis commented 7 months ago

Problem description

Request for support for Mercator Ikuu Combination sensor for ZHA.

https://www.ikuu.com.au/product/combination-sensor-2/

Solution description

Currently adds to ZHA with no entities. Should support motion, temperature, humidity, lux and switch for relay as well as any configuration options (decoupling relay etc)

Screenshots/Video

Screenshots/Video [Paste/upload your media here]

Device signature

Device signature ```json { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_agumlajc", "model": "TS0601", "class": "zigpy.device.Device" } ```

Diagnostic information

Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.2.2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.1", "docker": true, "arch": "x86_64", "timezone": "Australia/Sydney", "os_name": "Linux", "os_version": "6.1.74-haos", "supervisor": "2024.01.1", "host_os": "Home Assistant OS 11.5", "docker_version": "24.0.7", "chassis": "embedded", "run_as_root": true }, "custom_components": { "extended_openai_conversation": { "version": "0.0.9", "requirements": [ "openai==0.27.2" ] }, "iphonedetect": { "version": "1.3.0", "requirements": [] }, "localtuya": { "version": "4.1.1", "requirements": [] }, "custom_bluetooth_tracker": { "version": "0.1.0", "requirements": [ "dbus-fast>=1.86.0" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly", "@TheJulianJES" ], "config_flow": true, "dependencies": [ "file_upload" ], "documentation": "https://www.home-assistant.io/integrations/zha", "iot_class": "local_polling", "loggers": [ "aiosqlite", "bellows", "crccheck", "pure_pcapy3", "zhaquirks", "zigpy", "zigpy_deconz", "zigpy_xbee", "zigpy_zigate", "zigpy_znp", "universal_silabs_flasher" ], "requirements": [ "bellows==0.38.0", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.111", "zigpy-deconz==0.23.0", "zigpy==0.62.3", "zigpy-xbee==0.20.1", "zigpy-zigate==0.12.0", "zigpy-znp==0.12.1", "universal-silabs-flasher==0.0.18", "pyserial-asyncio-fast==0.11" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "1A86", "pid": "55D4", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus v2" ] }, { "vid": "10C4", "pid": "EA60", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus" ] }, { "vid": "10C4", "pid": "EA60", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*zigstar*", "known_devices": [ "ZigStar Coordinators" ] }, { "vid": "1CF1", "pid": "0030", "description": "*conbee*", "known_devices": [ "Conbee II" ] }, { "vid": "0403", "pid": "6015", "description": "*conbee*", "known_devices": [ "Conbee III" ] }, { "vid": "10C4", "pid": "8A2A", "description": "*zigbee*", "known_devices": [ "Nortek HUSBZB-1" ] }, { "vid": "0403", "pid": "6015", "description": "*zigate*", "known_devices": [ "ZiGate+" ] }, { "vid": "10C4", "pid": "EA60", "description": "*zigate*", "known_devices": [ "ZiGate" ] }, { "vid": "10C4", "pid": "8B34", "description": "*bv 2010/10*", "known_devices": [ "Bitron Video AV2010/10" ] } ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube*" }, { "type": "_zigate-zigbee-gateway._tcp.local.", "name": "*zigate*" }, { "type": "_zigstar_gw._tcp.local.", "name": "*zigstar*" }, { "type": "_uzg-01._tcp.local.", "name": "uzg-01*" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06*" } ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 4523, "manufacturer": "_TZE200_agumlajc", "model": "TS0601", "name": "_TZE200_agumlajc TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "quirk_id": null, "manufacturer_code": 4098, "power_source": "Mains", "lqi": null, "rssi": null, "last_seen": "2024-02-20T19:04:09", "available": false, "device_type": "Router", "signature": { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE200_agumlajc", "model": "TS0601" }, "active_coordinator": false, "entities": [ { "entity_id": "update.tze200_agumlajc_ts0601_firmware", "name": "_TZE200_agumlajc TS0601" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "SMART_PLUG" } ], "user_given_name": null, "device_reg_id": "7051ee976b54c37d5e8d473d40a6881e", "area_id": null, "cluster_details": { "1": { "device_type": { "name": "SMART_PLUG", "id": 81 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 65 }, "0xfffd": { "attribute_name": "cluster_revision", "value": 2 }, "0x0006": { "attribute_name": "date_code", "value": "" }, "0x0003": { "attribute_name": "hw_version", "value": 1 }, "0x0004": { "attribute_name": "manufacturer", "value": "_TZE200_agumlajc" }, "0x0005": { "attribute_name": "model", "value": "TS0601" } }, "unsupported_attributes": { "0x0012": { "attribute_name": "device_enabled" }, "0x0009": { "attribute_name": "generic_device_type" }, "0x0013": { "attribute_name": "alarm_mask" }, "0x0010": { "attribute_name": "location_desc" }, "0x0014": { "attribute_name": "disable_local_config" } } }, "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": { "0xfffe": { "attribute_name": "reporting_status" } } }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } } } } } ```

Logs

Logs ```python [Paste the logs here] ```

Custom quirk

Custom quirk ```python [Paste your custom quirk here] ```

Additional information

No response

joelegg commented 6 months ago

keen for this also - is this being looked at by chance? i'm about to install 5 of these and glad i found it didn't work before.

simonparkis commented 6 months ago

At the moment I have temperature and humidity working. I have bought a tuya zigbee hub to try reverse engineer the rest. On 28 Mar 2024, at 2:57 pm, joelegg @.***> wrote: keen for this also - is this being looked at by chance? i'm about to install 5 of these and glad i found it didn't work before.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

simonparkis commented 6 months ago

I have managed to get all the Tuya DP IDs from the Tuya Developer Console and just require some help in creating the zha quirk. If anyone is able to assist with this is would be appreciated and i am able to do any required testing. The DP IDs are as below:

SSWMPIR-ZB Tuya DP ID List

Temperature - 1 Humidity - 2 Set MaxTemp - 10 Set MinTemp - 11 Set Maximum - 12 Set Minimum - 13 Temp Alarm - 14 Humidity Alarm - 15 Current Brightness - 101 Set Brightness - 102 TimeSet - 103 PIR State - 104 WorkMode - 105 Sensitivity - 106 Sensitivity Level - 107 Temperature Adjustment - 108 Humidity Adjustment - 109

therealchunkyd commented 1 month ago

Hey All - Also following this and looking for ZHA integration. Installed 2 of these today and can not find a quirk.

joelegg commented 1 month ago

Yeah. Set mine up this week. All items running really well with Z2M

On Wed, 28 Aug 2024, 5:09 pm therealchunkyd, @.***> wrote:

Hey All - Also following this and looking for ZHA integration. Installed 2 of these today and can not find a quirk.

— Reply to this email directly, view it on GitHub https://github.com/zigpy/zha-device-handlers/issues/2993#issuecomment-2314491686, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7LMIRDJZVK5XH5KB6YDE3ZTVZUJAVCNFSM6AAAAABDRJOQ4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJUGQ4TCNRYGY . You are receiving this because you commented.Message ID: @.***>

therealchunkyd commented 1 month ago

Yeah. Set mine up this week. All items running really well with Z2M On Wed, 28 Aug 2024, 5:09 pm therealchunkyd, @.> wrote: Hey All - Also following this and looking for ZHA integration. Installed 2 of these today and can not find a quirk. — Reply to this email directly, view it on GitHub <#2993 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7LMIRDJZVK5XH5KB6YDE3ZTVZUJAVCNFSM6AAAAABDRJOQ4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJUGQ4TCNRYGY . You are receiving this because you commented.Message ID: @.>

Fine on Z2M? I'm using ZHA but looks like I might need to get another co-ordinator and add Z2M also. Any links for details on Z2M Support?

joelegg commented 1 month ago

Not really I just added it in z2m and it came up. I'm using the ethernet zigbee dongle. Slbz-06

I'm running the zigbee dimmers, PowerPoint double switch, single, and outdoor PowerPoint.

The single switches come up as tuya tho. But they work fine and they all are repeaters.

The zigby dimmers also updating the app basically instantly if you update the manually via the dimmer rotary.

On Wed, 28 Aug 2024, 5:19 pm therealchunkyd, @.***> wrote:

Yeah. Set mine up this week. All items running really well with Z2M … <#m_8822844392760602627_m853380697894721287> On Wed, 28 Aug 2024, 5:09 pm therealchunkyd, @.> wrote: Hey All - Also following this and looking for ZHA integration. Installed 2 of these today and can not find a quirk. — Reply to this email directly, view it on GitHub <#2993 (comment) https://github.com/zigpy/zha-device-handlers/issues/2993#issuecomment-2314491686>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7LMIRDJZVK5XH5KB6YDE3ZTVZUJAVCNFSM6AAAAABDRJOQ4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJUGQ4TCNRYGY https://github.com/notifications/unsubscribe-auth/AA7LMIRDJZVK5XH5KB6YDE3ZTVZUJAVCNFSM6AAAAABDRJOQ4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJUGQ4TCNRYGY . You are receiving this because you commented.Message ID: @.>

Fine on Z2M? I'm using ZHA but looks like I might need to get another co-ordinator and add Z2M also. Any links for details on Z2M Support?

— Reply to this email directly, view it on GitHub https://github.com/zigpy/zha-device-handlers/issues/2993#issuecomment-2314508725, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA7LMIUUBM53XRFY52CFQODZTV2WXAVCNFSM6AAAAABDRJOQ4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMJUGUYDQNZSGU . You are receiving this because you commented.Message ID: @.***>

simonparkis commented 1 month ago

Since originally posting this I have managed to cobble together some functionality into a custom quirk which gives me the motion sensor, temperature value and humidity as well as lux. I am not convinced the scaling on the temperature sensor is correct, same goes with the lux sensor and don't yet currently have control over the relay so I haven't posted any solution until I can resolve these.