Skip to content

Commit c840723

Browse files
committed
feat(cli): add debug command to get filter diagnostics
1 parent 8522c30 commit c840723

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

pyomnilogic_local/cli/debug/commands.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,26 @@ def get_telemetry(ctx: click.Context) -> None:
7171
click.echo(telemetry)
7272

7373

74+
@debug.command()
75+
@click.argument("bow_id", type=int)
76+
@click.argument("equip_id", type=int)
77+
@click.pass_context
78+
def get_filter_diagnostics(ctx: click.Context, bow_id: int, equip_id: int) -> None:
79+
"""Retrieve current filter diagnostics from the controller.
80+
81+
Filter diagnostics include real-time sensor readings, equipment states, temperatures,
82+
and other operational data. Use --raw to see the unprocessed XML.
83+
84+
Example:
85+
omnilogic debug get-filter-diagnostics
86+
omnilogic debug --raw get-filter-diagnostics
87+
88+
"""
89+
omnilogic: OmniLogic = ctx.obj["OMNILOGIC"]
90+
telemetry = asyncio.run(omnilogic._api.async_get_filter_diagnostics(pool_id=bow_id, equipment_id=equip_id, raw=ctx.obj["RAW"]))
91+
click.echo(telemetry)
92+
93+
7494
@debug.command()
7595
@click.argument("pcap_file", type=click.Path(exists=True, path_type=Path))
7696
def parse_pcap(pcap_file: Path) -> None:

pyomnilogic_local/omnitypes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class MessageType(PrettyEnum, IntEnum):
3535
MSP_CONFIGURATIONUPDATE = 1003
3636
MSP_TELEMETRY_UPDATE = 1004
3737
MSP_ALARM_LIST_RESPONSE = 1304
38+
MSP_FILTER_DIAGNOSTIC_INFO_RESPONSE = 1386
3839
MSP_LEADMESSAGE = 1998
3940
MSP_BLOCKMESSAGE = 1999
4041

0 commit comments

Comments
 (0)