
Можете помочь, не пойму какой ip вставлять? По каким адресам контейнеры между собой общаються?
Про какой шаг идет речь?
Приветствую.
Все сделал по инструкции… все поднялось. администрирование работает,
но в логах ловится такое (фрагмент):
File “/usr/local/lib/python3.11/site-packages/MySQLdb/connections.py”, line 193, in init
super().__init__(*args, **kwargs2)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.117 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.220 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.322 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.323 ERROR (Recorder) homeassistant.components.recorder.core Unhandled database error while processing task EventTask(event=<Event state_changedL: entity_id=sensor.contact_battery, old_state=, new_state=>): (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 145, in init
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 3288, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 452, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 1267, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 721, in checkout
with util.safe_reraise():
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 146, in exit
raise exc_value.with_traceback(exc_tb)
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 719, in checkout
dbapi_connection = rec.get_connection()
^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 839, in get_connection
self.__connect()
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 902, in __connect
with util.safe_reraise():
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 146, in exit
raise exc_value.with_traceback(exc_tb)
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 898, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/create.py”, line 637, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py”, line 615, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/MySQLdb/init.py”, line 121, in Connect
return Connection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/MySQLdb/connections.py”, line 193, in init
super().__init__(*args, **kwargs2)
MySQLdb.OperationalError: (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
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 904, in _process_one_task_or_recover
return task.run(self)
^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/recorder/tasks.py”, line 281, in run
instance._process_one_event(self.event)
File “/usr/src/homeassistant/homeassistant/components/recorder/core.py”, line 1012, in _process_one_event
self._process_state_changed_event_into_session(event)
File “/usr/src/homeassistant/homeassistant/components/recorder/core.py”, line 1097, in _process_state_changed_event_into_session
elif metadata_id := states_meta_manager.get(entity_id, session, True):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/recorder/table_managers/states_meta.py”, line 58, in get
return self.get_many((entity_id,), session, from_recorder)[entity_id]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/recorder/table_managers/states_meta.py”, line 108, in get_many
for metadata_id, entity_id in execute_stmt_lambda_element(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/recorder/util.py”, line 219, in execute_stmt_lambda_element
executed = session.execute(stmt)
^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py”, line 2262, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py”, line 2134, in _execute_internal
conn = self._connection_for_bind(bind)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py”, line 2001, in _connection_for_bind
return trans._connection_for_bind(engine, execution_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 2, in _connection_for_bind
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py”, line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/orm/session.py”, line 1126, in _connection_for_bind
conn = bind.connect()
^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 3264, in connect
return self._connection_cls(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 147, in init
Connection._handle_dbapi_exception_noconnection(
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 2426, in _handle_dbapi_exception_noconnection
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 145, in init
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py”, line 3288, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 452, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 1267, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 721, in checkout
with util.safe_reraise():
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 146, in exit
raise exc_value.with_traceback(exc_tb)
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 719, in checkout
dbapi_connection = rec.get_connection()
^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 839, in get_connection
self.__connect()
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 902, in __connect
with util.safe_reraise():
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py”, line 146, in exit
raise exc_value.with_traceback(exc_tb)
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/pool/base.py”, line 898, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/create.py”, line 637, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/default.py”, line 615, in connect
return self.loaded_dbapi.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/MySQLdb/init.py”, line 121, in Connect
return Connection(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/MySQLdb/connections.py”, line 193, in init
super().__init__(*args, **kwargs2)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.361 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.464 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2023-11-18 19:12:49.566 ERROR (Recorder) homeassistant.components.recorder.util Error executing query: (MySQLdb.OperationalError) (2002, “Can’t connect to server on ‘192.168.1.59’ (115)”)
На что это похоже? где проблемка?
Спасибо заранее
После всех установок и перезапуска появляются ошибки. Несколько раз проверял конфигурацию. Все сделал как описано
Home Assistant Core
Setup failed for recorder: Integration failed to initialize.
22:32:22 – (ОШИБКА) setup.py – первое сообщение получено 22:32:03 и повторялось 5 раз
Unable to set up dependencies of history. Setup failed for dependencies: recorder
22:32:22 – (ОШИБКА) setup.py – первое сообщение получено 22:32:12 и повторялось 4 раз
Error during connection setup: (MySQLdb.OperationalError) (1045, “Access denied for user ‘homeassistant’@’172.18.0.1’ (using password: YES)”) (Background on this error at: https://sqlalche.me/e/20/e3q8) (retrying in 3 seconds)
22:32:00 – (ОШИБКА) recorder – первое сообщение получено 22:31:33 и повторялось 10 раз
Setup of recorder is taking over 10 seconds.
22:31:42 – (ПРЕДУПРЕЖДЕНИЕ) runner.py
переделывал. все равно выдает такие ошибки
Home Assistant Core
Setup failed for recorder: Integration failed to initialize.
16:23:55 – (ОШИБКА) setup.py – первое сообщение получено 16:23:51 и повторялось 5 раз
Unable to set up dependencies of logbook. Setup failed for dependencies: recorder
16:23:55 – (ОШИБКА) setup.py – первое сообщение получено 16:23:53 и повторялось 4 раз
Error during connection setup: (MySQLdb.OperationalError) (1045, “Access denied for user ‘homeassistant’@’172.18.0.1’ (using password: YES)”) (Background on this error at: https://sqlalche.me/e/20/e3q8) (retrying in 3 seconds)
16:23:48 – (ОШИБКА) Recorder – первое сообщение получено 16:23:21 и повторялось 10 раз
Setup of recorder is taking over 10 seconds.
16:23:30 – (ПРЕДУПРЕЖДЕНИЕ) runner.py
Спасибо за отменный материал.
Хотелось бы уточнить один момент для будущих последователей.
Настанет момент когда будете делать сенсор в HA который будет отображать объем места занимаемой системой MySql
Запрос подают такой
SELECT table_schema "database", Round(Sum(data_length + index_length) / 1048576, 2) "value"
FROM information_schema.tables
WHERE table_schema="homeassistant"
GROUP BY table_schema;
и вот тут у меня он возвращал пустоту – table_schema="homeassistant" – не было такой записи
Стал писать вопрос сюда и обозревая текст запроса и структуру баз – догал, что table_schema – это имя БД homeassistant, которое вы указали в настройках docker-compose. Т.к. я не иду простыми путями и даю свои имена, вот и попался.
Откорректируйте запрос под вашу БД
WHERE table_schema="имя-вашей бд-homeassistant"
При установке марии на raspberry pi 3 по инструкции возникает ошибка no matching manifest for linux/arm/v7 in the manifest list entries
В этом случае образ марии можно использовать yobasystems/alpine-mariadb
(аналогичная проблема имеется с code-server, но ему решения я не искал)
Все так, официальный образ MariaDB не поставляется для arm/v7.
В новой версии Home Assistant вывод в интерфейс через panel_iframe считается устаревшим и не работает, нужно создавать dashboardы (https://my.home-assistant.io/redirect/lovelace_dashboards/).
https://github.com/home-assistant/home-assistant.io/issues/32162
Пробую ставить всё по инструкции, до этого момента всё шло нормально, но тут споткнулся: контейнер с марией не запускался, разобрался, что порт 3306 чем-то занят (ручной запуск выдавал сообщение Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use), как оказалось – mysql, остановил сервис и у меня контейнер с марией заработал, но когда залез в Adminer, то обнаружил, что в базе ha_db вообще нет таблиц :(, короче совсем не как на скриншоте выше. По десять раз всё проверил: и пароли и записи во всех файлах и прочее рестарты докера, HomeAssistent – база пустая, причём сам HomeAssistent ничего не говорит, что у него где-то там проблемы. Куда можно посмотреть и что проверить? Ставлю на комп с Ubuntu 22.04.4 LTS x64.
Запуск интеграции recorder. До завершения запуска не всё будет доступно.
После всех манипуляций вот такое весит и крутит Loading Data. Сколько нужно ждать?
на текущую дату, обновив образы докера, никак не мог подключить homeassistant к mariadb.
ПОКА не поменял ip в строке подключения на имя контейнера
Хотя неделю назад всё работало по ip без проблем
Для тех, у кого возникнут ошибки, убил несколько часов, в итоге:
1 – Остановил контейнер с MariaDB
2 – Стер папку MariaDB и заново создал
3 – Отредактировал .env на простой логин пароль, например hass:hass
4 – Обязательно в dockerfile указал сеть (чтобы контейнеры общались между собой)
5 – Удалите номер версии в dockerfile
Путь такой: mariadb: “mysql://hass:hass@mariadb/ha_db?charset=utf8mb4”
Мой рабочий файл конфигурации на данный момент:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
restart: unless-stopped
privileged: true
networks:
– ha-net
environment:
– TZ=Europe/Moscow
volumes:
– ./homeassistant/:/config
– /etc/localtime:/etc/localtime:ro
ports:
– “8123:8123”
depends_on:
– mariadb
hass-configurator:
container_name: hassconf
image: causticlab/hass-configurator-docker
restart: unless-stopped
networks:
– ha-net
environment:
– HC_BASEPATH=/hass-config
– DIRSFIRST=true
ports:
– “3218:3218/tcp”
volumes:
– ./fileeditor:/config
– ./homeassistant:/hass-config
mariadb:
container_name: mariadb
image: mariadb:latest
restart: unless-stopped
networks:
– ha-net
environment:
– TZ=Europe/Moscow
– MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
– MYSQL_DATABASE=${MYSQL_HA_DATABASE}
– MYSQL_USER=${MYSQL_HA_USER}
Чтобы не пришлось тратить N часов после копи-паст – замените все черточки (код 0x97) на знак минус (код 0x2D).
Докер их не понимает. Для сравнения
— MYSQL_USER=${MYSQL_HA_USER}
– MYSQL_USER=${MYSQL_HA_USER}