Open Eriond opened 1 month ago
So, here's an interesting fact: After finding the relevant attribute, playing around a bit in the "Manage zigbee device" settings, and finally writing this issue, somehow I got a new sensor in the "Diagnostic" list: Battery 194% Previously, there were only the "Identify" and "Window covering type" items, and now I have miraculously gotten a third, much sought after, battery sensor! For those that may think I have bad vision, I have attached a screenshot of the history diagram.
Perhaps the issue can be renamed as "Correct the reported battery value" ?
For now, I have made a helper using a template sensor to circumvent the issue:
{{ (states('sensor.fyrtur_roller_blind_sovrum_battery') | int)/2 }}
What is the firmware version the blinds running (diag is showing 2.2.009) ? The factory is 2.3.X but the last production is 24.4.13 and after doing update you need deleting the device and waiting one minute and adding it agen so its not using the old cashed settings (then its not using any quirk) and shall working OK then IKEA have fixing the old battery problem issue. Was doing all yesterday with 3 new ones and its working great.
Thank you for your comment. I don't know how to see the firmware update history/logs, but these are the current values:
In my configuration, I have
zha:
zigpy_config:
ota:
ikea_provider: true
so it is possible that while I was fiddling with the various Zigbee clusters and attributes yesterday, it triggered an automated firmware update in the background, and voila... Still odd that I have the doubled battery percentage though? Or will that be resolved if I remove and then re-add the device after a couple of minutes?
The device have updating OK but its using the old cashed endpoints / cluster setting so loading the quirk for the old firmware (last line in the device info is showing the quirk in use).
You need deleting the device wait one minute (or restarting HA) and then pairing it and it shall being done as new (its loosing the name it was having) and shall working OK.
Edit: My blinds is second gen ones but all is running the same firmware only different hardware settings so is working the same way.
Problem description
The IKEA Fyrtur roller blind uses a rechargable battery for which you may ask remaining charge percentage in the
DoublingPowerConfigClusterIKEA (Endpoint id: 1, Id: 0x0001, Type: in)
, using the attributebattery_percentage_remaining (id: 0x0021)
The current implementation seems to omit this information, because the reported battery level is always 0% in HA frontend/UI.Solution description
The current value that is read back, seem to be the percentage expressed in 0.5 percent steps, ie. doubled. The attached screenshot shows a recently charged battery. It may also be so that the percentage is expressed in a 0-255 / byte-wide manner, but this has not been verified.
Screenshots/Video
Device signature
Device signature
```json { "node_descriptor": "NodeDescriptor(logical_type=Diagnostic information
Diagnostic information
```json [Paste the diagnostic information here] ```Logs
Logs
```python { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.5.4", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "aarch64", "timezone": "Europe/Stockholm", "os_name": "Linux", "os_version": "6.6.28-haos-raspi", "supervisor": "2024.05.1", "host_os": "Home Assistant OS 12.3", "docker_version": "25.0.5", "chassis": "embedded", "run_as_root": true }, "custom_components": { "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "pijuice": { "documentation": "https://github.com/Racailloux/home-assistant-pijuice/", "version": "1.2.5", "requirements": [ "smbus2==0.4.1" ] }, "ebeco": { "documentation": "https://github.com/joggs/home_assistant_ebeco", "version": "0.4.0", "requirements": [] }, "zha_toolkit": { "documentation": "https://github.com/mdeweerd/zha-toolkit", "version": "v1.1.10", "requirements": [ "pytz" ] } }, "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.4", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.115", "zigpy-deconz==0.23.1", "zigpy==0.64.0", "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": "10C4", "pid": "EA60", "description": "*slzb-07*", "known_devices": [ "smlight slzb-07" ] }, { "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": 64546, "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.IkeaTradfriRollerBlinds2", "quirk_id": null, "manufacturer_code": 4476, "power_source": "Battery or Unknown", "lqi": 200, "rssi": -50, "last_seen": "2024-05-21T00:01:00", "available": true, "device_type": "EndDevice", "signature": { "node_descriptor": "NodeDescriptor(logical_type=Custom quirk
Custom quirk
```python [Paste your custom quirk here] ```Additional information
No response