Add Pico dashboard core state and alarm logic
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user