Files
ha-ninstrip/custom_components/ninstrip/translations/en.json
T
ninharp d0a9487805 feat: sACN-Einstellungen und -Status als Entitaeten
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.
2026-09-22 18:09:40 +02:00

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."
}
}
}