2021.4: For our advanced users ❤️

Trying to sort out a few issues after upgrading to 2021.4.0 and now got this

Has anyone seen this issue ?

Platform error sensor.version - cannot import name ‘HaVersion’ from ‘pyhaversion’ (/usr/local/lib/python3.8/site-packages/pyhaversion/init.py)
Platform error sensor.version - cannot import name ‘HaVersion’ from ‘pyhaversion’ (/usr/local/lib/python3.8/site-packages/pyhaversion/init.py)
Platform error sensor.version - cannot import name ‘HaVersion’ from ‘pyhaversion’ (/usr/local/lib/python3.8/site-packages/pyhaversion/init.py)

A normal human reading that blurb wouldn’t necessarily equate a max of 3 to the percentage_step of the other fan configuration.

because looking at it in total (including having a minimum speed range) it doesn’t make sense that it would equal the number of speeds.

So someone could set the min at 50 and the max at 53 for a three speed fan?

While it might technically work it doesn’t lend itself to being helpful as a description of what’s going on and how to set up the code.

using a speed count along with 0 -100% makes way more user friendly sense.

Or maybe an example using it like that could’ve been helpful.

Does analytics page show custom integrations? It doesn’t seem to…

Ok, post that in the feedback!

1 Like

I thought I just did…

In every integration there’s a feedback button on the bottom of the page. Click that and post your feedback.

Seems to be a Windows/Samba problem. Checked the file using Samba Share and my Windows desktop PC and it was empty. Checking it on the Pi4 where HA is running the file has a lot of content. So now I could change my user to be “owner” and I can see the analytics options. Many thanks for your help!

1 Like

Very strange, but now the original code works as it did before. I literally did nothing more than try your code with the IF block to check for the existence of the forecast attribute (which did not work), tried a couple other things, which also did not work, and then reverted to my original code … which now works again. It seems the multiple restarts of HASS core sorted something out, because I am literally back to the identical config’ that worked before the upgrade.

speedtest integration not working with new update get this in the log file

Logger: homeassistant.config_entries
Source: components/speedtestdotnet/__init__.py:194
First occurred: 7:11:40 PM (1 occurrences)
Last logged: 7:11:40 PM

Error setting up entry SpeedTest for speedtestdotnet
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 249, in async_setup
    result = await component.async_setup_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/speedtestdotnet/__init__.py", line 75, in async_setup_entry
    await coordinator.async_setup()
  File "/usr/src/homeassistant/homeassistant/components/speedtestdotnet/__init__.py", line 194, in async_setup
    self.api = await self.hass.async_add_executor_job(speedtest.Speedtest)
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.8/site-packages/speedtest.py", line 1091, in __init__
    self.get_config()
  File "/usr/local/lib/python3.8/site-packages/speedtest.py", line 1173, in get_config
    ignore_servers = list(
ValueError: invalid literal for int() with base 10: ''
2 Likes

Thanks for commenting, looking a little more I found that it was a mqtt switch and not a sensor, I have edited it and the warning is gone, but the error message is still there and it refers to sensor

Logger: homeassistant.config_entries
Source: helpers/entity_component.py:174
First occurred: 1:14:21 (1 occurrences)
Last logged: 1:14:21

Error unloading entry configuration.yaml for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 353, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 77, in async_unload_entry
    return await hass.data[DOMAIN].async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 174, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!

Does anyone have any idea what it might be?

mine took almost 90 minutes. I run my HA in a container on a NUC and mariadb on my synology NAS.

Nothing scientific in this, but my similar issue somehow cleared up after trying some things which required multiple restarts. Eventually I reverted to the original config’ and it worked again as before. My suspicion is that the multiple restarts are what resolved the issue. I’m just saying that you might simply try restarting Home Assistant multiple times. It’s easy to do and couldn’t hurt. I think I restarted at least four times.

It doesn’t seem to work like that.

here is the new code:

  - platform: mqtt
    name: "Master Bedroom Fan"
    command_topic: "cmnd/iFan03-2/FanSpeed"
    state_topic: "stat/iFan03-2/RESULT"
    state_value_template: >
      {% if value_json.FanSpeed is defined %}
        {% if value_json.FanSpeed == 0 -%}off{%- elif value_json.FanSpeed > 0 -%}on{%- endif %}
      {% else %}
        {% if states.fan.master_bedroom_fan.state == 'off' -%}off{%- elif states.fan.master_bedroom_fan.state == 'on' -%}on{%- endif %}
      {% endif %}
    availability_topic: tele/iFan03-2/LWT
    payload_off: "off"
    payload_on: "on"
    payload_available: Online
    payload_not_available: Offline
    percentage_command_template: >
      {% if value == 2 %}
        1
      {% elif value == 3 %}
        2
      {% elif value == 4 %}
        3
      {% else %}
        0 
      {% endif %}
    percentage_command_topic: "cmnd/iFan03-2/FanSpeed"
    percentage_state_topic: "stat/iFan03-2/RESULT"
    percentage_value_template: >
      {% if value_json.FanSpeed == 1 %}
        2
      {% elif value_json.FanSpeed == 2 %}
        3
      {% elif value_json.FanSpeed == 3 %}
        4
      {% else %}
        0 
      {% endif %}
    speed_range_max: 4

Here is the result:

the steps are still 1.

But the slider still can be moved higher than the max of 4.

And the speeds don’t match the template. The low speed gets sent at 50%, med gets set at 75% and high gets set at 100%. So there must be some other processing going on behind the scenes that isn’t directly taken from the template.

I’ve done it many times already and the error keeps popping up, thanks for your help mate

The templates don’t look correct, there should be percentages that are used to set 1 through 4. I.e you should be dividing a value by the number of speeds. I’ll take a look in the morning

set_config_parameter is for device configuration parameters. set_value is more advanced and lets you set any value on a node (even values that Home Assistant doesn’t currently have support for, like metering, sound switch, etc). @raman325 can probably elaborate on the differences a bit more but that’s the gist of it.

1 Like

Right.

If I use 0 - 100% as the baseline (as in my previous template) it worked correctly.

But the percentage stops weren’t correct (i.e. you could set the percentage to 45 and it would gladly set it to that but then set the speed to off since it didn’t equal any of the preset percentages for low medium or high).

but if i set the max to 4 to presumably set the max to 4 at the right end of the slider and adjust the steps to 4 for the high speed then the calculations are all off.

I still say the easiest to understand would be to just set the speed_count as in the template fan.

Well actually it would be WAY easier if we could still just have a speed list for the users that benefited from it along with percentages but I guess that is not going to happen.

2 Likes

Same problem: after the upgrade, speedtest integration doesn’t work anymore, tried to reinstall it but it didn’t work.

@rak @tom_l

Thanks for getting me to look into this. I found that simply right clicking the mouse where I want the UUID gave me the option to generate one at that location too. (typing ‘gen’ didn’t seem to be working for me)

Now to go through my 116 automations and add ID’s :persevere:

1 Like

The default met.no integration is not loading on reboot after the update. I have to manually reload it to work again. Anyone having the same problem?

2021-04-08 03:03:39 ERROR (MainThread) [metno] https://aa015h6buqvih86i1.api.met.no/weatherapi/locationforecast/2.0/complete returned