zha-device-handlers: [BUG] Ikea tradfri FYRTUR blinds reporting wrong battery % since latest firmware
Bug description
FYRTUR block-out roller blind with firmware 0x24040011, latest firmware deployed May 29, 2023 (https://ww8.ikea.com/ikeahomesmart/releasenotes/releasenotes.html) are reporting odd Battery %. Release notes include:
FYRTUR and KADRILJ roller blinds (24.4.11) Product ID: E1752, E1757 ◆ Optimised battery performance. ◆ Stability improvements.
Blinds which haven’t gotten the new firmware (0x23088631) appear fine, but new firmware seems to now report ~2x the actual value.
Note in screenshot, Back Door Shade received firmware update 0x24040011 on 5/31/2023 at 8:55 AM and battery % doubled.
Another Example
Received firmware today, battery went from 44% to 100% ~2x.
Steps to reproduce
- Device receives firmware update 0x24040011
- Device’s battery doubles.
Expected behavior
- Device receives firmware update 0.24040011
- Device’s battery does not double? shrugs
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]
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=4476, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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": "0x0202",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0004",
"0x0005",
"0x0020",
"0x0102",
"0x1000",
"0xfc7c"
],
"output_clusters": [
"0x0019",
"0x1000"
]
}
},
"manufacturer": "IKEA of Sweden",
"model": "FYRTUR block-out roller blind",
"class": "zhaquirks.ikea.blinds.IkeaTradfriRollerBlinds"
}
Diagnostic information
Diagnostic information
[Paste the diagnostic information here]
Logs
Logs
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.5.4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.11",
"docker": true,
"arch": "x86_64",
"timezone": "America/New_York",
"os_name": "Linux",
"os_version": "6.1.29",
"supervisor": "2023.04.1",
"host_os": "Home Assistant OS 10.2",
"docker_version": "23.0.6",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"edgeos": {
"version": "2.0.28",
"requirements": [
"aiohttp"
]
},
"composite": {
"version": "2.8.2",
"requirements": []
},
"auto_backup": {
"version": "1.3.2",
"requirements": []
},
"sonos_cloud": {
"version": "0.3.5",
"requirements": []
},
"hacs": {
"version": "1.32.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"garmin_connect": {
"version": "0.2.16",
"requirements": [
"garminconnect==0.1.55",
"tzlocal"
]
},
"webrtc": {
"version": "v3.1.0",
"requirements": []
},
"huesyncbox": {
"version": "1.23.0",
"requirements": [
"aiohuesyncbox==0.0.21"
]
},
"nodered": {
"version": "1.2.0",
"requirements": []
},
"powercalc": {
"version": "v1.6.5",
"requirements": [
"numpy>=1.21.1"
]
},
"emporia_vue": {
"version": "0.8.1",
"requirements": [
"pyemvue==0.16.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.5",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.99",
"zigpy-deconz==0.21.0",
"zigpy==0.55.0",
"zigpy-xbee==0.18.0",
"zigpy-zigate==0.11.0",
"zigpy-znp==0.11.1"
],
"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": 16729,
"manufacturer": "IKEA of Sweden",
"model": "FYRTUR block-out roller blind",
"name": "IKEA of Sweden FYRTUR block-out roller blind",
"quirk_applied": true,
"quirk_class": "zhaquirks.ikea.blinds.IkeaTradfriRollerBlinds",
"manufacturer_code": 4476,
"power_source": "Battery or Unknown",
"lqi": 184,
"rssi": -54,
"last_seen": "2023-05-31T18:01:58",
"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=4476, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, 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": "0x0202",
"input_clusters": [
"0x0000",
"0x0001",
"0x0003",
"0x0004",
"0x0005",
"0x0020",
"0x0102",
"0x1000",
"0xfc7c"
],
"output_clusters": [
"0x0019",
"0x1000"
]
}
},
"manufacturer": "IKEA of Sweden",
"model": "FYRTUR block-out roller blind"
},
"active_coordinator": false,
"entities": [
{
"entity_id": "button.dining_room_display_right_window_shade_identify",
"name": "IKEA of Sweden FYRTUR block-out roller blind"
},
{
"entity_id": "cover.dining_room_display_right_window_shade",
"name": "IKEA of Sweden FYRTUR block-out roller blind"
},
{
"entity_id": "sensor.dining_room_display_right_window_shade_battery",
"name": "IKEA of Sweden FYRTUR block-out roller blind"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "WINDOW_COVERING_DEVICE"
}
],
"user_given_name": "Dining Room Display Right Window Shade",
"device_reg_id": "0fd5dc9054d57bb37652924dda0da7ba",
"area_id": "dining_room",
"cluster_details": {
"1": {
"device_type": {
"name": "WINDOW_COVERING_DEVICE",
"id": 514
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": "IKEA of Sweden"
},
"0x0005": {
"attribute_name": "model",
"value": "FYRTUR block-out roller blind"
}
},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0020": {
"attribute_name": "battery_voltage",
"value": 71
},
"0x0021": {
"attribute_name": "battery_percentage_remaining",
"value": 172
}
},
"unsupported_attributes": {
"0x0031": {
"attribute_name": "battery_size"
},
"0x0033": {
"attribute_name": "battery_quantity"
}
}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {},
"unsupported_attributes": {}
},
"0x0020": {
"endpoint_attribute": "poll_control",
"attributes": {
"0x0000": {
"attribute_name": "checkin_interval",
"value": 13200
}
},
"unsupported_attributes": {}
},
"0x0102": {
"endpoint_attribute": "window_covering",
"attributes": {
"0x0008": {
"attribute_name": "current_position_lift_percentage",
"value": 100
}
},
"unsupported_attributes": {}
},
"0x1000": {
"endpoint_attribute": "lightlink",
"attributes": {},
"unsupported_attributes": {}
},
"0xfc7c": {
"endpoint_attribute": "manufacturer_specific",
"attributes": {},
"unsupported_attributes": {}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
},
"0x1000": {
"endpoint_attribute": "lightlink",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Additional information
No response
About this issue
- Original URL
- State: closed
- Created a year ago
- Reactions: 6
- Comments: 32 (9 by maintainers)
Once all my blinds updated, I removed each, waited a minute or two before resetting (hold both buttons for 5 seconds until white LED started flashing) and added them back in. Each one came back with the right battery status.
Yup, that definitely fixed it. Thanks!!!