Files
xterra-overland-dashboard/pico-dashboard/comms/protocol.py
T

36 lines
711 B
Python

STATUS_REQUEST = "status_request"
STATUS_RESPONSE = "status_response"
SET_RELAY = "set_relay"
RELAY_RESPONSE = "relay_response"
ERROR = "error"
VALID_RELAYS = {"starlink", "fridge"}
def make_status_request():
return {"type": STATUS_REQUEST}
def make_set_relay(relay, enabled):
if relay not in VALID_RELAYS:
raise ValueError(f"Invalid relay: {relay}")
return {
"type": SET_RELAY,
"relay": relay,
"enabled": bool(enabled),
}
def is_status_response(message):
return message.get("type") == STATUS_RESPONSE
def is_relay_response(message):
return message.get("type") == RELAY_RESPONSE
def is_error(message):
return message.get("type") == ERROR