2021.3: My Oh My

So I don’t think you have to worry about this but I’m not familiar with mqtt fan so it may be different. I had a few template fans in my setup and all I did was this:

  1. Replace any reference to speed with preset_mode (literally just find and replace, clean switch)
  2. Remove off from the list of preset_modes. You turn the fan off using turn_off, any preset mode is condiered on
  3. Adjust my preset_mode_template to ignore the removed off option (just return '' when that is what is selected)

I didn’t add a percentage_template or acknowledge it in anyway and my fans now work fine. I just use preset_mode like I used to use speed.

It was nicer to have a dropdown of all the options instead of having a dropdown of all the on options and a nameless turn_off option. But its not much different in the end.

Although one thing I’m not doing currently is exposing any of the fans I have to google assistant. I would hope you would still be able to address the preset modes in a voice assistant and not have to know the percentages otherwise that would not be a good experience for the reasons you outlined.

1 Like

Thanks for that info.

It was way more information than is in the docs.

The concern about the voice control was caused by this from the breaking changes:

Additionally, it’s a lot easier to ask your voice assistant to set the fan to 20% then remember that medium-low is actually low-medium or have to learn and remember how to say the speeds for every fan model you want to control.

Hopefully it won’t be a concern.

1 Like

Yep, good point, forgot it said that. So I decided to test it and exposed one of my fans to google assistant just now to see what happened. Looks like I’m only able to turn it on and off, can’t figure out any way to change to a preset mode (even manually typing in commands). I also couldn’t change the percentage, maybe if you don’t provide a percentage_template it tells google its an on/off only fan?

I can’t make a before and after comparison here since I didn’t have a fan exposed to google assistant prior to this. Also behavior could be different on other voice assistants, not sure which you use.

That does seem like a potential pain point though. Definitely much easier to use names if your fan doesn’t actually support setting to a specific percent speed.

1 Like

me too, please help as i have many devices use this feature to send V_TEXT message.
i use Node-red to send notify.mysensors but now i get “Call-service API error. Error Message: Service not found.”

i logged an issue https://github.com/home-assistant/core/issues/47647

And unfortunately from the lack of “official” responses here after asking a few times it looks like we’re on our own. :disappointed:

And again, why would the speed controls be deprecated? They seem to be working fine together right now. Why the need to remove that functionality?

Let the people who want to use the percentages or presets use those and let the people who want to use speeds use those. I haven’t tested the new version with my Echo’s yet (not home) so I don’t know if there will be an issue there with the current functionality.

3 Likes

Someone got a working fan template for those of us that are based on the brightness attribute of a light entity in another thread. It works but it complains about the off position (because no brightness data when light is off). I was told to add a default to the operation but it still complains in the log. It would be nice to just have the regular speed list back (in addition to the new percentage slider too of course)

If there’s a way to still have drop down in our case… examples would be very appreciated :frowning:

1 Like

This update broke controlling my zwave fans with Alexa. Saying “set office fan to low” sets the my GE fan control switch to 33%, but to it, that is medium, not low. Why was the fan presets removed and the percentages added? Percentages should have been added and the presents left intact.

Can we get a fix please?

2 Likes

Yes, I have opened the one, but with new update the problem still there… Without proper editor I cannot use new version.

@mirekmal - did you resolve your issue with ConditionErrorMessage(“zone”, “no zone specified”) ?

I’m getting a similar error, but for a different geo system:

2021-03-09 10:09:50 ERROR (MainThread) [homeassistant.helpers.event] Error while processing event <Event state_changed[L]: entity_id=geo_location.rfs_wallgrove_rd_eastern_creek, old_state=None, new_state=<state geo_location.rfs_wallgrove_rd_eastern_creek=26.7; latitude=-33.81448, longitude=150.85146, source=nsw_rural_fire_service_feed, external_id=https://incidents.rfs.nsw.gov.au/api/v1/incidents/409965, category=Not Applicable, location=Wallgrove Rd, Eastern Creek, NSW 2766, attribution=State of New South Wales (NSW Rural Fire Service), publication_date=2021-03-09T09:58:00+11:00, council_area=Blacktown, status=Out of control, type=MVA/Transport, fire=False, size=0 ha, responsible_agency=Fire and Rescue NSW, unit_of_measurement=km, friendly_name=Wallgrove Rd, Eastern Creek, icon=mdi:alarm-light, hide_attributes=['templates'] @ 2021-03-09T10:09:50.263905+11:00>> for domain geo_location
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/event.py", line 416, in _async_dispatch_domain_event
    hass.async_run_hass_job(job, event)
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/core.py", line 435, in async_run_hass_job
    hassjob.target(*args)
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/geo_location/trigger.py", line 55, in state_change_listener
    to_match = condition.zone(hass, zone_state, to_state) if to_state else False
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/condition.py", line 668, in zone
    raise ConditionErrorMessage("zone", "no zone specified")
homeassistant.exceptions.ConditionErrorMessage: In 'zone' condition: no zone specified
2021-03-09 10:09:50 ERROR (MainThread) [homeassistant.helpers.event] Error while processing event <Event state_changed[L]: entity_id=geo_location.rfs_wallgrove_rd_eastern_creek, old_state=None, new_state=<state geo_location.rfs_wallgrove_rd_eastern_creek=26.7; latitude=-33.81448, longitude=150.85146, source=nsw_rural_fire_service_feed, external_id=https://incidents.rfs.nsw.gov.au/api/v1/incidents/409965, category=Not Applicable, location=Wallgrove Rd, Eastern Creek, NSW 2766, attribution=State of New South Wales (NSW Rural Fire Service), publication_date=2021-03-09T09:58:00+11:00, council_area=Blacktown, status=Out of control, type=MVA/Transport, fire=False, size=0 ha, responsible_agency=Fire and Rescue NSW, unit_of_measurement=km, friendly_name=Wallgrove Rd, Eastern Creek, icon=mdi:alarm-light, hide_attributes=['templates'] @ 2021-03-09T10:09:50.263905+11:00>> for domain geo_location
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/event.py", line 416, in _async_dispatch_domain_event
    hass.async_run_hass_job(job, event)
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/core.py", line 435, in async_run_hass_job
    hassjob.target(*args)
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/geo_location/trigger.py", line 55, in state_change_listener
    to_match = condition.zone(hass, zone_state, to_state) if to_state else False
  File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/condition.py", line 668, in zone
    raise ConditionErrorMessage("zone", "no zone specified")
homeassistant.exceptions.ConditionErrorMessage: In 'zone' condition: no zone specified

Thanks again for the help in the other thread.
Here’s what my fan looks like in Alexa now

I don’t recall the interface in the app before so don’t know if these sliders were always here before but using voice commands it’s only responding to “set fan to number” with number being the percent. There’s a slider on the bottom for fan speed 0 - 3 but it’s not controlling anything, just updating after the fact…

So if you say “set fan to low” it doesn’t work and makes you set a percentage value?

That’s what I was hoping against.

Right, fan does nothing which makes sense there’s no speed list anymore.

the logbook shows this

Amazon Alexa send command Alexa.RangeController/SetRangeValue for Living room fan by Home Assistant Cloud

and the log shows it’s using fan.set_speed, complains about it being deprecated

1 Like

Replying to myself, found the issue.

My code for handling zones referenced a zone that didn’t actually exist. 2021.3 has https://github.com/home-assistant/core/pull/46253 which now raises an error that was silently ignored in the past. Fixed my code, and going to recommend the error be “enhanced” to say which zone doesn’t actually exist.

2 Likes

At we at the point of tagging the major players for attention to this fan issue?
I won’t be updating until there is a solution, which I’m not happy about because I like meeting things up to date

3 Likes

Thanx for another update! But when I did the update I see the following " Translation Error: The intl string context variable “naam” was not provided to the string “Herstart {naam}”

Translation Error: The intl string context variable “naam” was not provided to the string “Weet u zeker dat u {naam} opnieuw wilt starten?”"

This was also with the previous update.

Update was executed.

yes, I do get daily error message due to troubles with snapshot --> tar.file.

Any idea how to solve this? Thx

Thanks a lot for the hint! Indeed I was doing some housekeeping on entities names recently and I changed the name of one zone, that I forgot to rename also in automation… now the log is clear of these messages!

1 Like

Got ‘Unknown error’ see supervisor log…

this happened every update since 2021.3. manageged to update anyway trough 2021.3.1 and 2021.3.2 but getting stuck at 2021.3.3 any solution?

(edit: It seems when i disable the snapshot option at the update… I still get the error, but manage to update somehow)

Please open an issue.

1 Like

Not sure if this is the same problem. This solved my problem by defining fields in my script. Documentation: https://www.home-assistant.io/integrations/script#fields
My ticket that lead to the above: https://github.com/home-assistant/frontend/issues/8591