uvejota / homeassistant-edata

Home Assistant integration for spanish energy data providers (e.g., datadis)
GNU General Public License v3.0
259 stars 21 forks source link

Componente Edata hace reiniciar Home Assistant #157

Closed webtense closed 2 months ago

webtense commented 1 year ago

Buenas y gracias por seguir con este complemento que tan bien me funciona. tengo 82 Cups en marcha y desde la última actualización, he notado poca estabilidad en el HA. puse una alerta cada vez que se reinicia y es una mínima de 10 veces al dia.. Probé con todo hasta que deshabilite el completo Edata.. y volvió la estabilidad .. Alguna idea, hasta las últimas actualizaciones, no me pasaba.

javiermartingonzalez commented 1 year ago

Yo acabo de instalarlo, y también, se me reinicia cada 15 minutos aprox el Hass, lo desactivo y todo bien, en mi caso en el log justo antes del reinicio veo:

2023-07-08 14:55:27.772 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547497966544] Supervisor from 172.30.32.2 (HomeAssistantSupervisor/2023.07.1 aiohttp/3.8.4 Python/3.11): Unexpected error inside websocket API Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 358, in async_handle msg = await wsock.receive() ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 444, in receive await self.pong(msg.data) File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 301, in pong await self._writer.pong(message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 670, in pong await self._send_frame(message, WSMsgType.PONG) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 653, in _send_frame self._write(header + message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 663, in _write raise ConnectionResetError("Cannot write to closing transport") ConnectionResetError: Cannot write to closing transport 2023-07-08 14:55:27.885 WARNING (MainThread) [hass_nabucasa.iot] Connection closed: Cannot write to closing transport 2023-07-08 14:55:27.943 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 676, in ping await self._send_frame(message, WSMsgType.PING) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 653, in _send_frame self._write(header + message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 663, in _write raise ConnectionResetError("Cannot write to closing transport") ConnectionResetError: Cannot write to closing transport

javiermartingonzalez commented 1 year ago

En mi caso, no sé si tendrá que ver, tengo también en el log avisos de

2023-07-08 14:47:56.545 WARNING (SyncWorker_4) [edata.connectors.datadis] 429 Consulta ya realizada en las últimas 24 horas. at https://datadis.es/api-private/api/get-max-power?cups=ES00220xxxxxxxxxxxxxx&distributorCode=5&startDate=2023/01&endDate=2023/07&

Y el mes de julio lo tengo a 0 en Datadis porque no ha volcado por parte de UFD... no sé si tendrá que ver, pero ha sido instalar E-data y darme problemas de reinicios continuos, siempre con el error de arriba antes del reinicio. Unas veces cada 15 minutos, otras veces a los 5 minutos el reiniciado... he deshabilitado la integración de mi CUPS y desde entonces ni un solo reinicio.

He probado tanto con la Facturación activada como sin ella, y mismo resultado. Aunque tenía la facturación activada, en el apartado energía no me aparecía el sensor eur cost... no creo que tenga que ver con el error, si es que tarda en salir o qué ocurre, pero lo comento a modo informativo de las cosas detectadas por si fuese de utilidad

¿Alguna idea @uvejota? Última versión de HA, pero parece ser algún error en homeassistant/homeassistant/components/websocket_api/http.py que hace 'reventar' el sistema y se reinicia solo.

webtense commented 1 year ago

A mi me pasa lo mismo 🥴

El El sáb, 8 jul 2023 a las 15:00, Javier Martín González < @.***> escribió:

Yo acabo de instalarlo, y también, se me reinicia cada 15 minutos aprox el Hass, lo desactivo y todo bien, en mi caso en el log justo antes del reinicio veo:

2023-07-08 14:55:27.772 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [547497966544] Supervisor from 172.30.32.2 (HomeAssistantSupervisor/2023.07.1 aiohttp/3.8.4 Python/3.11): Unexpected error inside websocket API Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/http.py", line 358, in async_handle msg = await wsock.receive() ^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 444, in receive await self.pong(msg.data) File "/usr/local/lib/python3.11/site-packages/aiohttp/web_ws.py", line 301, in pong await self._writer.pong(message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 670, in pong await self._send_frame(message, WSMsgType.PONG) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 653, in _send_frame self._write(header + message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 663, in _write raise ConnectionResetError("Cannot write to closing transport") ConnectionResetError: Cannot write to closing transport 2023-07-08 14:55:27.885 WARNING (MainThread) [hass_nabucasa.iot] Connection closed: Cannot write to closing transport 2023-07-08 14:55:27.943 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 676, in ping await self._send_frame(message, WSMsgType.PING) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 653, in _send_frame self._write(header + message) File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 663, in _write raise ConnectionResetError("Cannot write to closing transport") ConnectionResetError: Cannot write to closing transport

— Reply to this email directly, view it on GitHub https://github.com/uvejota/homeassistant-edata/issues/157#issuecomment-1627249109, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHAYMAOXVPHMV6WAUTVXLDDXPFKVVANCNFSM6AAAAAAVJCZEZU . You are receiving this because you authored the thread.Message ID: @.***>

webtense commented 1 year ago

algún avance sobre este tema, he actualizado todo a la última versión y cada 10 min se reinicia HA

agaliste commented 1 year ago

Me pasa igual ahora. En la 2023.6.3 iba perfectamente sin fallos, hasta que por cambiar el coste en la configuración (estando en la 2023.9.0) me ha dejado de ir completamente, hasta el punto de que me crashea el Home Assistant entero por ese error constantemente. Ni siquiera reinstalando la integración, o haciendo un rollback a la 2023.6.3, se arregla.

agaliste commented 1 year ago

Amplio logs:

2023-09-10 18:09:23.422 WARNING (MainThread) [homeassistant.components.sensor] Setup of sensor platform edata is taking over 10 seconds.
2023-09-10 18:09:23.451 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 676, in ping
    await self._send_frame(message, WSMsgType.PING)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 653, in _send_frame
    self._write(header + message)
  File "/usr/local/lib/python3.11/site-packages/aiohttp/http_websocket.py", line 663, in _write
    raise ConnectionResetError("Cannot write to closing transport")
ConnectionResetError: Cannot write to closing transport
2023-09-10 18:09:23.470 ERROR (MainThread) [homeassistant.components.sensor] Setup of platform edata is taking longer than 60 seconds. Startup will proceed without waiting any longer.
2023-09-10 18:12:02.300 WARNING (MainThread) [homeassistant.core] Task <Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.11/asyncio/futures.py:387, <1 more>, Task.task_wakeup()]> was still running after stage 2 shutdown; Integrations should cancel non-critical tasks when receiving the stop event to prevent delaying shutdown
2023-09-10 18:12:02.458 WARNING (Thread-5 (_do_shutdown)) [homeassistant.util.executor] Thread[SyncWorker_1] is still running at shutdown: File "/usr/local/lib/python3.11/threading.py", line 995, in _bootstrap
    self._bootstrap_inner()
  File "/usr/local/lib/python3.11/threading.py", line 1038, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 83, in _worker
    work_item.run()
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.11/site-packages/edata/helpers.py", line 108, in update
    self.process_data()
  File "/usr/local/lib/python3.11/site-packages/edata/helpers.py", line 373, in process_data
    process_method()
  File "/usr/local/lib/python3.11/site-packages/edata/helpers.py", line 406, in process_consumptions
    proc = ConsumptionProcessor(self.data["consumptions"])
  File "/usr/local/lib/python3.11/site-packages/edata/processors/base.py", line 18, in __init__
    self.do_process()
  File "/usr/local/lib/python3.11/site-packages/edata/processors/consumption.py", line 33, in do_process
    self._df["px"] = self._df["datetime"].apply(utils.get_pvpc_tariff)
  File "/usr/local/lib/python3.11/site-packages/pandas/core/series.py", line 4765, in apply
    ).apply()
  File "/usr/local/lib/python3.11/site-packages/pandas/core/apply.py", line 1201, in apply
    return self.apply_standard()
  File "/usr/local/lib/python3.11/site-packages/pandas/core/apply.py", line 1281, in apply_standard
    mapped = obj._map_values(
  File "/usr/local/lib/python3.11/site-packages/pandas/core/base.py", line 919, in _map_values
    return arr.map(mapper, na_action=na_action)
  File "/usr/local/lib/python3.11/site-packages/pandas/core/arrays/_mixins.py", line 80, in method
    return meth(self, *args, **kwargs)
  File "/usr/local/lib/python3.11/site-packages/pandas/core/arrays/datetimelike.py", line 722, in map
    result = map_array(self, mapper, na_action=na_action)
  File "/usr/local/lib/python3.11/site-packages/pandas/core/algorithms.py", line 1812, in map_array
    return lib.map_infer(values, mapper, convert=convert)
  File "/usr/local/lib/python3.11/site-packages/edata/processors/utils.py", line 89, in get_pvpc_tariff
    hdays = holidays.country_holidays("ES")
  File "/usr/local/lib/python3.11/site-packages/holidays/utils.py", line 187, in country_holidays
    return getattr(holidays, country)(
  File "/usr/local/lib/python3.11/site-packages/holidays/registry.py", line 190, in __call__
    return cls(*args, **kwargs)  # type: ignore[misc, operator]
  File "/usr/local/lib/python3.11/site-packages/holidays/countries/spain.py", line 54, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/local/lib/python3.11/site-packages/holidays/holiday_base.py", line 310, in __init__
    translations = sorted(
  File "/usr/local/lib/python3.11/site-packages/holidays/holiday_base.py", line 311, in <genexpr>
    (
  File "/usr/local/lib/python3.11/pathlib.py", line 968, in rglob
    for p in selector.select_from(self):
  File "/usr/local/lib/python3.11/pathlib.py", line 408, in _select_from
    for p in successor_select(starting_point, is_dir, exists, scandir):
  File "/usr/local/lib/python3.11/pathlib.py", line 340, in _select_from
    if (is_dir if self.dironly else exists)(path):
  File "/usr/local/lib/python3.11/pathlib.py", line 1235, in exists
    self.stat()
  File "/usr/local/lib/python3.11/pathlib.py", line 1013, in stat
    return os.stat(self, follow_symlinks=follow_symlinks)