2024.12: Scene you in 2025! 🎄

This is why I make automations labelled as Scene instead of actual scenes. Capturing current state is cool but I’d rather just create an automation that sets everything up. Reliable and editable.

Seem to be having some stability issues with certain add ons in this update, nothing clear in the logs yet but PAI and Google backup seem to keep restarting.

I have 2 instances, one at home and one in my camper. In both are shellys installed and after the upgrade to 12.0 both lost connection to the Shellys. After restoring to 11.3 it works again.

1 Like

Netatmo is working ok for me after upgrading.

Zha not working on 2024.12

Logger: homeassistant.config_entries
Source: config_entries.py:640
First occurred: 7:47:00 AM (1 occurrences)
Last logged: 7:47:00 AM

Error setting up entry Sonoff Zigbee 3.0 USB Dongle Plus, s/n: 6692ec78e0c9eb118556914f1d69213e - ITead for zha
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 640, in __async_setup_with_context
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/zha/init.py”, line 132, in async_setup_entry
async with radio_mgr.connect_zigpy_app() as app:
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File “/usr/local/lib/python3.13/contextlib.py”, line 214, in aenter
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/zha/radio_manager.py”, line 182, in connect_zigpy_app
app = await self.radio_type.controller.new(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
app_config, auto_form=False, start_radio=False
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/usr/local/lib/python3.13/site-packages/zigpy/application.py”, line 239, in new
await app._load_db()
File “/usr/local/lib/python3.13/site-packages/zigpy/application.py”, line 111, in _load_db
await self._dblistener.load()
File “/usr/local/lib/python3.13/site-packages/zigpy/appdb.py”, line 684, in load
device = zigpy.quirks.get_device(device)
File “/usr/local/lib/python3.13/site-packages/zigpy/quirks/init.py”, line 43, in get_device
return _DEVICE_REGISTRY.get_device(device)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^
File “/usr/local/lib/python3.13/site-packages/zigpy/quirks/registry.py”, line 125, in get_device
raise MultipleQuirksMatchException(
f"Multiple matches found for device {device}: {matches}"
)
zigpy.exceptions.MultipleQuirksMatchException: Multiple matches found for device : [QuirksV2RegistryEntry(quirk_file=PosixPath(‘/usr/local/lib/python3.13/site-packages/zhaquirks/xiaomi/aqara/motion_agl1.py’), quirk_file_line=141, manufacturer_model_metadata=(ManufacturerModelMetadata(manufacturer=‘aqara’, model=‘lumi.sensor_occupy.agl1’),), friendly_name=FriendlyNameMetadata(model=‘Presence Sensor FP1E’, manufacturer=‘Aqara’), device_alerts=(), filters=(), custom_device_class=None, device_node_descriptor=None, skip_device_configuration=False, adds_metadata=(AddsMetadata(cluster=<class ‘zigpy.zcl.clusters.general.DeviceTemperature’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({})), AddsMetadata(cluster=<class ‘zhaquirks.xiaomi.aqara.motion_agl1.OccupancySensingLocal’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({})), AddsMetadata(cluster=<class ‘zhaquirks.xiaomi.aqara.motion_agl1.IasZoneLocal’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({}))), removes_metadata=(), replaces_metadata=(ReplacesMetadata(remove=RemovesMetadata(cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>), add=AddsMetadata(cluster=<class ‘zhaquirks.xiaomi.aqara.motion_agl1.OppleCluster’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({}))),), replaces_cluster_occurrences_metadata=(), entity_metadata=(NumberMetadata(entity_platform=<EntityPlatform.NUMBER: ‘number’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘approach_distance’, fallback_name=‘Approach distance’, attribute_name=‘approach_distance’, reporting_config=None, min=0, max=6, step=0.1, unit=<UnitOfLength.METERS: ‘m’>, mode=None, multiplier=0.01, device_class=<NumberDeviceClass.DISTANCE: ‘distance’>), ZCLSensorMetadata(entity_platform=<EntityPlatform.SENSOR: ‘sensor’>, entity_type=<EntityType.STANDARD: ‘standard’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘motion_distance’, fallback_name=‘Motion distance’, attribute_name=‘motion_distance’, reporting_config=None, divisor=1, multiplier=0.01, unit=<UnitOfLength.METERS: ‘m’>, device_class=<SensorDeviceClass.DISTANCE: ‘distance’>, state_class=<SensorStateClass.MEASUREMENT: ‘measurement’>), ZCLEnumMetadata(entity_platform=<EntityPlatform.SELECT: ‘select’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘motion_sensitivity’, fallback_name=‘Motion sensitivity’, enum=<enum ‘AqaraMotionSensitivity’>, attribute_name=‘motion_sensitivity’, reporting_config=None), WriteAttributeButtonMetadata(entity_platform=<EntityPlatform.BUTTON: ‘button’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘reset_no_presence_status’, fallback_name=‘Presence status reset’, attribute_name=‘reset_no_presence_status’, attribute_value=1), WriteAttributeButtonMetadata(entity_platform=<EntityPlatform.BUTTON: ‘button’>, entity_type=<EntityType.DIAGNOSTIC: ‘diagnostic’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘restart_device’, fallback_name=‘Restart device’, attribute_name=‘restart_device’, attribute_value=0)), device_automation_triggers_metadata=frozendict.frozendict({})), QuirksV2RegistryEntry(quirk_file=PosixPath(‘/config/zha_quirks/motion_agl1.py’), quirk_file_line=118, manufacturer_model_metadata=(ManufacturerModelMetadata(manufacturer=‘aqara’, model=‘lumi.sensor_occupy.agl1’),), friendly_name=FriendlyNameMetadata(model=‘Presence Sensor FP1E’, manufacturer=‘Aqara’), device_alerts=(), filters=(), custom_device_class=None, device_node_descriptor=None, skip_device_configuration=False, adds_metadata=(AddsMetadata(cluster=<class ‘zigpy.zcl.clusters.general.DeviceTemperature’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({})), AddsMetadata(cluster=<class ‘zigpy.zcl.clusters.measurement.OccupancySensing’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({}))), removes_metadata=(), replaces_metadata=(ReplacesMetadata(remove=RemovesMetadata(cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>), add=AddsMetadata(cluster=<class ‘motion_agl1.OppleCluster’>, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, constant_attributes=frozendict.frozendict({}))),), replaces_cluster_occurrences_metadata=(), entity_metadata=(NumberMetadata(entity_platform=<EntityPlatform.NUMBER: ‘number’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘approach_distance’, fallback_name=‘Approach distance’, attribute_name=‘approach_distance’, reporting_config=None, min=0, max=6, step=0.1, unit=None, mode=None, multiplier=0.01, device_class=<NumberDeviceClass.DISTANCE: ‘distance’>), ZCLEnumMetadata(entity_platform=<EntityPlatform.SENSOR: ‘sensor’>, entity_type=<EntityType.STANDARD: ‘standard’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘motion’, fallback_name=‘Motion’, enum=<enum ‘AqaraMotion’>, attribute_name=‘motion’, reporting_config=None), ZCLSensorMetadata(entity_platform=<EntityPlatform.SENSOR: ‘sensor’>, entity_type=<EntityType.STANDARD: ‘standard’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘motion_distance’, fallback_name=‘Motion distance’, attribute_name=‘motion_distance’, reporting_config=None, divisor=1, multiplier=0.01, unit=None, device_class=<SensorDeviceClass.DISTANCE: ‘distance’>, state_class=<SensorStateClass.MEASUREMENT: ‘measurement’>), ZCLEnumMetadata(entity_platform=<EntityPlatform.SELECT: ‘select’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘motion_sensitivity’, fallback_name=‘Motion sensitivity’, enum=<enum ‘AqaraMotionSensitivity’>, attribute_name=‘motion_sensitivity’, reporting_config=None), WriteAttributeButtonMetadata(entity_platform=<EntityPlatform.BUTTON: ‘button’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘reset_no_presence_status’, fallback_name=‘Presence status reset’, attribute_name=‘reset_no_presence_status’, attribute_value=1), WriteAttributeButtonMetadata(entity_platform=<EntityPlatform.BUTTON: ‘button’>, entity_type=<EntityType.CONFIG: ‘config’>, cluster_id=64704, endpoint_id=1, cluster_type=<ClusterType.Server: 0>, initially_disabled=False, attribute_initialized_from_cache=True, translation_key=‘restart_device’, fallback_name=‘Restart device’, attribute_name=‘restart_device’, attribute_value=0)), device_automation_triggers_metadata=frozendict.frozendict({}))]

See here: Sun next setting is wrong · Issue #131850 · home-assistant/core · GitHub

I regularly see this problem after updating but it seems to correct itself after midnight. If I update the automations don’t kick in for the sun state. If I update in the early morning, the sunrise doesn’t work. The next time those come around they seem to be working. Maybe its forgetting the current sun state or miscalculating it?

Curious I started digging and noticed that the core.restore_state doesn’t have sensor data.
Perhaps because its listed as a sensor, and sensors are volatile and their data is refreshed the next time they sense, maybe Sun shouldn’t be a sensor, or perhaps it just needs to revaluate its current state after restart.

I think what needs to happen is we implement a RestoreEntity method for it, and then decide will it resume from last state or should it simply recalculate its current state.

Not sure if this is relevant: Retain last state change data of a sensor after reboot - #37 by EinSchwerd

its solved. Update in HACS

Honestly? Switch to Docker. It’s a trivial thing to do (I did it myself) and your problems will go away.

Also on me ZHA is not working (with Lidl coordinator, custom firmware) after 2024.12 update. Reverting back to Core 24.11.3 / Supervizor 2024.11.4 solve the problem.

Yes, after completely deleting the Integration and re-installing, it now works again.

Ran into the exact same thing. If you read the very log message you just posted, it tells you why – multiple matching quirks for your Aqara FP1E presence sensor. The custom quirk made by jeverly which you probably installed has been updated and is now shipped with HA itself. Removing the custom quirk and rebooting will fix things. For sure a very user un-friendly fail-mode by ZHA though…

checked all backend logic today, and must have been a handmade user fluke yesterday,
all of my yaml scripts/automations using the modern syntax behaved correctly at sunrise :wink:

given the fact I dont have ‘old’ syntax anywhere, I must conclude all is well after all.

That’s great, thanks for info. Now it’s only who will do it (i’d say the one who “messed up” should correct that… in any case someone who know how to do it…)

But i guess that in any case we have to wait for next HA update for this to become effective…

No. Minor releases are for bug fixes. That’s what this is.

Open an issue with the PR and it should be reverted if it is as obvious a mistake as you claim.

2 Likes

As it was said before, if you are using the custom ShellyForHass integration you need to get rid of it and use the Shelly core integration. ShellyForHas has been dead for a year and probably no one will ever fix it.

Upgrading to version 2024.12.0. Get notification ‘Unable to set up dependencies of ‘default_config’. Setup failed for dependencies: [‘stream’]’.Following rtsp:/ based stream cameras stop working. Appreciate any advice.

I meant those minor updates, yes.
But, i never worked with lokalize, so i don’t know the interface neither how/where to open that issue…

1 Like

Me either. I’ll see if I can find out for you.

1 Like

This ?

Logger: homeassistant.setup
Source: setup.py:416
First occurred: 5 December 2024 at 08:20:54 (1 occurrences)
Last logged: 5 December 2024 at 08:20:54

Error during setup of component stream
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 416, in _async_setup_component
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 226, in async_setup
    await hass.async_add_executor_job(set_pyav_logging, debug_enabled)
  File "/usr/local/lib/python3.13/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/stream/__init__.py", line 196, in set_pyav_logging
    import av  # pylint: disable=import-outside-toplevel
    ^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/av/__init__.py", line 3, in <module>
    from av._core import time_base, library_versions, ffmpeg_version_info
ImportError: Error loading shared library : No such file or directory (needed by /usr/local/lib/python3.13/site-packages/av/../av.libs/libjxl-2cfeb5f2.so.0.10.2)

They probably forgot to put it in the docker for arm

1 Like

The devs are now aware of the issue.

2 Likes