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:
@@ -183,6 +183,29 @@ class NinstripCoordinator(DataUpdateCoordinator[NinstripData]):
|
||||
)
|
||||
)
|
||||
|
||||
async def async_set_strip(self, **fields: Any) -> None:
|
||||
"""Strip-Einstellungen schreiben und die Antwort des Geraets uebernehmen.
|
||||
|
||||
Gleiches Muster wie async_set_sacn: das Geraet antwortet nur mit
|
||||
{"status": "ok"}, also wird zurueckgelesen statt angenommen.
|
||||
"""
|
||||
|
||||
async def schreiben_und_lesen(client: NinstripClient) -> dict[str, Any]:
|
||||
await client.set_strip(**fields)
|
||||
return await client.get_settings()
|
||||
|
||||
settings = await self.async_call(schreiben_und_lesen)
|
||||
self._consecutive_poll_failures = 0
|
||||
self.async_set_updated_data(
|
||||
NinstripData(
|
||||
self.data.state,
|
||||
self.data.info,
|
||||
self.data.presets,
|
||||
self.data.segments,
|
||||
settings,
|
||||
)
|
||||
)
|
||||
|
||||
async def async_set_all_segments(self, **fields: Any) -> None:
|
||||
"""Schreibt dieselben Felder in JEDES Segment und liest zurueck.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user