mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 07:07:28 +00:00
Use NamedTuple for touchline preset mode settings (#55695)
This commit is contained in:
parent
edddeaf5ab
commit
617e8544c0
@ -1,4 +1,6 @@
|
|||||||
"""Platform for Roth Touchline floor heating controller."""
|
"""Platform for Roth Touchline floor heating controller."""
|
||||||
|
from typing import NamedTuple
|
||||||
|
|
||||||
from pytouchline import PyTouchline
|
from pytouchline import PyTouchline
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
@ -11,17 +13,25 @@ from homeassistant.components.climate.const import (
|
|||||||
from homeassistant.const import ATTR_TEMPERATURE, CONF_HOST, TEMP_CELSIUS
|
from homeassistant.const import ATTR_TEMPERATURE, CONF_HOST, TEMP_CELSIUS
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
|
||||||
|
|
||||||
|
class PresetMode(NamedTuple):
|
||||||
|
"""Settings for preset mode."""
|
||||||
|
|
||||||
|
mode: int
|
||||||
|
program: int
|
||||||
|
|
||||||
|
|
||||||
PRESET_MODES = {
|
PRESET_MODES = {
|
||||||
"Normal": {"mode": 0, "program": 0},
|
"Normal": PresetMode(mode=0, program=0),
|
||||||
"Night": {"mode": 1, "program": 0},
|
"Night": PresetMode(mode=1, program=0),
|
||||||
"Holiday": {"mode": 2, "program": 0},
|
"Holiday": PresetMode(mode=2, program=0),
|
||||||
"Pro 1": {"mode": 0, "program": 1},
|
"Pro 1": PresetMode(mode=0, program=1),
|
||||||
"Pro 2": {"mode": 0, "program": 2},
|
"Pro 2": PresetMode(mode=0, program=2),
|
||||||
"Pro 3": {"mode": 0, "program": 3},
|
"Pro 3": PresetMode(mode=0, program=3),
|
||||||
}
|
}
|
||||||
|
|
||||||
TOUCHLINE_HA_PRESETS = {
|
TOUCHLINE_HA_PRESETS = {
|
||||||
(settings["mode"], settings["program"]): preset
|
(settings.mode, settings.program): preset
|
||||||
for preset, settings in PRESET_MODES.items()
|
for preset, settings in PRESET_MODES.items()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,8 +129,9 @@ class Touchline(ClimateEntity):
|
|||||||
|
|
||||||
def set_preset_mode(self, preset_mode):
|
def set_preset_mode(self, preset_mode):
|
||||||
"""Set new target preset mode."""
|
"""Set new target preset mode."""
|
||||||
self.unit.set_operation_mode(PRESET_MODES[preset_mode]["mode"])
|
preset_mode = PRESET_MODES[preset_mode]
|
||||||
self.unit.set_week_program(PRESET_MODES[preset_mode]["program"])
|
self.unit.set_operation_mode(preset_mode.mode)
|
||||||
|
self.unit.set_week_program(preset_mode.program)
|
||||||
|
|
||||||
def set_hvac_mode(self, hvac_mode):
|
def set_hvac_mode(self, hvac_mode):
|
||||||
"""Set new target hvac mode."""
|
"""Set new target hvac mode."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user