2024.9: Sections go BIG

“a lot of things” is unhelpful.

2 Likes

Does this update mean we might see native support from aqara devices like a100?

Is the nice Car battery card implemented ? shown @23:00

That is a tile card, it has been available some time now. But the scrollbar is normally you cannot select afaik. So maybe some template was used to convert it to a type that can show the bar?

I’m still hating the new badges. I was hoping for a change to make them more configurable. Is there a way to wrap the text in the "new badges " description and move the text to the bottom instead of the top ?

Old:
Screenshot 2024-09-09 083228

New:

2 Likes

I’ve understood, having more than 10 days configured in e.g. mariaDB, causing some problems after performing the update to 2024.09.01 because of database migration. On my end, I’ve tried already 3 times. Always after ~5h I’m getting “Database migration failed” without any further details. My DB is stored on Synology NAS with SSD and plenty enough disc space. DB size is just 5GB.
Now I’m looking for a manual process to migrate the database on another system or with another command. Is there any alternative instead of going back to just 10 day history recording ? It works now since a year without any problem. Would be great, if somebody would have a smart hint.

And by the way a big thank to the developers. I really appreciate all you efforts you have spent already in creating such a great product!

Update2:
I could solve the issue by adjusting my.conf MariaDB config file by those lines:
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 1G
innodb_io_capacity = 1000
innodb_strict_mode = 0
innodb_read_io_threads = 16
innodb_write_io_threads = 16
lower_case_table_names = 1
tmpdir=/volume3/tmpMariaDB

Update of DB tooks now 30 minutes :slight_smile:

1 Like

No issues here either. Rebuilding my dashboard now that I have a full width card option.

with the update to from 2024.8.3 to 2024.9.1 I have negative values:

what is wrong?

My HA is fine too. I even ran the beta versions and none of them caused issue for me. That said, I don’t use the few Integrations you mentioned. Are they the only affected ones…?

A lot of them are the usual “I will report issues with custom integrations in the HA Core thread because I don’t know what I’m doing” type posts.

“all of them” or “ussual”? You are contradicting in single sentence.

guys please avoid playing down. it doesn’t help anyone.
Recent HA versions contain serious stability issues, regardless someone uses custom integration or not (most of us do anyway).

Distinguish a root cause is often out of a reach for many users.

1 Like

No, I said:

which is VERY different to how you misquoted me.

I do too however I do try to do my part in helping the HA dev team by taking part in the Beta each month.

6 Likes

That’s a wrap. Let’s move on. !!

After the Update to 2024.9.1 the Database upgrade Process are crashed now the second time!

image

Error Logs today:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
MySQLdb.OperationalError: (1206, 'The total number of locks exceeds the lock table size')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/recorder/core.py", line 981, in _migrate_schema
    new_schema_status = migrator(
                        ^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 334, in migrate_schema_live
    schema_status = _migrate_schema(
                    ^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 300, in _migrate_schema
    _apply_update(instance, hass, engine, session_maker, new_version, start_version)
  File "/usr/src/homeassistant/homeassistant/components/recorder/util.py", line 703, in wrapper
    job(instance, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 883, in _apply_update
    migrator_cls(instance, hass, engine, session_maker, old_version).apply_update()
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 929, in apply_update
    self._apply_update()
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 1761, in _apply_update
    _restore_foreign_key_constraints(
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 721, in _restore_foreign_key_constraints
    _add_constraint(session_maker, add_constraint, table, column)
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 753, in _add_constraint
    connection.execute(add_constraint)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/sql/ddl.py", line 180, in _execute_on_connection
    return connection._execute_ddl(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1529, in _execute_ddl
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2353, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1206, 'The total number of locks exceeds the lock table size')
[SQL: ALTER TABLE states ADD FOREIGN KEY(attributes_id) REFERENCES state_attributes (attributes_id)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

Logger: homeassistant.helpers.recorder
Quelle: helpers/recorder.py:101
Erstmals aufgetreten: 02:47:50 (10 Vorkommnisse)
Zuletzt protokolliert: 13:25:42

Error executing query
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
MySQLdb.OperationalError: (1206, 'The total number of locks exceeds the lock table size')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/recorder.py", line 101, in session_scope
    yield session
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 753, in _add_constraint
    connection.execute(add_constraint)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/sql/ddl.py", line 180, in _execute_on_connection
    return connection._execute_ddl(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1529, in _execute_ddl
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2353, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1206, 'The total number of locks exceeds the lock table size')
[SQL: ALTER TABLE states ADD FOREIGN KEY(attributes_id) REFERENCES state_attributes (attributes_id)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Logger: homeassistant.components.recorder.migration
Quelle: components/recorder/migration.py:753
Integration: Recorder (Dokumentation, Probleme)
Erstmals aufgetreten: 02:47:50 (10 Vorkommnisse)
Zuletzt protokolliert: 13:25:42

Could not update foreign options in states table
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
MySQLdb.OperationalError: (1206, 'The total number of locks exceeds the lock table size')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/recorder/migration.py", line 753, in _add_constraint
    connection.execute(add_constraint)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/sql/ddl.py", line 180, in _execute_on_connection
    return connection._execute_ddl(
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1529, in _execute_ddl
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2353, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 924, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/usr/local/lib/python3.12/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1206, 'The total number of locks exceeds the lock table size')
[SQL: ALTER TABLE states ADD FOREIGN KEY(attributes_id) REFERENCES state_attributes (attributes_id)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

The energy uses the total home consumption to calculate the grey part. If the grid import/export, solar, etc. sensors do not count all sources, or list them wrongly, the sum of individual power monitors might be higher then what HA thought it used. It may also be because you have emulated individual sources that are incorrect.

My guess is you have solar panels but did not list them? So grid import minus grid export is almost 0 at 7:00, and HA does not know solar delivers energy to the individual devices? Or the grid totals come in less than once an hour, so one moment it looks like you didn’t consume a thing, while the next hour all the energy for the last two hours is counted for that one hour?

You can try the adjustments I’ve made on MariaDB instance, which response similar like MySQL in post 2024.9: Sections go BIG - #183 by luftdieb (see also mysql - The total number of locks exceeds the lock table size - Stack Overflow)

You have to adjust tmpdir path to your local conditions.

I hope your MySQL server have more than 4GB RAM, just to avoid other problems with those settings.
After modification, you have to restart MySQL Server.

If you restart HA, migration is started newly after a small delay of ~60 seconds.

Finally got around to watch the release party, I tried to copy what was demonstrated with the vertical tiles (in a grid?) and what was almost jokingly announced as the new/super new badges replacing the legacy badges?

I must have missed the essentials there (went by without many details) so I hope this is what was shown:

New 'badges' in a grid?
square: true
type: grid
cards:
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
  - type: tile
    entity: sensor.home_assistant_core_cpu_percent
    vertical: true
    name: Cpu
layout_options:
  grid_columns: full
columns: 8

but somehow I dont think this is what was meant to be:

ofc, nevermind the actual entities, I’m merely trying to experiment with the layout of things here. Couldnt get this to show in the actual badges area, so it’s now the first card in the sections.

the main issue I have with this in my config is that it takes up a lot of (unused) space for those tiles and that is exaggerated by the diminished icon size., and those tiles dont resize to fit.

If the vertical option as for tiles gets added to badges, I’d be super happy.

1 Like

didnt see this mentioned before, but we have a new clear button on the event listener (Gebeurtenissen wissen) ! thanks for that, a really useful addition to the toolbox, when one restarts listening to the same event_type, but needs a clear screen.

having said that…
I am experiencing some issues with a homekit integrated Ikea smart button event entity, which is supposed to have either long_press, double_press or single_press as state

Only see this single press (eenmalig ingedrukt) in the frontend:

And, only my automation triggering on the single_press is executed, the other to event_types dont trigger at all. They all are triggering the single_press, which I can see happening because of the notification it sends.

Did something change in the way HomeKit deals with these devices/events? Anyone see something alike?

edit
I can add a new automation via the ui and use the device_trigger for any of the 3 event_types, so the device itself still emits these events ( for a second I feared Ikea would have changed their devices). According to the docs we can not see any event happening.

And yet we could do this:

    trigger:
      platform: state
      entity_id:
        - event.sneltoets_bureau_marijn
    condition:
      - >
        {{trigger.to_state.attributes.event_type == 'long_press'}}

or:

    trigger:
      platform: state
      entity_id: event.sneltoets_bureau_marijn
#       platform: device
#       device_id: 1c24d1239eb2
#       domain: homekit_controller
#       type: button1
#       subtype: single_press
    condition:
      condition: state
      entity_id: event.sneltoets_bureau_marijn
      attribute: event_type
      state: single_press

now how to get to the correct event entities again in 2024.9 , and trigger on their state_change
logged the issue in event entity state only single_press on Ikea Smart button · Issue #125736 · home-assistant/core · GitHub

I use the MariaDB Home Assistent Addon. My Server has 50gb free Diskspace and 10gb Ram.

After 9h of migration the process always stop. My database are 15GB

Have you tried to apply my settings for MariaDB I’ve mentioned in 2024.9: Sections go BIG - #183 by luftdieb ?