{ "config": { "flow_title": "{name}", "step": { "user": { "title": "Set up ninlight lamp", "description": "Enter the address of the lamp. The token is prefilled with the public default token – anyone on your network who knows it can control and reflash the lamp.", "data": { "host": "Host", "token": "Token" }, "data_description": { "host": "IP address or ninlight-xxxx.local name of the lamp.", "token": "Authorization token of the lamp." } }, "zeroconf_confirm": { "title": "Set up {name}", "description": "Found the ninlight lamp {name} at {host}. The token is prefilled with the public default token – anyone on your network who knows it can control and reflash the lamp.", "data": { "token": "Token" } }, "reauth_confirm": { "title": "Re-authenticate {name}", "description": "The lamp rejected the stored token. Enter its current token.", "data": { "token": "Token" } }, "reconfigure": { "title": "Reconfigure lamp", "data": { "host": "Host", "token": "Token" } } }, "error": { "cannot_connect": "Cannot reach the lamp.", "invalid_auth": "The lamp rejected the token.", "not_ninlight": "The device did not answer like a ninlight lamp.", "unknown": "Unexpected error." }, "abort": { "already_configured": "This lamp is already set up.", "not_ninlight": "The device did not announce itself like a ninlight lamp.", "wrong_device": "This address belongs to a different lamp.", "reauth_successful": "Re-authentication was successful.", "reconfigure_successful": "Reconfiguration was successful." } }, "options": { "step": { "init": { "title": "ninlight options", "data": { "scan_interval": "Polling interval (seconds)", "lamp_base_url": "Address lamps use to reach Home Assistant" }, "data_description": { "lamp_base_url": "Only needed for firmware updates if lamps 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 lamp accepts at most 255 characters for the whole firmware URL." } }, "entity": { "number": { "fade_in": { "name": "Fade-in" }, "fade_out": { "name": "Fade-out" }, "transition_default": { "name": "Default transition" } }, "select": { "power_on_behaviour": { "name": "Power-on behaviour", "state": { "last": "Last state", "on": "On", "off": "Off" } } }, "switch": { "wake_on_change": { "name": "Turn on when changed" } }, "sensor": { "ip_address": { "name": "IP address" }, "free_heap": { "name": "Free memory" }, "last_ota_error": { "name": "Last update error" }, "boot_time": { "name": "Last start" } } }, "exceptions": { "cannot_connect": { "message": "Cannot reach the lamp." }, "auth_failed": { "message": "The lamp rejected the token." }, "request_failed": { "message": "The lamp rejected the request: {message}" }, "update_busy": { "message": "An update is already running on the lamp." }, "no_update": { "message": "No firmware update is available." }, "no_http_url": { "message": "Lamps can only reach Home Assistant over plain http. Set the address in the integration options." }, "lamp_url_too_long": { "message": "The firmware URL is longer than the 255 characters the lamp 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 lamp would lose its network connection." }, "update_failed": { "message": "The update failed: {reason}" }, "update_timeout": { "message": "The lamp did not report the new firmware within 12 minutes." } }, "issues": { "default_token": { "title": "{name} uses the public default token", "description": "Anyone on your network can control and reflash this lamp with the default token. Set your own token on the lamp and enter it via reconfigure." }, "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 lamp only knows its Wi-Fi from its firmware and would lose its network connection after this update, so the update is not offered." } } }