Die Firmware kann sACN/E1.31 - jetzt auch in Home Assistant, aufgebaut wie in
ha-ninlight: Schalter fuer den Empfang, Zahlen fuer Universe und Startslot,
Auswahl fuer das Verhalten nach Stromende, zwei Diagnose-Binaersensoren.
Die Einstellungen liegen hinter system/settings, der Koordinator liest sie
deshalb mit - eine vierte Anfrage je Zyklus. Nach dem Schreiben wird
zurueckgelesen statt angenommen, wie in ha-ninlight.
Zwei Unterschiede zu ninlight:
- Kein Layout-Feld: ninstrip nutzt fest drei Kanaele je Pixel.
- Der Startslot gilt in JEDEM belegten Universe. Die Obergrenze ist deshalb
513 minus Kanaele je Pixel, also 510 - ein festes 512 boete Werte an, bei
denen kein einziges Pixel mehr ins Universe passt.
Aeltere Firmware ohne sacn-Block: die Entitaeten entstehen trotzdem und
melden sich nicht verfuegbar, bis ein Update kommt.
In ha-dev an der Stehlampe geprueft: Universe, Startslot, on_timeout und der
Schalter kommen jeweils auf dem Geraet an; der Aktiv-Sensor steht waehrend
eines Stroms auf an, danach auf aus. 511 als Startslot weist Home Assistant
selbst ab ("outside valid range 1 - 510"). Einstellungen der Lampe danach
zurueckgestellt.
117 lines
2.8 KiB
JSON
117 lines
2.8 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "ninstrip hinzufügen",
|
|
"description": "Adresse und API-Token des Geräts. Im Auslieferungszustand und nach einem Werksreset gilt das Werks-Token, das bereits eingetragen ist. Wer ein eigenes gesetzt hat, trägt es hier ein.",
|
|
"data": {
|
|
"host": "Adresse",
|
|
"token": "API-Token"
|
|
}
|
|
},
|
|
"discovery_confirm": {
|
|
"title": "ninstrip gefunden",
|
|
"description": "{name} unter {host}. Bitte das API-Token eingeben.",
|
|
"data": {
|
|
"token": "API-Token"
|
|
}
|
|
},
|
|
"reauth_confirm": {
|
|
"title": "Token erneuern",
|
|
"description": "Das Gerät unter {host} weist das gespeicherte Token ab. Nach einem Werksreset gilt wieder das Werks-Token.",
|
|
"data": {
|
|
"token": "API-Token"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"cannot_connect": "Gerät nicht erreichbar",
|
|
"invalid_auth": "Token abgelehnt",
|
|
"not_ninstrip": "Dort antwortet kein ninstrip",
|
|
"unknown": "Unerwarteter Fehler"
|
|
},
|
|
"abort": {
|
|
"already_configured": "Dieses Gerät ist bereits eingerichtet",
|
|
"reauth_successful": "Token erneuert"
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "Einstellungen",
|
|
"data": {
|
|
"scan_interval": "Abfrageabstand (Sekunden)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"entity": {
|
|
"select": {
|
|
"preset": {
|
|
"name": "Szene"
|
|
},
|
|
"sacn_on_timeout": {
|
|
"name": "sACN nach Stromende",
|
|
"state": {
|
|
"release": "Zurück zum vorherigen Bild",
|
|
"hold": "Letztes Bild halten"
|
|
}
|
|
}
|
|
},
|
|
"button": {
|
|
"restart": {
|
|
"name": "Neu starten"
|
|
}
|
|
},
|
|
"sensor": {
|
|
"rssi": {
|
|
"name": "WLAN-Signal"
|
|
},
|
|
"uptime": {
|
|
"name": "Laufzeit"
|
|
},
|
|
"free_heap": {
|
|
"name": "Freier Speicher"
|
|
},
|
|
"power_scale": {
|
|
"name": "Leistungsbegrenzung"
|
|
}
|
|
},
|
|
"switch": {
|
|
"sacn_enabled": {
|
|
"name": "sACN-Empfang"
|
|
}
|
|
},
|
|
"number": {
|
|
"sacn_universe": {
|
|
"name": "sACN-Universe"
|
|
},
|
|
"sacn_start_slot": {
|
|
"name": "sACN-Startslot"
|
|
}
|
|
},
|
|
"binary_sensor": {
|
|
"sacn_active": {
|
|
"name": "sACN aktiv"
|
|
},
|
|
"sacn_multicast": {
|
|
"name": "sACN-Multicast beigetreten"
|
|
}
|
|
}
|
|
},
|
|
"exceptions": {
|
|
"auth_failed": {
|
|
"message": "Das Gerät hat das Token abgelehnt."
|
|
},
|
|
"device_busy": {
|
|
"message": "Das Gerät ist beschäftigt - vermutlich läuft eine Aktualisierung."
|
|
},
|
|
"request_failed": {
|
|
"message": "Das Gerät hat die Anfrage abgewiesen: {message}"
|
|
},
|
|
"cannot_connect": {
|
|
"message": "Das Gerät ist nicht erreichbar."
|
|
}
|
|
}
|
|
}
|