Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IKEA Starkvind fan setting wrong #97440

Closed
arnowelzel opened this issue Jul 29, 2023 · 10 comments · Fixed by zigpy/zha-device-handlers#3088 · May be fixed by #114854
Closed

IKEA Starkvind fan setting wrong #97440

arnowelzel opened this issue Jul 29, 2023 · 10 comments · Fixed by zigpy/zha-device-handlers#3088 · May be fixed by #114854
Assignees

Comments

@arnowelzel
Copy link

The problem

The fan setting for IKEA Starkvind was originally the same as on the device: off, auto, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5

However with one of the latest updates the fan setting was changed to a percentage slider from 0% to 100% where 10% seems to represent "auto" and the other values are somehow linked to the different fan speed settings. This is at least confusing since you do not expect that "10%" means "automatic". But I see this as a bug since the IKEA Starkvind is not controlled with a speed setting between 0 and 100%.

The issue seems to be, that the integration uses supported_features = 1, but it has to be supported_features = 8.

Also see home-assistant/frontend#16116

What version of Home Assistant Core has the issue?

core-2023.7.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

IKEA Starkvind

Link to integration documentation on our website

https://www.home-assistant.io/integrations/fan/

Diagnostics information

{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.7.3",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.4",
"docker": true,
"arch": "aarch64",
"timezone": "Europe/Berlin",
"os_name": "Linux",
"os_version": "6.1.21-v8",
"supervisor": "2023.07.1",
"host_os": "Home Assistant OS 10.3",
"docker_version": "23.0.6",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {},
"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.8",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.101",
"zigpy-deconz==0.21.0",
"zigpy==0.56.2",
"zigpy-xbee==0.18.1",
"zigpy-zigate==0.11.0",
"zigpy-znp==0.11.3"
],
"usb": [
{
"vid": "10C4",
"pid": "EA60",
"description": "2652",
"known_devices": [
"slae.sh cc2652rb stick"
]
},
{
"vid": "1A86",
"pid": "55D4",
"description": "sonoffplus*",
"known_devices": [
"sonoff zigbee dongle plus v2"
]
},
{
"vid": "10C4",
"pid": "EA60",
"description": "sonoffplus*",
"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": {
"config": {},
"config_entry": {
"entry_id": "8bbd6b5d3cbe4f734b37e62207bd3144",
"version": 3,
"domain": "zha",
"title": "ConBee II - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2286242-if00, s/n: DE2286242 - dresden elektronik ingenieurtechnik GmbH - 1CF1:0030",
"data": {
"radio_type": "deconz",
"device": {
"path": "/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2286242-if00"
}
},
"options": {},
"pref_disable_new_entities": false,
"pref_disable_polling": false,
"source": "usb",
"unique_id": "REDACTED",
"disabled_by": null
},
"application_state": {
"node_info": {
"nwk": 0,
"ieee": "REDACTED",
"logical_type": 0
},
"network_info": {
"extended_pan_id": "REDACTED",
"pan_id": 37607,
"nwk_update_id": 0,
"nwk_manager_id": 0,
"channel": 15,
"channel_mask": 32768,
"security_level": 5,
"network_key": "REDACTED",
"tc_link_key": {
"key": [
90,
105,
103,
66,
101,
101,
65,
108,
108,
105,
97,
110,
99,
101,
48,
57
],
"tx_counter": 0,
"rx_counter": 0,
"seq": 0,
"partner_ieee": "REDACTED"
},
"key_table": [],
"children": [],
"nwk_addresses": {},
"stack_specific": {},
"metadata": {
"deconz": {
"version": 645400320
}
},
"source": "zigpy-deconz@0.21.0"
},
"counters": {},
"broadcast_counters": {},
"device_counters": {},
"group_counters": {}
},
"energy_scan": {
"11": 23.529411764705884,
"12": 34.11764705882353,
"13": 36.470588235294116,
"14": 40.0,
"15": 47.05882352941177,
"16": 76.47058823529412,
"17": 74.11764705882354,
"18": 84.70588235294117,
"19": 81.17647058823529,
"20": 47.05882352941177,
"21": 60.0,
"22": 42.35294117647059,
"23": 34.11764705882353,
"24": 34.11764705882353,
"25": 24.705882352941178,
"26": 48.23529411764706
},
"versions": {
"bellows": "0.35.8",
"zigpy": "0.56.2",
"zigpy_deconz": "0.21.0",
"zigpy_xbee": "0.18.1",
"zigpy_znp": "0.11.3",
"zigpy_zigate": "0.11.0",
"zhaquirks": "0.0.101"
}
}
}

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration (fan) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of fan can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign fan Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


fan documentation
fan source
(message by IssueLinks)

@home-assistant
Copy link

Hey there @dmulcahey, @Adminiuga, @puddly, mind taking a look at this issue as it has been labeled with an integration (zha) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of zha can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zha Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


zha documentation
zha source
(message by IssueLinks)

@puddly
Copy link
Contributor

puddly commented Aug 3, 2023

Can you upload diagnostic information for the fan device as well?

@TheJulianJES
Copy link
Contributor

IKEA STARKVIND diagnostics: zha-0eb8683dfa7d11eaad96a7d21a78ed3d-IKEA of Sweden STARKVIND Air purifier-633f6e7d3472f952957f786a88b79b53.json.txt

@tbertels
Copy link

It would most likely help if someone could tell in what Home Assistant version the regression happened.
For example if the problem started with 2022.4.0, 723dcba could be the culprit.
Based on home-assistant/frontend#16116, all we know is that it doesn't work with 2023.4.1 and later.

I suggest making sure you have a backup before testing a previous version.

@issue-triage-workflows
Copy link

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 Home Assistant 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.

@freundTech
Copy link

I can confirm that this is still an issue. I recently switched from zigbee2mqtt to zha.

zigbee2mqtt presented the device with a mode setting (Off, Auto, Manual) and a percentage slider for adjusting the manual mode.

zha only provides a percentage slider and a setting of 10% seems to correspond to auto, which is confusing and probably not intended.

@arnowelzel
Copy link
Author

Yes, I can confirm this as well - still not solved.

My workaround is to use a manual configuration override in /homeassistant/configuration.yaml:

homeassistant:
  customize:
    fan.ikea_starkvind_fan:
      supported_features: 8

@freundTech
Copy link

As a starting point:

Here's zigbe2mqtt's special handling of ikea devices, including the starkvind: https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/src/devices/ikea.ts

zha is backed by zigpy, which has it's special handling of the starkvind here: https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/ikea/starkvind.py

freundTech added a commit to freundTech/home-assistant-core that referenced this issue Apr 4, 2024
…posed

Fixes home-assistant#97440
Previously starkvind exposed 10 speed settings and no modes, where 10% corresponded to auto mode
and 20%-100% corresponded to fixed speeds.

This patch correctly exposes auto mode as a mode. It also adds support for showing the actual
fan speed while auto mode is enabled.
Starkvind supports 9 fan speeds. Because 9 doesn't neatly fit into 100% I cheated a bit and divided
the 100% into 10% increments, where trying to set the fan to 10% sets it to 20% instead. I believe
that this gives the overall better user experience compared to having 11.11% increments.
The 5 speed modes present on the physical interface of the device correspond to HA speed settings 20%,
40%, 60% and 100%.

This patch depends on zigpy/zha-device-handlers#3088 being merged and released.
freundTech added a commit to freundTech/home-assistant-core that referenced this issue Apr 4, 2024
…posed

Fixes home-assistant#97440
Previously starkvind exposed 10 speed settings and no modes, where 10% corresponded to auto mode
and 20%-100% corresponded to fixed speeds.

This patch correctly exposes auto mode as a mode. It also adds support for showing the actual
fan speed while auto mode is enabled.
Starkvind supports 9 fan speeds. Because 9 doesn't neatly fit into 100% I cheated a bit and divided
the 100% into 10% increments, where trying to set the fan to 10% sets it to 20% instead. I believe
that this gives the overall better user experience compared to having 11.11% increments.
The 5 speed modes present on the physical interface of the device correspond to HA speed settings 20%,
40%, 60% and 100%.

This patch depends on zigpy/zha-device-handlers#3088 being merged and released.
@freundTech
Copy link

freundTech commented May 28, 2024

Looks like this was accidentally closed too early. This will not be fixed until #114854 is also merged (which I will rebase first, now that zigpy/zha-device-handlers#3088 is merged).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment