Skip to content
Merged
17 changes: 11 additions & 6 deletions cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,12 @@
import click
import httpx

from src.device import DeviceProfile, build_packet, build_transmit_payload
from src.device import (
DeviceProfile,
available_commands,
build_payload_for,
build_transmit_payload,
)

DEVICES_DIR = "devices"

Expand Down Expand Up @@ -57,17 +62,17 @@ def send(device: str, unit: str, command: str, host: str, port: int) -> None:
click.echo(f"Error: unknown unit '{unit}'. Available: {available}", err=True)
sys.exit(1)

if command not in profile.commands:
available = ", ".join(sorted(profile.commands))
commands = available_commands(profile, unit)
if command not in commands:
available = ", ".join(sorted(commands))
click.echo(
f"Error: unknown command '{command}'. Available: {available}", err=True
)
sys.exit(1)

bits = build_packet(profile, unit=unit, command=command)
payload = build_transmit_payload(profile, bits=bits)
payload = build_payload_for(profile, unit=unit, command=command)
_post_transmit(host, port, payload)
click.echo(f"OK {command} → {device}/{unit} [{bits}]")
click.echo(f"OK {command} → {device}/{unit}")


@cli.command()
Expand Down
Loading
Loading