mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +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."""
|
||||
from typing import NamedTuple
|
||||
|
||||
from pytouchline import PyTouchline
|
||||
import voluptuous as vol
|
||||
|
||||
@ -11,17 +13,25 @@ from homeassistant.components.climate.const import (
|
||||
from homeassistant.const import ATTR_TEMPERATURE, CONF_HOST, TEMP_CELSIUS
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
|
||||
|
||||
class PresetMode(NamedTuple):
|
||||
"""Settings for preset mode."""
|
||||
|
||||
mode: int
|
||||
program: int
|
||||
|
||||
|
||||
PRESET_MODES = {
|
||||
"Normal": {"mode": 0, "program": 0},
|
||||
"Night": {"mode": 1, "program": 0},
|
||||
"Holiday": {"mode": 2, "program": 0},
|
||||
"Pro 1": {"mode": 0, "program": 1},
|
||||
"Pro 2": {"mode": 0, "program": 2},
|
||||
"Pro 3": {"mode": 0, "program": 3},
|
||||
"Normal": PresetMode(mode=0, program=0),
|
||||
"Night": PresetMode(mode=1, program=0),
|
||||
"Holiday": PresetMode(mode=2, program=0),
|
||||
"Pro 1": PresetMode(mode=0, program=1),
|
||||
"Pro 2": PresetMode(mode=0, program=2),
|
||||
"Pro 3": PresetMode(mode=0, program=3),
|
||||
}
|
||||
|
||||
TOUCHLINE_HA_PRESETS = {
|
||||
(settings["mode"], settings["program"]): preset
|
||||
(settings.mode, settings.program): preset
|
||||
for preset, settings in PRESET_MODES.items()
|
||||
}
|
||||
|
||||
@ -119,8 +129,9 @@ class Touchline(ClimateEntity):
|
||||
|
||||
def set_preset_mode(self, preset_mode):
|
||||
"""Set new target preset mode."""
|
||||
self.unit.set_operation_mode(PRESET_MODES[preset_mode]["mode"])
|
||||
self.unit.set_week_program(PRESET_MODES[preset_mode]["program"])
|
||||
preset_mode = PRESET_MODES[preset_mode]
|
||||
self.unit.set_operation_mode(preset_mode.mode)
|
||||
self.unit.set_week_program(preset_mode.program)
|
||||
|
||||
def set_hvac_mode(self, hvac_mode):
|
||||
"""Set new target hvac mode."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user