1 """Helper methods for Tado."""
4 CONST_OVERLAY_TADO_DEFAULT,
5 CONST_OVERLAY_TADO_MODE,
8 from .tado_connector
import TadoConnector
15 overlay_mode: str |
None =
None,
17 """Return correct overlay mode based on the action and defaults."""
20 return CONST_OVERLAY_TIMER
22 if overlay_mode
is None:
23 overlay_mode = tado.fallback
or CONST_OVERLAY_TADO_MODE
25 if overlay_mode == CONST_OVERLAY_TADO_DEFAULT:
27 tado.data[
"zone"][zone_id].default_overlay_termination_type
28 or CONST_OVERLAY_TADO_MODE
38 overlay_mode: str |
None =
None,
40 """Return correct duration based on the selected overlay mode/duration and tado config."""
43 if overlay_mode == CONST_OVERLAY_TIMER
and duration
is None:
45 int(tado.data[
"zone"][zone_id].default_overlay_termination_duration)
46 if tado.data[
"zone"][zone_id].default_overlay_termination_duration
55 """Return correct list of fan modes or None."""
56 supported_fanmodes = [
57 tado_to_ha_mapping.get(option)
59 if tado_to_ha_mapping.get(option)
is not None
61 if not supported_fanmodes:
63 return supported_fanmodes
None|int decide_duration(TadoConnector tado, int|None duration, int zone_id, str|None overlay_mode=None)
def generate_supported_fanmodes(dict[str, str] tado_to_ha_mapping, list[str] options)
str decide_overlay_mode(TadoConnector tado, int|None duration, int zone_id, str|None overlay_mode=None)