Files
ha_config/custom_components/better_thermostat/utils/model_quirks.py
T
2023-11-21 12:23:38 +01:00

56 lines
1.5 KiB
Python

from importlib import import_module
import logging
_LOGGER = logging.getLogger(__name__)
def load_model_quirks(self, model, entity_id):
"""Load model."""
# remove / from model
model = model.replace("/", "_")
try:
self.model_quirks = import_module(
"custom_components.better_thermostat.model_fixes." + model,
package="better_thermostat",
)
_LOGGER.debug(
"better_thermostat %s: uses quirks fixes for model %s for trv %s",
self.name,
model,
entity_id,
)
except Exception:
self.model_quirks = import_module(
"custom_components.better_thermostat.model_fixes.default",
package="better_thermostat",
)
pass
return self.model_quirks
def fix_local_calibration(self, entity_id, offset):
return self.real_trvs[entity_id]["model_quirks"].fix_local_calibration(
self, entity_id, offset
)
def fix_target_temperature_calibration(self, entity_id, temperature):
return self.real_trvs[entity_id]["model_quirks"].fix_target_temperature_calibration(
self, entity_id, temperature
)
async def override_set_hvac_mode(self, entity_id, hvac_mode):
return await self.real_trvs[entity_id]["model_quirks"].override_set_hvac_mode(
self, entity_id, hvac_mode
)
async def override_set_temperature(self, entity_id, temperature):
return await self.real_trvs[entity_id]["model_quirks"].override_set_temperature(
self, entity_id, temperature
)