Closed bjeanes closed 6 months ago
i have the same issue
Same issue for me as well
@bjeanes so I followed your great comment about them being lower case and made some changes to ac.py and now it works
in class ACFanSpeed(Enum) changed all of LOW-MID-HIGH words to lower case
still needs some work to do (homekit doesn't have mid, 50% is low, anything higher is high)
**Update Now works almost perfect
@kparmun how you changed this on home assistant ?
@icces you need an add-on like "Studio Code Server" to access these files and edit them after installing the add-on you need to find ac.py which is located in "custom_components/smartthinq_sensors/wideq/devices/" Edit and save it, then restart the home assistant
homekit integration does't accept "Mid", so our three speeds would be off (low) low (mid) high (high)
@kparmun Okay and then what exactly should I change there? is it possible that you provide me with the configuration and I copy and paste it?
@icces just replace Class ACFanSpeed with this:
class ACFanSpeed(Enum): """The fan speed for an AC/HVAC device."""
slow = "@AC_MAIN_WIND_STRENGTH_SLOW_W"
slow_LOW = "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_W"
off = "@AC_MAIN_WIND_STRENGTH_LOW_W"
LOW_MID = "@AC_MAIN_WIND_STRENGTH_LOW_MID_W"
low = "@AC_MAIN_WIND_STRENGTH_MID_W"
MID_HIGH = "@AC_MAIN_WIND_STRENGTH_MID_HIGH_W"
high = "@AC_MAIN_WIND_STRENGTH_HIGH_W"
POWER = "@AC_MAIN_WIND_STRENGTH_POWER_W"
AUTO = "@AC_MAIN_WIND_STRENGTH_AUTO_W"
NATURE = "@AC_MAIN_WIND_STRENGTH_NATURE_W"
R_LOW = "@AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W"
R_MID = "@AC_MAIN_WIND_STRENGTH_MID_RIGHT_W"
R_HIGH = "@AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W"
L_LOW = "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W"
L_MID = "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W"
L_HIGH = "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W"
@kparmun Okay now I have changed to your config. but now Im not able to see the fan speed control in my apple home app. I can only change the temperature and the ac starts MID
@icces maybe this config is not compatible with your model, it's working for me on LW8017ERSM
@kparmun thank you very much!!!! now it works for me!!! I needed the dots in the config file and now it works!!
if I now select the smallest level in HomeKit, it is incorrectly displayed to me as "Off". is it possible to display maybe 10%?
@icces that is a "HomeKit Bridge" limitation, the documents says that bridge only understands "off,low,high" it only has 3 modes
I'm new to home assistant so I'm not sure, but I think unless there's a way that we can tinker with Homekit Bridge code, there's nothing we can do about this
I think the example there is just what happens if speed_list
has 3 values. I think it can have more, but the first one should always be a sentinel for "off". I think it could have [off, low, mid, high, jet]
, for instance.
@bjeanes I thought so too, and by that logic [off,mid,high] should work but it doesn't It only works with these three words [off,low,high], I tested it and it doesn't matter that you start with [off] you can only use [low,high] and it still works No matter what I do it only accepts those 3 words, nothing else
Found out that homekit keys are [off, low, middle, medium, high] but it didn't change much But at least it doesn't show Off in home app anymore This is what I got now:
class ACFanSpeed(Enum): """The fan speed for an AC/HVAC device."""
slow = "@AC_MAIN_WIND_STRENGTH_SLOW_W"
slow_low = "@AC_MAIN_WIND_STRENGTH_SLOW_LOW_W"
low = "@AC_MAIN_WIND_STRENGTH_LOW_W"
LOW_MID = "@AC_MAIN_WIND_STRENGTH_LOW_MID_W"
middle = "@AC_MAIN_WIND_STRENGTH_MID_W"
MID_HIGH = "@AC_MAIN_WIND_STRENGTH_MID_HIGH_W"
high = "@AC_MAIN_WIND_STRENGTH_HIGH_W"
POWER = "@AC_MAIN_WIND_STRENGTH_POWER_W"
AUTO = "@AC_MAIN_WIND_STRENGTH_AUTO_W"
NATURE = "@AC_MAIN_WIND_STRENGTH_NATURE_W"
R_LOW = "@AC_MAIN_WIND_STRENGTH_LOW_RIGHT_W"
R_MID = "@AC_MAIN_WIND_STRENGTH_MID_RIGHT_W"
R_HIGH = "@AC_MAIN_WIND_STRENGTH_HIGH_RIGHT_W"
L_LOW = "@AC_MAIN_WIND_STRENGTH_LOW_LEFT_W"
L_MID = "@AC_MAIN_WIND_STRENGTH_MID_LEFT_W"
L_HIGH = "@AC_MAIN_WIND_STRENGTH_HIGH_LEFT_W"
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This is still an issue.
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
Still an issue
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
Still an issue, bot
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
Still an issue
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
this is still an issue for me
This issue is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.
Describe the bug
I have had my WH21SL-18 wired up with Home Assistant for about 6 months now and working well.
However, the "fan speed" control exposed to HomeKit (using the below
configuration.yml
snippet) doesn't do anything.I can change the slider in HomeKit (even all the way down to 0%), but this change is not reflected in Home Assistant nor propagated to the air conditioner.
device.json
Expected behavior Changing the fan speed in HomeKit should change the fan speed of the device (HomeKit uses a fan speed %, but other climate integrations will map these percentage rages to discrete Low/mid/high etc modes).
To handle Auto ("NATURE") fan speed, a boolean switch might need to be exposed, as I am not aware of any way for Apple's slider interface to expose this.
Screenshots If applicable, add screenshots to help explain your problem.
Environment details:
Output of HA logs
The ThinQ logs which show up when changing fan mode seem to indicate that it is using lowercase speed names:
Additional context
I'm not sure if the
high
/low
/etc is statically defined within HomeKit, are the expected standard names in Home Assistant, or something that each climate integration has to define in a way that HomeKit can find. I couldn't get it to trigger a mid but my old climate system did, so that makes me think it is some kind of changeable mapping.