Skip to content

Commit 908fbbd

Browse files
committed
Update set_gateway_mode()
1 parent c6ae70e commit 908fbbd

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

plugwise/__init__.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -871,8 +871,25 @@ async def set_gateway_mode(self, mode: str) -> None:
871871
if mode not in self._gw_allowed_modes:
872872
raise PlugwiseError("Plugwise: invalid gateway mode.")
873873

874+
time_1 = dt.datetime.utcnow()
875+
away_time = time_1.isoformat(timespec="milliseconds") + "Z"
876+
time_2 = str(dt.date.today() - dt.timedelta(1))
877+
vacation_time = time_2 + "T23:00:00.000Z"
878+
end_time = "2037-04-21T08:00:53.000Z"
879+
if mode == "away":
880+
valid = (
881+
f"<valid_from>{away_time}</valid_from><valid_to>{end_time}</valid_to>"
882+
)
883+
if mode == "full":
884+
valid = ""
885+
if mode == "vacation":
886+
valid = (
887+
"<valid_from>{vacation_time}</valid_from><valid_to>end_time</valid_to>"
888+
)
889+
874890
uri = f"{APPLIANCES};type=gateway/gateway_mode_control"
875-
data = f"<gateway_mode_control_functionality><mode>{mode}</mode></gateway_mode_control_functionality>"
891+
data = f"<gateway_mode_control_functionality><mode>{mode}</mode>{valid}</gateway_mode_control_functionality>"
892+
LOGGER.debug("HOI data: %s", data)
876893

877894
await self._request(uri, method="put", data=data)
878895

0 commit comments

Comments
 (0)