{ "config": { "step": { "user": { "title": "FGLair", "menu_options": { "cloud": "Cloud sign-in (FGLair account)", "manual": "Manual setup", "import_json": "Import config_*.json" } }, "cloud": { "title": "FGLair cloud sign-in", "description": "Used once for provisioning: fetches the static LAN key of the device.", "data": { "email": "Email", "password": "Password", "region": "Region" }, "data_description": { "region": "FGLair/Ayla account region" } }, "cloud_device": { "title": "Select air conditioner", "data": { "dsn": "Device" } }, "manual": { "title": "Device parameters", "data": { "host": "Host (IP or DNS name)", "device_port": "Device port", "dsn": "DSN", "lanip_key": "LAN IP key", "lanip_key_id": "LAN IP key ID", "name": "Name (optional)", "model": "Model / oem_model (optional)" }, "data_description": { "device_port": "Default 80; change only for port-forwarding setups", "lanip_key": "From cloud discovery or ESPHome diagnostics" } }, "import_json": { "title": "Import config_*.json", "data": { "config_json": "config JSON" }, "data_description": { "config_json": "Paste a JSON object produced by fglair-discover or fglctl" } }, "preview": { "title": "Template preview", "description": "Computed mapping (compare with the FGLair app):\n\n{preview}\n\nSetpoint range and conversion can be adjusted below.", "data": { "template": "Template", "temp_min": "Minimum setpoint (°C)", "temp_max": "Maximum setpoint (°C)", "temp_step": "Setpoint step (°C)", "temp_num": "Conversion numerator", "temp_den": "Conversion denominator", "temp_offset": "Conversion offset (0.1 °C)" }, "data_description": { "temp_num": "display = raw × num / den + offset; raw is the protocol value (setpoint: 0.1 °C)", "temp_den": "display = raw × num / den + offset; raw is the protocol value (setpoint: 0.1 °C)", "temp_offset": "display = raw × num / den + offset; raw is the protocol value (setpoint: 0.1 °C)" } } }, "error": { "cannot_connect": "Could not connect to the device", "no_slots": "Both LAN slots are busy (FGLair app or ESPHome connected). Close one and retry", "key_mismatch": "LAN key does not match the device; re-run discovery or re-import the config", "timeout": "Timed out waiting for the device to come online", "invalid_auth": "Invalid email or password", "invalid_import": "Invalid config JSON", "no_devices": "No devices found in the account", "unknown": "Unexpected error", "properties_missing": "The device connected but did not report its base properties", "invalid_range": "Minimum must be less than maximum" }, "abort": { "already_configured": "This device is already configured", "invalid_import": "Invalid config JSON", "cannot_connect": "Could not connect to the device", "no_slots": "Both LAN slots are busy", "key_mismatch": "LAN key does not match the device", "timeout": "Timed out waiting for the device", "properties_missing": "The device connected but did not report its base properties", "unique_id_mismatch": "This is a different device (unique ID mismatch)", "reconfigure_successful": "Reconfiguration successful" } }, "entity": { "sensor": { "room_temperature": { "name": "Room temperature" }, "error_code": { "name": "Error code" }, "connection_state": { "name": "Connection state", "state": { "idle": "Idle", "registering": "Registering", "online": "Online", "recovering": "Recovering", "offline": "Offline", "key_error": "Key error" } } }, "binary_sensor": { "connectivity": { "name": "Connectivity" }, "defrost": { "name": "Defrost" }, "maintenance": { "name": "Maintenance" }, "oil_recovery": { "name": "Oil recovery" }, "pump_down": { "name": "Pump down" }, "check_operation": { "name": "Check operation" }, "simultaneous": { "name": "Simultaneous operation" }, "different_modes": { "name": "Freeze/oil/other modes (template B)" } }, "switch": { "economy_mode": { "name": "Economy" }, "powerful_mode": { "name": "Powerful" }, "coil_dry_mode": { "name": "Coil dry" }, "min_heat": { "name": "Minimum heat" }, "outdoor_low_noise": { "name": "Outdoor low noise" }, "human_det_auto_save": { "name": "Human detection auto save" }, "wifi_led_enable": { "name": "Wi-Fi LED" }, "indoor_fan_control": { "name": "Indoor fan control" } }, "select": { "af_vertical_direction": { "name": "Vertical airflow direction" }, "af_horizontal_direction": { "name": "Horizontal airflow direction" } } }, "issues": { "key_mismatch": { "title": "FGLair: LAN key mismatch", "description": "Device {device} ({host}) rejected the stored LAN key (key_id mismatch). Re-provision the device: use Reconfigure on the integration card and sign in to the FGLair cloud again, or paste a fresh config_*.json.", "fix_flow": { "step": { "confirm": { "title": "FGLair: LAN key mismatch", "description": "Use Reconfigure on the integration card to fetch the current LAN key (cloud sign-in) or paste a fresh config. This repair item disappears when the device comes online." } } } } } }