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.7 KiB
JSON
117 lines
2.7 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "Add ninstrip",
|
|
"description": "Host and API token of the device. A factory-new or factory-reset device uses the default token, which is prefilled. If you set your own, enter it here.",
|
|
"data": {
|
|
"host": "Host",
|
|
"token": "API token"
|
|
}
|
|
},
|
|
"discovery_confirm": {
|
|
"title": "ninstrip found",
|
|
"description": "{name} at {host}. Please enter the API token.",
|
|
"data": {
|
|
"token": "API token"
|
|
}
|
|
},
|
|
"reauth_confirm": {
|
|
"title": "Renew token",
|
|
"description": "The device at {host} rejects the stored token. After a factory reset the default token applies again.",
|
|
"data": {
|
|
"token": "API token"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"cannot_connect": "Device unreachable",
|
|
"invalid_auth": "Token rejected",
|
|
"not_ninstrip": "No ninstrip answering there",
|
|
"unknown": "Unexpected error"
|
|
},
|
|
"abort": {
|
|
"already_configured": "This device is already configured",
|
|
"reauth_successful": "Token renewed"
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "Settings",
|
|
"data": {
|
|
"scan_interval": "Polling interval (seconds)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"entity": {
|
|
"select": {
|
|
"preset": {
|
|
"name": "Scene"
|
|
},
|
|
"sacn_on_timeout": {
|
|
"name": "sACN on stream end",
|
|
"state": {
|
|
"release": "Return to previous image",
|
|
"hold": "Hold last image"
|
|
}
|
|
}
|
|
},
|
|
"button": {
|
|
"restart": {
|
|
"name": "Restart"
|
|
}
|
|
},
|
|
"sensor": {
|
|
"rssi": {
|
|
"name": "Wi-Fi signal"
|
|
},
|
|
"uptime": {
|
|
"name": "Uptime"
|
|
},
|
|
"free_heap": {
|
|
"name": "Free memory"
|
|
},
|
|
"power_scale": {
|
|
"name": "Power limiting"
|
|
}
|
|
},
|
|
"switch": {
|
|
"sacn_enabled": {
|
|
"name": "sACN receiver"
|
|
}
|
|
},
|
|
"number": {
|
|
"sacn_universe": {
|
|
"name": "sACN universe"
|
|
},
|
|
"sacn_start_slot": {
|
|
"name": "sACN start slot"
|
|
}
|
|
},
|
|
"binary_sensor": {
|
|
"sacn_active": {
|
|
"name": "sACN active"
|
|
},
|
|
"sacn_multicast": {
|
|
"name": "sACN multicast joined"
|
|
}
|
|
}
|
|
},
|
|
"exceptions": {
|
|
"auth_failed": {
|
|
"message": "The device rejected the token."
|
|
},
|
|
"device_busy": {
|
|
"message": "The device is busy - an update is probably running."
|
|
},
|
|
"request_failed": {
|
|
"message": "The device rejected the request: {message}"
|
|
},
|
|
"cannot_connect": {
|
|
"message": "The device is unreachable."
|
|
}
|
|
}
|
|
}
|