zha-device-handlers
zha-device-handlers copied to clipboard
[BUG] SONOFF ZBMINIL2 potentially requiring quirk
Bug description
I've recently got my hands onto an SONOFF ZBMINIL2, which is generally working fine, BUT it appears to be improperly recognized as battery powered (or unknown). ~Also I've noticed it is impossible to add it to a Zigbee group (it doesn't get listed at the group setup page). Being unaware of the inner workings of ZHA, I see potential these two issues could be linked.~ After researching again, the Zigbee group issue appears to be unrelated: https://community.home-assistant.io/t/sonoff-zbminil2-cant-add-to-group/557814
Steps to reproduce
- Link the device
- Check the available entities (or the signature) ~3. Try to setup a Zigbee group with this device~
Expected behavior
I'd like the device to not have a (useless) battery indicator ~and be able to setup a Zigbee group containing it~.
Screenshots/Video
No response
Device signature
Device signature
{
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4742, maximum_buffer_size=82, maximum_incoming_transfer_size=1024, server_mask=11264, maximum_outgoing_transfer_size=1024, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *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": "0x0104",
"device_type": "0x0002",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0006",
"0x0007",
"0x0b05",
"0xfc57"
],
"output_clusters": [
"0x0019"
]
}
},
"manufacturer": "SONOFF",
"model": "ZBMINIL2",
"class": "zigpy.device.Device"
}
Diagnostic information
Diagnostic information
{
"home_assistant": {
"installation_type": "Unknown",
"version": "2024.1.5",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.11.6",
"docker": false,
"arch": "x86_64",
"timezone": "Europe/Vienna",
"os_name": "Linux",
"os_version": "6.1.63-production+truenas",
"run_as_root": true
},
"custom_components": {
"thermal_comfort": {
"version": "2.2.2",
"requirements": []
},
"truenas": {
"version": "0.0.0",
"requirements": []
},
"zha_toolkit": {
"version": "v1.1.8",
"requirements": [
"pytz"
]
},
"hacs": {
"version": "1.34.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"multiscrape": {
"version": "6.5.0",
"requirements": [
"lxml>=4.9.1",
"beautifulsoup4>=4.12.2"
]
},
"openweathermaphistory": {
"version": "2.0.2",
"requirements": []
}
},
"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.37.6",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.109",
"zigpy-deconz==0.22.4",
"zigpy==0.60.6",
"zigpy-xbee==0.20.1",
"zigpy-zigate==0.12.0",
"zigpy-znp==0.12.1",
"universal-silabs-flasher==0.0.15",
"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": 48767,
"manufacturer": "SONOFF",
"model": "ZBMINIL2",
"name": "SONOFF ZBMINIL2",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"quirk_id": null,
"manufacturer_code": 4742,
"power_source": "Battery or Unknown",
"lqi": 76,
"rssi": null,
"last_seen": "2024-01-29T20:55:30",
"available": true,
"device_type": "EndDevice",
"signature": {
"node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4742, maximum_buffer_size=82, maximum_incoming_transfer_size=1024, server_mask=11264, maximum_outgoing_transfer_size=1024, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *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": "0x0104",
"device_type": "0x0002",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0006",
"0x0007",
"0x0b05",
"0xfc57"
],
"output_clusters": [
"0x0019"
]
}
},
"manufacturer": "SONOFF",
"model": "ZBMINIL2"
},
"active_coordinator": false,
"entities": [
{
"entity_id": "sensor.bathroom_mirror_sw_light_rssi",
"name": "SONOFF ZBMINIL2"
},
{
"entity_id": "sensor.bathroom_mirror_sw_light_lqi",
"name": "SONOFF ZBMINIL2"
},
{
"entity_id": "switch.bathroom_mirror_sw_light",
"name": "SONOFF ZBMINIL2"
},
{
"entity_id": "button.bathroom_mirror_sw_light_identify",
"name": "SONOFF ZBMINIL2"
},
{
"entity_id": "select.bathroom_mirror_sw_light_start_up_behavior",
"name": "SONOFF ZBMINIL2"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "ON_OFF_OUTPUT"
}
],
"user_given_name": "Bad Lampe Spiegel",
"device_reg_id": "c9f9a8ea61a1895511a4f5431f488f02",
"area_id": "bad",
"cluster_details": {
"1": {
"device_type": {
"name": "ON_OFF_OUTPUT",
"id": 2
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": "SONOFF"
},
"0x0005": {
"attribute_name": "model",
"value": "ZBMINIL2"
}
},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {},
"unsupported_attributes": {
"0x0020": {
"attribute_name": "battery_voltage"
},
"0x0021": {
"attribute_name": "battery_percentage_remaining"
},
"0x0031": {
"attribute_name": "battery_size"
},
"0x0033": {
"attribute_name": "battery_quantity"
}
}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {
"0x0000": {
"attribute_name": "on_off",
"value": 0
},
"0x4003": {
"attribute_name": "start_up_on_off",
"value": 0
}
},
"unsupported_attributes": {}
},
"0x0007": {
"endpoint_attribute": "on_off_config",
"attributes": {},
"unsupported_attributes": {}
},
"0x0b05": {
"endpoint_attribute": "diagnostic",
"attributes": {},
"unsupported_attributes": {}
},
"0xfc57": {
"endpoint_attribute": "manufacturer_specific",
"attributes": {},
"unsupported_attributes": {}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Logs
Logs
None
Additional information
~If these two issues are unrelated, I apologize for my wild guess and will happily reduce this ticket to the power source problematic only.~ If someone could provide me a hint on how to create a quirk to overwrite given property, I'd be happy to submit a PR.