38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""
|
|
Temperature & Humidity Sensor Capability - temp_humidity_sensor@1.0.0
|
|
|
|
Read-only sensor for temperature and humidity measurements.
|
|
"""
|
|
|
|
from datetime import datetime
|
|
from typing import Annotated
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class TempHumidityState(BaseModel):
|
|
"""
|
|
State model for temperature & humidity sensors.
|
|
|
|
Required fields:
|
|
- temperature: Temperature in degrees Celsius
|
|
- humidity: Relative humidity in percent
|
|
|
|
Optional fields:
|
|
- battery: Battery level 0-100%
|
|
- linkquality: Signal quality indicator
|
|
- voltage: Battery voltage in mV
|
|
- ts: Timestamp of measurement
|
|
"""
|
|
temperature: float = Field(..., description="Temperature in degrees Celsius")
|
|
humidity: float = Field(..., description="Relative humidity in percent (0-100)")
|
|
battery: Annotated[int, Field(ge=0, le=100)] | None = None
|
|
linkquality: int | None = None
|
|
voltage: int | None = None
|
|
ts: datetime | None = None
|
|
|
|
|
|
# Capability metadata
|
|
CAP_VERSION = "temp_humidity_sensor@1.0.0"
|
|
DISPLAY_NAME = "Temperature & Humidity Sensor"
|