pyhOn/pyhon/appliances/td.py

22 lines
860 B
Python
Raw Normal View History

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