2024.2: More voice, more icons, more integrations, more... everything!

I have Home Assistant OS installed in Proxmox, after the update the following problems appeared:

Invalid config
The following integrations and platforms could not be set up:

* [xiaomi_airfryer](https://github.com/tsunglung/XiaomiAirFryer) ([Show logs](https://myhassioserv.duckdns.org/config/logs?filter=xiaomi_airfryer))
* [roborock](https://www.home-assistant.io/integrations/roborock) ([Show logs](https://myhassioserv.duckdns.org/config/logs?filter=roborock))
* [xiaomi_miio](https://www.home-assistant.io/integrations/xiaomi_miio) ([Show logs](https://myhassioserv.duckdns.org/config/logs?filter=xiaomi_miio))
* [xiaomi_miot](https://github.com/al-one/hass-xiaomi-miot) ([Show logs](https://myhassioserv.duckdns.org/config/logs?filter=xiaomi_miot))

Please check your config and [logs](https://myhassioserv.duckdns.org/config/logs).

Two custom integrations and two - Roborok and xiaomi_miio stopped working.

The problem is “Error occurred loading flow for integration xiaomi_miio: No module named ‘imp’”.

One of the integrations that resonates most with me is xiaomi_miio:

 Logger: homeassistant.config_entries
Source: config_entries.py:2275
First occurred: 12:03:00 (3 occurrences)
Last logged: 12:12:28
Error occurred loading flow for integration xiaomi_miio: No module named 'imp'

and custom Air Fryer

Logger: homeassistant.setup
Source: setup.py:251
First occurred: 11:58:42 (4 occurrences)
Last logged: 11:58:57

Setup failed for custom integration 'xiaomi_airfryer': Unable to import component: No module named 'imp'
Setup failed for 'roborock': Unable to import component: No module named 'imp'
Setup failed for 'xiaomi_miio': Unable to import component: No module named 'imp'
Setup failed for custom integration 'xiaomi_miot': Unable to import component: No module named 'imp'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 251, in _async_setup_component
    component = integration.get_component()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 827, in get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 994, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/xiaomi_airfryer/__init__.py", line 29, in <module>
    from miio import DeviceException
  File "/usr/local/lib/python3.12/site-packages/miio/__init__.py", line 12, in <module>
    from miio.device import Device, DeviceStatus  # isort: skip
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/miio/device.py", line 13, in <module>
    from .miioprotocol import MiIOProtocol
  File "/usr/local/lib/python3.12/site-packages/miio/miioprotocol.py", line 13, in <module>
    import construct
  File "/usr/local/lib/python3.12/site-packages/construct/__init__.py", line 22, in <module>
    from construct.core import *
  File "/usr/local/lib/python3.12/site-packages/construct/core.py", line 3, in <module>
    import struct, io, binascii, itertools, collections, pickle, sys, os, tempfile, hashlib, importlib, imp
ModuleNotFoundError: No module named 'imp'

I use Home Assistant OS and I do not have full access to Debian to solve the problem myself, I hope the developers will see my messages and this will help fix the problem.

* Core 2024.2.1
* Supervisor 2024.01.1
* Operating System 11.5
* Frontend 20240207.1

There is a section in developer tools > assist which you can use to debug that. It sounds like it used the intent to set the brightness of your lights.

If you use something light set <area> to 50 it will probably get confused with the intent to set the lights on that area to 50%

Edit:
Oh sorry, seems you already found that

just discovered that yesterday. first sentence went ok, but entering a second there hang the system…
apparently it is a costly process, might be related to Increased processor use from Assist Pipeline · Issue #110112 · home-assistant/core · GitHub

Not running on a beast of a system, but a miniPC should be decent enough. still, its crunching.

I got this in my log when I updated today:
aiohttp.client_exceptions.ClientResponseError: 429, message=‘This request has been throttled due to an excessive amount of traffic to our service.’, url=URL(‘https://app.melcloud.com/Mitsubishi.Wifi.Client/Device/Get?id=xxxxxxxxxx&buildingID=xxxxxx’)
I have inactivated the integration and will resume it tomorrow to see if it was a temporary problem.

The only issue I found with the Tuya integration is not all entities work properly. I have several fans and only the light entity works. The fan entity errors out.

Awesome new build 2024.2.x

I was wondering if more people are having this issue;

I’ve got 4 camera streams all working for over a year.

Four picture glance cards in Lovelace… Since 2024.2.x some of them don’t load / showing video. Got to refresh/f5 but really since 2024.2 downgraded/ restored backup 2024.1 and no issue. Loading then also takes card empty for a second or so but it shows up. Then updated again, and one of them again don’t shows up on first page load.

Really weird…

4 cam streams are rtsp… H264 And all were working before and seems one of them on new version struggling to show up

1 Like

Having the exact same issue. This was working previously for over a year on 5 different casted Google Hub’s around my house but now the streams are freezing entirely, do not appear or are many minutes/hours behind.

I’m going to roll back for now until this is fixed

1 Like

Has anyone had issues with Google TTS since the update? My automations are making the speakers go “splang”, but not producing any speech.

Getting the same behaviour if I open the device, Browse Media -> Text to speech -> Google and ask it to say something.

Yeah really weird…

I downgraded / restored 2024.1.x (latest) really like five times and updated to 2024.2 again… changed nothing and it’s really happening only on 2024.2

Not really much going on in logs though

Are you also using Frigate for the streams?

No I’m not using that… Look interesting though

This may be worth posting an issue on Home Assistant GitHub Core …

I came across the following:

1 Like

It’s not so much an issue of the OS, but more related to the database functionnality and if it was decided to implement free-form geometry fencing.

I would say there is a solution for the databases that are used:

The areas can be recorded in a separate table. Circles need to be converted into consecutive segments to do spatial indexing on them as well. Once a spatial index exists, the database engine can do the job of efficiently finding the areas that contain the position.

I thing my issue with rtsp streams has to do something with updated HLS.js package used in frontend.

Issue comes up when updated to 2024.2 but only when new frontend is loaded by notification that there is a new frontend to load… Then page force refreshed by home assistant, and then issue is popping up.

Is there a way to debug hls? :grimacing:

same here, going to roll back to 2024.1.6 until it gets sorted

I encounter an issue with the modbus integration, where I get the following error:

InvalidStateError: Invalid state with length 285. State max length is 255 characters.

It happens while using the AmtronXtraModbus template from @mfaust78 and I documented more details about the issue here.

Is anyone seeing the same or a similar issue with modbus? I downgraded back to 2024.1.6 and there it works again.

States have always been limited to 255 characters, and as that is a third party template you have raised the issue in the correct place.

Thanks Tom, I am aware of the 255 character limitation, I am using the standard HA modbus integration and I just mentioned the 3rd party template, but that is just a template. Isn’t the modbus integration itself part of HA core? I am copying my config below. It only reads “count: 38” and nothing changed between 2024.1 and 2024.2 in that configuration, so I am wondering what actually changed? Thanks.

My configuration is using the standard HA modbus integration (https://github.com/home-assistant/core/tree/dev/homeassistant/components/modbus):

# https://www.home-assistant.io/integrations/modbus/
- name: Mennekes Amtron Xtra
  type: tcp
  host: 192.168.12.200
  port: 502
  timeout: 5
  delay: 1
  sensors:
    - name: "Mennekes Amtron Xtra Registers"
      unique_id: f41b022d-c1bd-41d2-a01b-16700c5fde6d
      slave: 255
      address: 0x0300
      scan_interval: 10
      input_type: input
      count: 38
      data_type: custom
      structure: ">2h15H22B10H"
      
    - name: "Mennekes Amtron Xtra - Stromlimit Setzen"
      unique_id: 6d3696ea-4a91-458c-8b71-6de2906e1a99
      slave: 255
      address: 0x0400
      scan_interval: 10
      data_type: uint16
      input_type: holding
      unit_of_measurement: A
      device_class: current      

    - name: "Mennekes Amtron Xtra - Ladezustand Setzen"
      unique_id: e06c40d0-ad10-4197-b41a-7c0f2856f36f
      slave: 255
      address: 0x0401
      scan_interval: 10
      data_type: uint16
      input_type: holding

Okay, did some more digging and it looks like “count: 38” and the python struct: ">2h15H22B10H" actually leads to 285 Bytes and 2024.1 apparently truncated it or did something else and therefore it wasn’t a problem. 2024.2 now throws an error. I changed it to “count: 31” and structure: ">2h15H22B3H" which still gives me all the template sensor values out of the payload that I need and that now is less than 255 bytes and works fine. Sorry about the noise, but maybe it actually helps someone else as well who runs into similar issues. Thanks!

3 Likes

Does the MQTT breaking change refer to entries in the config yaml file or something else? I only have two mgtt_room entries for espresense in my config so I think I’m OK, but just want to be sure.