Skip to content

Commit 02c642e

Browse files
jmad8cryptk
authored andcommitted
Implement RunGroupCmd
1 parent 05ac3e0 commit 02c642e

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

pyomnilogic_local/api.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,3 +572,44 @@ async def async_set_spillover(
572572
req_body = ET.tostring(body_element, xml_declaration=True, encoding="unicode")
573573

574574
return await self.async_send_message(MessageType.SET_SPILLOVER, req_body, False)
575+
576+
async def async_set_group_enable(
577+
self,
578+
group_id: int,
579+
enabled: int | bool,
580+
is_countdown_timer: bool = False,
581+
start_time_hours: int = 0,
582+
start_time_minutes: int = 0,
583+
end_time_hours: int = 0,
584+
end_time_minutes: int = 0,
585+
days_active: int = 0,
586+
recurring: bool = False,
587+
) -> None:
588+
body_element = ET.Element("Request", {"xmlns": "http://nextgen.hayward.com/api"})
589+
590+
name_element = ET.SubElement(body_element, "Name")
591+
name_element.text = "RunGroupCmd"
592+
593+
parameters_element = ET.SubElement(body_element, "Parameters")
594+
parameter = ET.SubElement(parameters_element, "Parameter", name="GroupID", dataType="int")
595+
parameter.text = str(group_id)
596+
parameter = ET.SubElement(parameters_element, "Parameter", name="Data", dataType="int")
597+
parameter.text = str(int(enabled))
598+
parameter = ET.SubElement(parameters_element, "Parameter", name="IsCountDownTimer", dataType="bool")
599+
parameter.text = str(int(is_countdown_timer))
600+
parameter = ET.SubElement(parameters_element, "Parameter", name="StartTimeHours", dataType="int")
601+
parameter.text = str(start_time_hours)
602+
parameter = ET.SubElement(parameters_element, "Parameter", name="StartTimeMinutes", dataType="int")
603+
parameter.text = str(start_time_minutes)
604+
parameter = ET.SubElement(parameters_element, "Parameter", name="EndTimeHours", dataType="int")
605+
parameter.text = str(end_time_hours)
606+
parameter = ET.SubElement(parameters_element, "Parameter", name="EndTimeMinutes", dataType="int")
607+
parameter.text = str(end_time_minutes)
608+
parameter = ET.SubElement(parameters_element, "Parameter", name="DaysActive", dataType="int")
609+
parameter.text = str(days_active)
610+
parameter = ET.SubElement(parameters_element, "Parameter", name="Recurring", dataType="bool")
611+
parameter.text = str(int(recurring))
612+
613+
req_body = ET.tostring(body_element, xml_declaration=True, encoding="unicode")
614+
615+
return await self.async_send_message(MessageType.RUN_GROUP_CMD, req_body, False)

pyomnilogic_local/omnitypes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class MessageType(Enum):
2323
GET_ALARM_LIST = 304
2424
SET_STANDALONE_LIGHT_SHOW = 308
2525
SET_SPILLOVER = 311
26+
RUN_GROUP_CMD = 317
2627
RESTORE_IDLE_STATE = 340
2728
GET_FILTER_DIAGNOSTIC_INFO = 386
2829
HANDSHAKE = 1000

0 commit comments

Comments
 (0)