From 86d1933c1ff3c9b54c47e33373b6aa47b8b3ce47 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 11 Nov 2025 09:13:46 +0100 Subject: [PATCH] sensoren 2 --- .../home_capabilities/temp_humidity_sensor.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 packages/home_capabilities/temp_humidity_sensor.py diff --git a/packages/home_capabilities/temp_humidity_sensor.py b/packages/home_capabilities/temp_humidity_sensor.py new file mode 100644 index 0000000..2fcb1e1 --- /dev/null +++ b/packages/home_capabilities/temp_humidity_sensor.py @@ -0,0 +1,37 @@ +""" +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"