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
717 stars 665 forks source link

[Device Support Request] HEIMAN DoorBell-EF-3.0 #2405

Closed HydrelioxGitHub closed 1 month ago

HydrelioxGitHub commented 1 year ago

Problem description

This is a Doorbell device and HA provide a mouvement binary sensor (which never trigger). It should be a button.

Solution description

Delete the mouvement sensor and add a button instead.

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=4619, 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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)", "endpoints": { "1": { "profile_id": 260, "device_type": "0x0402", "in_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500", "0x0b05" ], "out_clusters": [ "0x0019" ] } }, "manufacturer": "HEIMAN", "model": "DoorBell-EF-3.0", "class": "zigpy.device.Device" } ```

Diagnostic information

Diagnostic information ```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.4.1", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.10", "docker": true, "arch": "x86_64", "timezone": "Europe/Paris", "os_name": "Linux", "os_version": "6.1.25", "supervisor": "2023.04.1", "host_os": "Home Assistant OS 10.1", "docker_version": "23.0.3", "chassis": "embedded", "run_as_root": true }, "custom_components": { "powercalc": { "version": "v1.5.1", "requirements": [ "numpy>=1.21.1" ] }, "xiaomi_miot": { "version": "0.7.8", "requirements": [ "construct==2.10.56", "python-miio>=0.5.6", "micloud>=0.3" ] }, "openmediavault": { "version": "0.0.0", "requirements": [] }, "hass_agent_notifier": { "version": "2022.10.25.1", "requirements": [] }, "super_soco_custom": { "version": "1.0.0-beta.10", "requirements": [] }, "plant": { "version": "2.1.0", "requirements": [] }, "rte_ecowatt": { "version": "0.6.3", "requirements": [ "Async-OAuthlib==0.0.9" ] }, "openrgb": { "version": "2.3", "requirements": [ "openrgb-python==0.2.10" ] }, "openplantbook": { "version": "1.1.0", "requirements": [ "pyopenplantbook==0.0.4" ] }, "xiaomi_miio_fan": { "version": "2022.8.0.0", "requirements": [ "construct==2.10.56", "python-miio>=0.5.12" ] }, "grocy": { "version": "v4.8.0", "requirements": [ "pygrocy==1.4.1" ] }, "qubino_wire_pilot": { "version": "2.0.0", "requirements": [] }, "shopping_list_with_grocy": { "version": "0.0.1", "requirements": [] }, "jokes": { "version": "0.0.1", "requirements": [] }, "hacs": { "version": "1.32.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "ytube_music_player": { "version": "20230321.01", "requirements": [ "ytmusicapi==0.25.0", "pytube==10.5.1", "integrationhelper==0.2.2" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly" ], "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" ], "requirements": [ "bellows==0.35.0", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.95", "zigpy-deconz==0.20.0", "zigpy==0.54.0", "zigpy-xbee==0.17.0", "zigpy-zigate==0.10.3", "zigpy-znp==0.10.0" ], "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": "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": "_slzb-06._tcp.local.", "name": "slzb-06*" } ], "is_built_in": true }, "data": { "ieee": "**REDACTED**", "nwk": 46247, "manufacturer": "HEIMAN", "model": "DoorBell-EF-3.0", "name": "HEIMAN DoorBell-EF-3.0", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4619, "power_source": "Battery or Unknown", "lqi": 76, "rssi": null, "last_seen": "2023-05-19T14:12:29", "available": true, "device_type": "EndDevice", "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=4619, 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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)", "endpoints": { "1": { "profile_id": 260, "device_type": "0x0402", "in_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500", "0x0b05" ], "out_clusters": [ "0x0019" ] } } }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.heiman_doorbell_ef_3_0_iaszone", "name": "HEIMAN DoorBell-EF-3.0" }, { "entity_id": "button.heiman_doorbell_ef_3_0_identify", "name": "HEIMAN DoorBell-EF-3.0" }, { "entity_id": "sensor.heiman_doorbell_ef_3_0_battery", "name": "HEIMAN DoorBell-EF-3.0" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "IAS_ZONE" } ], "user_given_name": null, "device_reg_id": "9f45b7ac8affa9c6ea87a6856f7af50d", "area_id": "exterieur", "cluster_details": { "1": { "device_type": { "name": "IAS_ZONE", "id": 1026 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0004": { "attribute_name": "manufacturer", "value": "HEIMAN" }, "0x0005": { "attribute_name": "model", "value": "DoorBell-EF-3.0" } }, "unsupported_attributes": {} }, "0x0001": { "endpoint_attribute": "power", "attributes": { "0x0020": { "attribute_name": "battery_voltage", "value": 31 }, "0x0021": { "attribute_name": "battery_percentage_remaining", "value": 200 } }, "unsupported_attributes": { "0x0033": { "attribute_name": "battery_quantity" }, "0x0031": { "attribute_name": "battery_size" } } }, "0x0003": { "endpoint_attribute": "identify", "attributes": {}, "unsupported_attributes": {} }, "0x0500": { "endpoint_attribute": "ias_zone", "attributes": { "0x0000": { "attribute_name": "zone_state", "value": 0 }, "0x0001": { "attribute_name": "zone_type", "value": 32769 }, "0x0002": { "attribute_name": "zone_status", "value": 20 } }, "unsupported_attributes": {} }, "0x0b05": { "endpoint_attribute": "diagnostic", "attributes": {}, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} } } } } } } ```

Logs

Logs ```python No log ```
HydrelioxGitHub commented 1 year ago

Does I have to provide anything else ?

lel-amri commented 11 months ago

It's not even that great of a paperweight.

Mine shows the following for the IAS in_cluster endpoint:

{
  "0x0500": {
    "endpoint_attribute": "ias_zone",
    "attributes": {
      "0x0010": {
        "attribute_name": "cie_addr",
        "value": "00:12:4b:00:25:9b:ba:1a"
      },
      "0x0002": {
        "attribute_name": "zone_status",
        "value": 32772
      },
      "0x0001": {
        "attribute_name": "zone_type",
        "value": 32769
      }
    },
    "unsupported_attributes": {}
  }
}

I'm very new to home automation stuff, but I'll try to come up with something. If nobody beats me to it, that is :p

HydrelioxGitHub commented 7 months ago

Any update on this ?

github-actions[bot] commented 1 month ago

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.