pyhOn/pyhon/appliances/td.py

22 lines
860 B
Python
Raw Permalink Normal View History

2023-07-16 05:53:23 +02:00
# pylint: disable=duplicate-code
2023-06-28 19:02:11 +02:00
from typing import Any, Dict
2023-05-29 18:58:50 +02:00
from pyhon.appliances.base import ApplianceBase
2023-04-22 23:08:24 +02:00
from pyhon.parameter.fixed import HonParameterFixed
2023-05-29 18:58:50 +02:00
class Appliance(ApplianceBase):
2023-06-28 19:02:11 +02:00
def attributes(self, data: Dict[str, Any]) -> Dict[str, Any]:
2023-06-08 19:50:56 +02:00
data = super().attributes(data)
2023-06-21 18:02:07 +02:00
if data.get("lastConnEvent", {}).get("category", "") == "DISCONNECTED":
2023-06-13 00:12:29 +02:00
data["parameters"]["machMode"].value = "0"
2023-06-08 19:50:56 +02:00
data["active"] = bool(data.get("activity"))
data["pause"] = data["parameters"]["machMode"] == "3"
2023-04-08 04:06:36 +02:00
return data
2023-06-28 19:02:11 +02:00
def settings(self, settings: Dict[str, Any]) -> Dict[str, Any]:
2023-04-24 04:33:00 +02:00
dry_level = settings.get("startProgram.dryLevel")
2023-04-22 23:08:24 +02:00
if isinstance(dry_level, HonParameterFixed) and dry_level.value == "11":
settings.pop("startProgram.dryLevel", None)
2023-04-08 04:06:36 +02:00
return settings