add type relay
This commit is contained in:
@@ -8,6 +8,8 @@ from packages.home_capabilities.contact_sensor import CAP_VERSION as CONTACT_SEN
|
||||
from packages.home_capabilities.contact_sensor import ContactState
|
||||
from packages.home_capabilities.temp_humidity_sensor import CAP_VERSION as TEMP_HUMIDITY_SENSOR_VERSION
|
||||
from packages.home_capabilities.temp_humidity_sensor import TempHumidityState
|
||||
from packages.home_capabilities.relay import CAP_VERSION as RELAY_VERSION
|
||||
from packages.home_capabilities.relay import RelayState
|
||||
from packages.home_capabilities.layout import DeviceTile, Room, UiLayout, load_layout
|
||||
|
||||
__all__ = [
|
||||
@@ -19,6 +21,8 @@ __all__ = [
|
||||
"CONTACT_SENSOR_VERSION",
|
||||
"TempHumidityState",
|
||||
"TEMP_HUMIDITY_SENSOR_VERSION",
|
||||
"RelayState",
|
||||
"RELAY_VERSION",
|
||||
"DeviceTile",
|
||||
"Room",
|
||||
"UiLayout",
|
||||
|
||||
21
packages/home_capabilities/relay.py
Normal file
21
packages/home_capabilities/relay.py
Normal file
@@ -0,0 +1,21 @@
|
||||
"""
|
||||
Relay capability model.
|
||||
A relay is essentially a simple on/off switch, like a light with only power control.
|
||||
"""
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Literal
|
||||
|
||||
# Capability version
|
||||
CAP_VERSION = "relay@1.0.0"
|
||||
DISPLAY_NAME = "Relay"
|
||||
|
||||
|
||||
class RelayState(BaseModel):
|
||||
"""State model for relay devices (on/off only)"""
|
||||
power: Literal["on", "off"] = Field(..., description="Power state: on or off")
|
||||
|
||||
|
||||
class RelaySetPayload(BaseModel):
|
||||
"""Payload for setting relay state"""
|
||||
power: Literal["on", "off"] = Field(..., description="Desired power state: on or off")
|
||||
Reference in New Issue
Block a user