#SQL integration error

1 messages · Page 1 of 1 (latest)

valid iron
#
Error adding entity sensor.sql_entities_totalrowcount for domain sensor with platform sql
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 598, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 912, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1365, in add_to_platform_finish
    await self.async_added_to_hass()
  File "/usr/src/homeassistant/homeassistant/components/sql/sensor.py", line 345, in async_added_to_hass
    await self.async_update()
  File "/usr/src/homeassistant/homeassistant/components/sql/sensor.py", line 355, in async_update
    data = await get_instance(self.hass).async_add_executor_job(self._update)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sql/sensor.py", line 379, in _update
    data = res[self._column_name]
           ~~~^^^^^^^^^^^^^^^^^^^
  File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 57, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl_mapping
  File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 63, in sqlalchemy.cyextension.resultproxy.BaseRow._get_by_key_impl
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/result.py", line 203, in _key_not_found
    self._key_fallback(key, None)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/cursor.py", line 824, in _key_fallback
    raise exc.NoSuchColumnError(
sqlalchemy.exc.NoSuchColumnError: Could not locate column in row for column 'state'
#

Here the current yaml code:

sql:
  - name: SQL Entities TotalRowCount
    unique_id: sql_entities_totalrowcount
    query: >
      SELECT s.metadata_id,
            sm.entity_id,
            COUNT(*) AS TotalRowCount
      FROM states s
      JOIN states_meta sm ON s.metadata_id = sm.metadata_id
      WHERE s.last_updated_ts < strftime('%s', '2023-06-01 00:00:00')
      GROUP BY s.metadata_id, sm.entity_id
      ORDER BY TotalRowCount DESC;
    column: "state"