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-06-28 19:02:11 +02:00
|
|
|
from pyhon.parameter.program import HonParameterProgram
|
2023-04-23 21:42:44 +02:00
|
|
|
|
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"]["temp"].value = "0"
|
|
|
|
data["parameters"]["onOffStatus"].value = "0"
|
|
|
|
data["parameters"]["remoteCtrValid"].value = "0"
|
|
|
|
data["parameters"]["remainingTimeMM"].value = "0"
|
2023-04-16 11:36:10 +02:00
|
|
|
|
2023-06-08 19:50:56 +02:00
|
|
|
data["active"] = data["parameters"]["onOffStatus"] == "1"
|
2023-04-08 22:24:14 +02:00
|
|
|
|
2023-06-29 22:08:17 +02:00
|
|
|
if program := int(data["parameters"]["prCode"].value):
|
2023-06-28 19:02:11 +02:00
|
|
|
if (setting := self.parent.settings["startProgram.program"]) and isinstance(
|
|
|
|
setting, HonParameterProgram
|
|
|
|
):
|
|
|
|
data["programName"] = setting.ids.get(program, "")
|
2023-05-28 17:34:32 +02:00
|
|
|
|
2023-04-08 04:06:36 +02:00
|
|
|
return data
|