You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. V integraci bmr_hc64 je volání HTTP endpointu http://10.x.x.x/letoLoadRooms, které vypršelo (timeout).
To může být způsobeno buď nedostupností zařízení na této IP adrese, nebo příliš krátkým nastaveným timeoutem.
V souboru switch.py je problém pravděpodobně spojen s voláním metod jako self._bmr.getLowMode() nebo jiných
metod z objektu self._bmr, které komunikují se zařízením.
Řešení: Úprava timeoutu
Pokud knihovna pybmr podporuje nastavení timeoutu, zkuste přidat timeout při vytvoření objektu:
bmr = pybmr.Bmr(base_url, user, password, timeout=20) ---
=> Restart HA: zatím bez chyb (je to tak dobře?)
2. Integrace bmr_hc64 pro třídu BmrRoomClimate nepoužívá správně atributy
pro podporu metod turn_on a turn_off. Tento problém spočívá v nedostatečné deklaraci vlastnosti supported_features v této třídě.
Řešení: Najděte třídu BmrRoomClimate v kódu integrace a doplňte:
from homeassistant.components.climate import ClimateEntityFeature
class BmrRoomClimate(ClimateEntity):
# Další vlastnosti a metody třídy...
@property
def supported_features(self):
"""Return the list of supported features."""
return (
ClimateEntityFeature.TURN_ON |
ClimateEntityFeature.TURN_OFF |
ClimateEntityFeature.TARGET_TEMPERATURE |
ClimateEntityFeature.PRESET_MODE
)
def turn_on(self):
"""Turn on the heating."""
self._bmr.setHeatingState(True)
def turn_off(self):
"""Turn off the heating."""
self._bmr.setHeatingState(False)
=> Restar HA: Zatím bez chyb... je to OK?
================================================ 3. Po dalším restartu chyba s Timeout...
Logger: homeassistant.helpers.entity
Zdroj: helpers/entity.py:1288
Update of sensor.bmr_hc64_circ11_temperature is taking over 10 seconds
Update of climate.bmr_hc64_circ11 is taking over 10 seconds
Update of switch.bmr_hc64_away is taking over 10 seconds
Update of sensor.bmr_hc64_circ16_temperature is taking over 10 seconds-
Řešení
Místo 30 sekund použijte delší interval?
Retrying (Retry(total=9, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f60e7ccd0>, 'Connection to 10.x.x.x timed out. (connect timeout=10)')': /menu.html
Retrying (Retry(total=9, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<urllib3.connection.HTTPConnection object at 0x7f4e728e90>, 'Connection to 10.x.x.x timed out. (connect timeout=10)')': /menu.html
Řešení
Pokud používáte timeout pro HTTP požadavky, může být nastaven příliš krátce a způsobit problémy s načítáním dat.
pokud používáte knihovnu urllib3, můžete změnit hodnotu connect timeout:
from urllib3 import PoolManager
from urllib3.util.retry import Retry
http = PoolManager(
retries=Retry(total=9, backoff_factor=0.1),
timeout=10 # Zkuste zvýšit tuto hodnotu na např. 20 sekund
)
=> Úprava knihovny pybmr... to nedám :-)
================================================ 5. ChatGPT mi dále doporučil:
Nahrazení starých proměnných:
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, TEMP_CELSIUS
=> from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, **UnitOfTemperature**
return TEMP_CELSIUS
=>return UnitOfTemperature.CELSIUS
=> plánujete update?
6. Zajištění kompatibility s HVACMode
Pokud stále používáte metody jako auto, heat, off, ujistěte se, že je správně nastaveno i rozhraní pro HVAC Mode (režim topení). Tato nastavení by měla být uvedena v rámci vaší třídy.
class BmrRoomClimate(ClimateEntity):
# Další části třídy...
@property
def hvac_modes(self):
"""Return the list of available HVAC modes."""
return [HVACMode.OFF, HVACMode.HEAT, HVACMode.AUTO]
@property
def hvac_mode(self):
"""Return the current HVAC mode."""
return HVACMode.HEAT if self._heating_on else HVACMode.OFF
=> nepodařilo se mi to... Plánujete update?
========================================== 7. Další chyby v logu
Přepsání funkce setup_platform
Integrace bmr_hc64 používá blokující volání importlib.import_module v rámci event loopu, což není v Home Assistant povoleno, protože to může způsobovat problémy se stabilitou.
Příčina: import_module není asynchronní, ale je volána v asynchronním kontextu (event loop).
Tento problém pochází z implementace integrace bmr_hc64.
Řešení
Nahrazení funkce setup_platform v souboru climate.py
Dobrý den,
v logu se mi objevilo pár chyb, které jsem odstranil díky umělé halucinaci (ChatGPT).
(omlouvám se za neumělé formátování textu)
/homeassistant/custom_components/bmr_hc64/climate.py
1. V integraci bmr_hc64 je volání HTTP endpointu http://10.x.x.x/letoLoadRooms, které vypršelo (timeout).
To může být způsobeno buď nedostupností zařízení na této IP adrese, nebo příliš krátkým nastaveným timeoutem.
V souboru switch.py je problém pravděpodobně spojen s voláním metod jako self._bmr.getLowMode() nebo jiných
metod z objektu self._bmr, které komunikují se zařízením.
Řešení: Úprava timeoutu
Pokud knihovna pybmr podporuje nastavení timeoutu, zkuste přidat timeout při vytvoření objektu:
bmr = pybmr.Bmr(base_url, user, password, timeout=20)
---=> Restart HA: zatím bez chyb (je to tak dobře?)
2. Integrace bmr_hc64 pro třídu BmrRoomClimate nepoužívá správně atributy
pro podporu metod turn_on a turn_off. Tento problém spočívá v nedostatečné deklaraci vlastnosti supported_features v této třídě.
Řešení: Najděte třídu BmrRoomClimate v kódu integrace a doplňte:
from homeassistant.components.climate import ClimateEntityFeature
class BmrRoomClimate(ClimateEntity):
# Další vlastnosti a metody třídy...
=> Restar HA: Zatím bez chyb... je to OK?
================================================
3. Po dalším restartu chyba s Timeout...
Logger: homeassistant.helpers.entity
Zdroj: helpers/entity.py:1288
Řešení
Místo 30 sekund použijte delší interval?
=> tak nevím, je to OK?
================================================
4. Logger: urllib3.connectionpool
Zdroj: custom_components/bmr_hc64/sensor.py:110
integrace: BMR HC64 (dokumentace)
Řešení
Pokud používáte timeout pro HTTP požadavky, může být nastaven příliš krátce a způsobit problémy s načítáním dat.
pokud používáte knihovnu urllib3, můžete změnit hodnotu connect timeout:
=> Úprava knihovny pybmr... to nedám :-)
================================================
5. ChatGPT mi dále doporučil:
Nahrazení starých proměnných:
Byly nahrazeny novými:
soubor sensory.py
=> plánujete update?
6. Zajištění kompatibility s HVACMode
Pokud stále používáte metody jako auto, heat, off, ujistěte se, že je správně nastaveno i rozhraní pro HVAC Mode (režim topení). Tato nastavení by měla být uvedena v rámci vaší třídy.
=> nepodařilo se mi to... Plánujete update?
==========================================
7. Další chyby v logu
Přepsání funkce setup_platform
Integrace bmr_hc64 používá blokující volání importlib.import_module v rámci event loopu, což není v Home Assistant povoleno, protože to může způsobovat problémy se stabilitou.
Příčina: import_module není asynchronní, ale je volána v asynchronním kontextu (event loop).
Tento problém pochází z implementace integrace bmr_hc64.
Řešení
Nahrazení funkce setup_platform v souboru climate.py
def setup_platform(hass, config, add_entities, discovery_info=None):
import pybmr
...
asynchronní verzí:
import asyncio # Přidání asynchronních funkcí
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
import pybmr # Import knihovny uvnitř funkce
=> nepodařilo se...
S pozdravem
DM
The text was updated successfully, but these errors were encountered: