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-03-21 06:39:20 +00:00
|
|
|
|
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
|