feat: Strom, Leistung und Strombudget
Zeigt strip.current_ma und strip.power_w aus system/info als Sensoren und macht max_milliamps aus system/settings ueber ein Zahlenfeld einstellbar. Schreiben liest wie bei sACN zurueck statt den geschriebenen Wert anzunehmen.
This commit is contained in:
@@ -16,7 +16,9 @@ from homeassistant.components.sensor import (
|
||||
from homeassistant.const import (
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
EntityCategory,
|
||||
UnitOfElectricCurrent,
|
||||
UnitOfInformation,
|
||||
UnitOfPower,
|
||||
UnitOfTime,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
@@ -98,6 +100,27 @@ SENSORS: tuple[NinstripSensorDescription, ...] = (
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value=lambda d: _strip(d, "power_scale"),
|
||||
),
|
||||
# 0 mA heisst entweder "zieht gerade nichts" oder "misst gar nicht" -
|
||||
# aeltere Firmware ohne Shunt meldet ebenfalls 0. Von aussen nicht zu
|
||||
# unterscheiden, und keine Heuristik dagegen: Schwaeche der Geraete-API.
|
||||
NinstripSensorDescription(
|
||||
key="current",
|
||||
translation_key="current",
|
||||
device_class=SensorDeviceClass.CURRENT,
|
||||
native_unit_of_measurement=UnitOfElectricCurrent.MILLIAMPERE,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value=lambda d: _strip(d, "current_ma"),
|
||||
),
|
||||
NinstripSensorDescription(
|
||||
key="power",
|
||||
translation_key="power",
|
||||
device_class=SensorDeviceClass.POWER,
|
||||
native_unit_of_measurement=UnitOfPower.WATT,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
value=lambda d: _strip(d, "power_w"),
|
||||
),
|
||||
# Was bei der letzten Aktualisierung schiefging - leer, solange nichts
|
||||
# schiefging. Aus der Ferne der einzige Hinweis darauf.
|
||||
NinstripSensorDescription(
|
||||
|
||||
Reference in New Issue
Block a user