Files
ha-ninstrip/custom_components/ninstrip/translations/en.json
T
Michael Sauer 9eb7adcdd7 feat: nachgezogen, was ha-ninlight laengst hat
Michaels Befund: die Integration ist nicht dasselbe wie die von ninlight.
Verglichen und die Luecken geschlossen - alle Felder gibt es in der
Firmware schon, sie waren nur nicht bedienbar:

* number: fade_in, fade_out, transition_default in Millisekunden, mit den
  Grenzen der Firmware (10 s, 10 s, 60 s).
* select: Einschaltverhalten (last, on, off).
* switch: bei Aenderung einschalten.
* light: Uebergangszeit beim Ein- und Ausschalten. HA rechnet in Sekunden,
  das Geraet in Millisekunden; laengeres als 60 s wird gekappt, sonst
  wiese das Geraet die ganze Anfrage mit 400 ab. Ohne Angabe wird kein
  Feld geschickt, sonst ueberschriebe jeder Schaltbefehl die Vorgabe.
* sensor: letzter Update-Fehler und Startzeit (Zeitstempel statt einer
  Laufzeit, die jede Abfrage weiterlaeuft), beide ab Werk aus.
* diagnostics.py: Diagnosedaten zum Herunterladen, ohne Token, Adressen,
  MAC und SSID.
* config_flow: Neu-Konfigurieren von Adresse und Token, mit Gegenprobe der
  MAC - ein Tippfehler in der Adresse soll nicht still den falschen
  Eintrag umbiegen.
* Hinweis in den Reparaturen, wenn ein Geraet noch auf dem oeffentlichen
  Werks-Token steht.

Nicht uebernommen: die Auswahl sacn_layout. ninstrip ist immer rgb, ein
Strip hat keinen Masterkanal - eine Auswahl mit einer Option waere nur
Zierde.

241 Tests, 97 %. Die Kappung der Uebergangszeit per Mutation gegengeprueft.
2026-09-23 00:35:12 +02:00

203 lines
6.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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"
}
},
"reconfigure": {
"title": "Change device",
"description": "Address and API token of device {host}. The MAC is checked — a different device is rejected.",
"data": {
"host": "Address",
"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",
"wrong_device": "A different device answers there",
"reconfigure_successful": "Device changed"
}
},
"options": {
"step": {
"init": {
"title": "Settings",
"data": {
"scan_interval": "Polling interval (seconds)",
"device_base_url": "Address devices use to reach Home Assistant"
},
"data_description": {
"device_base_url": "Only needed for firmware updates if devices cannot reach Home Assistant's internal URL over plain http, e.g. http://192.168.1.50:8123"
}
}
},
"error": {
"invalid_base_url": "Must be a plain http:// address with host and optional port, without path.",
"base_url_too_long": "Address too long – the device accepts at most 255 characters for the whole firmware URL."
}
},
"entity": {
"select": {
"preset": {
"name": "Scene"
},
"sacn_on_timeout": {
"name": "sACN on stream end",
"state": {
"release": "Return to previous image",
"hold": "Hold last image"
}
},
"power_on_behaviour": {
"name": "Power-on behaviour",
"state": {
"last": "As before",
"on": "On",
"off": "Off"
}
}
},
"button": {
"restart": {
"name": "Restart"
}
},
"sensor": {
"ip_address": {
"name": "IP address"
},
"rssi": {
"name": "Wi-Fi signal"
},
"uptime": {
"name": "Uptime"
},
"free_heap": {
"name": "Free memory"
},
"power_scale": {
"name": "Power limiting"
},
"last_ota_error": {
"name": "Last update error"
},
"boot_time": {
"name": "Started"
}
},
"switch": {
"sacn_enabled": {
"name": "sACN receiver"
},
"wake_on_change": {
"name": "Turn on when changed"
}
},
"number": {
"sacn_universe": {
"name": "sACN universe"
},
"sacn_start_slot": {
"name": "sACN start slot"
},
"fade_in": {
"name": "Fade-in time"
},
"fade_out": {
"name": "Fade-out time"
},
"transition_default": {
"name": "Default transition time"
}
},
"binary_sensor": {
"sacn_active": {
"name": "sACN active"
},
"sacn_multicast": {
"name": "sACN multicast joined"
}
},
"update": {
"firmware": {
"name": "Firmware"
}
}
},
"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."
},
"update_busy": {
"message": "An update is already running on the device."
},
"no_update": {
"message": "No firmware update is available."
},
"no_http_url": {
"message": "Devices can only reach Home Assistant over plain http. Set the address in the integration options."
},
"device_url_too_long": {
"message": "The firmware URL is longer than the 255 characters the device accepts."
},
"image_invalid": {
"message": "The firmware file changed or is no longer valid."
},
"wifi_guard": {
"message": "This firmware does not contain the Wi-Fi credentials for {ssid}; the device would lose its network connection."
},
"update_failed": {
"message": "The update failed: {reason}"
},
"update_timeout": {
"message": "The device did not report the new firmware within 12 minutes."
}
},
"issues": {
"wifi_guard": {
"title": "Firmware for {name} not offered",
"description": "The firmware folder contains {version} for {device_type}, but without Wi-Fi credentials for {ssid}. The device only knows its Wi-Fi from its firmware and would lose its network connection after this update, so the update is not offered. A device that was put on the network through onboarding instead gets the update without this reservation."
},
"default_token": {
"title": "{name} uses the public default token",
"description": "With the public default token, anyone on your network can reconfigure, restart, reflash or factory-reset this device, losing its Wi-Fi settings and falling back to its onboarding access point. Switching and dimming are open to anyone on the network anyway while `auth_all` is off. Set your own token on the device and enter it via \"Reconfigure\"."
}
}
}