Unstable System since updating from 2026.6.2 to 2026.9.2

Hello Community,

I’ve updated yesterday to 2026.9.2 from 2026.6.2 and since then my HA installation is unstable.

I had tried updating to 2026.8.2 without success in August, see my previous post: 2026.8: Approachable by design - #433 by lightisright

Since then I waited patiently for 2026.9 to be released thinking it would be better, but of course it wasn’t.

I’ve had the same problems as with 2026.8 when upgrading to 2026.9:

  • At first frontend unreachable for hours whether it is from the local network or from the Internet (while the IP address is reachable)
  • Multiple reboots didn’t solve the issue
  • At some point after a new reboot, the system finally became available. Everything seemed fine: all devices up, zigbee2mqtt running.
  • However after a few hours, all my devices were seen as unavailable: zigbee2mqtt was down.
  • I restarted the system once more and it was fine until this morning when I checked again: devices unavailable again and zigbee2mqtt down.

I’ve downloaded the logs and it seems that something happened around 5:00am:

[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/health', payload '{"response_time":1789441318604,"os":{"load_average":[2.19,0.55,0.19],"memory_used_mb":1379.25,"memory_percent":17.3701},"process":{"uptime_sec":53414,"memory_used_mb":156.39,"memory_percent":1.9696},"mqtt":{"connected":true,"queued":0,"published":2361,"received":161},"devices":{"0xa4c138c59e6c89e4":{"messages":101290,"messages_per_sec":1.8968,"leave_count":0,"network_address_changes":0},"0x3425b4fffeba579c":{"messages":339,"messages_per_sec":0.0064,"leave_count":0,"network_address_changes":0},"0x90395efffe36c537":{"messages":355,"messages_per_sec":0.0067,"leave_count":0,"network_address_changes":0},"0xa4c1387d40412cfe":{"messages":368,"messages_per_sec":0.0069,"leave_count":0,"network_address_changes":0},"0x38398ffffe6873e7":{"messages":338,"messages_per_sec":0.0063,"leave_count":0,"network_address_changes":0},"0x3425b4fffefdbdb1":{"messages":366,"messages_per_sec":0.0069,"leave_count":0,"network_address_changes":0},"0x4c5bb3fffe0c872c":{"messages":380,"messages_per_sec":0.0071,"leave_count":0,"network_address_changes":0},"0xa4c138a3eeac9439":{"messages":346,"messages_per_sec":0.0065,"leave_count":0,"network_address_changes":0},"0xa4c138a4486f4ff1":{"messages":343,"messages_per_sec":0.0064,"leave_count":0,"network_address_changes":0},"0xbc026efffec3f1bb":{"messages":345,"messages_per_sec":0.0065,"leave_count":0,"network_address_changes":0},"0x4c5bb3fffe04dd07":{"messages":387,"messages_per_sec":0.0073,"leave_count":0,"network_address_changes":0},"0x90395efffe51d30a":{"messages":349,"messages_per_sec":0.0066,"leave_count":0,"network_address_changes":0},"0x4c5bb3fffe2f1ee8":{"messages":379,"messages_per_sec":0.0071,"leave_count":0,"network_address_changes":0},"0xa4c138db0bda42c0":{"messages":45,"messages_per_sec":0.0008,"leave_count":0,"network_address_changes":0},"0x04e3e5fffe6a4e1c":{"messages":50,"messages_per_sec":0.0009,"leave_count":0,"network_address_changes":0},"0xa4c13850003ea74d":{"messages":8,"messages_per_sec":0.0002,"leave_count":0,"network_address_changes":0},"0xa4c1389030f382ec":{"messages":38,"messages_per_sec":0.0007,"leave_count":0,"network_address_changes":0},"0xa4c138a548fa9022":{"messages":41,"messages_per_sec":0.0008,"leave_count":0,"network_address_changes":0},"0xe0798dfffe2758a4":{"messages":6,"messages_per_sec":0.0001,"leave_count":0,"network_address_changes":0}}}'
[2026-09-15 05:01:58] e[31merrore[39m: 	zh:ember:uart:ash: Received ERROR from adapter, with code=ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT.
[2026-09-15 05:01:58] e[31merrore[39m: 	zh:ember:uart:ash: ASH disconnected | Adapter status: ASH_NCP_FATAL_ERROR
[2026-09-15 05:01:58] e[31merrore[39m: 	zh:ember:ezsp: Fatal error, status=ASH_NCP_FATAL_ERROR. Last Frame: [FRAME: ID=52:"SEND_UNICAST" Seq=44 Len=7]
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash: ASH COUNTERS since last clear:
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Total frames: RX=16866, TX=22388
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Cancelled   : RX=0, TX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   DATA frames : RX=16852, TX=5523
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   DATA bytes  : RX=359940, TX=143652
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Retry frames: RX=13, TX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   ACK frames  : RX=0, TX=16865
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   NAK frames  : RX=0, TX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   nRdy frames : RX=0, TX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   CRC errors      : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Comm errors     : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Length < minimum: RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Length > maximum: RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Bad controls    : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Bad lengths     : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Bad ACK numbers : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Out of buffers  : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Retry dupes     : RX=13
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   Out of sequence : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash:   ACK timeouts    : RX=0
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash: Port closed, error=null
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:uart:ash: ======== ASH stopped ========
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember:ezsp: ======== EZSP stopped ========
[2026-09-15 05:01:58] e[32minfoe[39m: 	zh:ember: ======== Ember Adapter Stopped ========
[2026-09-15 05:01:58] e[31merrore[39m: 	z2m: Adapter disconnected, stopping
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m: Stopping Zigbee2MQTT (restart=false, code=2, signal=undefined)
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"offline"}'
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m: Disconnecting from MQTT server
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m: Stopping zigbee-herdsman...
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m: Stopped zigbee-herdsman
[2026-09-15 05:01:58] e[32minfoe[39m: 	z2m: Stopped Zigbee2MQTT

Also I can see a huge amount of sqlalchemy errors in the HA Core logs:

File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2261, in _execute_internal
    conn = self._connection_for_bind(bind)
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2113, in _connection_for_bind
    return trans._connection_for_bind(engine, execution_options)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 2, in _connection_for_bind
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/state_changes.py", line 101, in _go
    self._raise_for_prerequisite_state(fn.__name__, current_state)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 998, in _raise_for_prerequisite_state
    raise sa_exc.InvalidRequestError(
    ...<2 lines>...
    )
sqlalchemy.exc.InvalidRequestError: This session is in 'prepared' state; no further SQL can be emitted within this transaction.e[0m
e[31m2026-09-15 13:31:33.867 ERROR (Recorder) [homeassistant.components.recorder.core] Error in database connectivity during commit: Error executing query: (sqlite3.OperationalError) disk I/O error
(Background on this error at: https://sqlalche.me/e/20/e3q8). (retrying in 3 seconds)e[0m
e[31m2026-09-15 13:31:36.867 ERROR (Recorder) [homeassistant.components.recorder.core] SQLAlchemyError error processing task CommitTask()
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 898, in _process_one_task_or_event_or_recover
    task.run(self)
    ~~~~~~~~^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/tasks.py", line 311, in run
    instance._commit_event_session_or_retry()  # noqa: SLF001
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 1194, in _commit_event_session_or_retry
    self._commit_event_session()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 1220, in _commit_event_session
    session.execute(
    ~~~~~~~~~~~~~~~^
        update(States),
        ^^^^^^^^^^^^^^^
    ...<8 lines>...
        ],
        ^^
    )
    ^
  File "/usr/local/lib/python3.14/site-packages/sqlalchemy/orm/session.py", line 2373, in execute
    return self._execute_internal(
           ~~~~~~~~~~~~~~~~~~~~~~^
        statement,
        ^^^^^^^^^^
    ...<4 lines>...
        _add_event=_add_event,
        ^^^^^^^^^^^^^^^^^^^^^^
    )
    ^

My system runs on RPi 5:

  • Installation method: Home Assistant OS
  • Core: 2026.9.2
  • Supervisor: 2026.09.0
  • Operating System: 18.2
  • Frontend: 20260826.7
  • Companion app: 2026.9.0 (2026.2874)

Do you have any idea why zigbee2mqtt keeps crashing? Were do these sqlalchemy errors come from?

Thanks for your help!

Overkiz integration is also down, no data since 4:50am:

Matter server was also down and I was getting errors when trying to start it. I tried to reboot the system and it got worse:

  • Either after some hard resets the system was unresponsive at the network level (no response to ping)
  • Or after some other resets I could reach its IP address but I wasn’t able to connect and the services were down (no device reconnected)

In the end I used another SD Card to build a new system and upload a 2026.6.2 backup: I was able to get it working again and updating to 2026.9.2 went smoothly after that.

Maybe the problem was due to HA Core? I don’t really understand…

I’ve found the safest (but headache) way to ensure stability is to always read release notes and then upgrade every single time there any type of update to everything and anything, always backing everything up first.

I have run into issues sometimes but not often, and whenever I do I actively make sure I am running the very latest stable version of every piece of software, and pound on it endlessly until it is fixed, and then do another backup.

It is time consuming but that keeps it in top running condition. For those of you who cannot spend the time, I understand the difficulty! Possibly do some upgrades to the in between versions instead of jumping to the latest, to resolve in-between issues that pop up? A multiple version jump can also show an issue which is actually a combination of two or more issues, which makes troubleshooting much harder…

Z2M, and MQTT are totally independent of HA updates, so I’m not sure how a HA release could affect it.

Are you an SD-Card or an SSD? It looks like you have issues with the database/media.

If the only thing you’ve actually really changed is the SD card that looks like the smoking gun to me that would also account for the disc IO errors reported by SQL alchemy