Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Operational error codes

Each operational failure identifies its boundary, failed operation, stable code and next useful check. Evidence is included only when LocalSky can observe it. HTTP 500 identifies a server response; HA or proxy logs are still required to identify the exception that produced it. LocalSky never guesses that exception.

Codes and structured fields are the client contract. Messages can improve without changing their identity. Credentials, raw response bodies and request URLs are excluded. Batch failures retain individual causes and mapping indexes; retry failures retain each attempted result. SQLite extended codes, OS codes, TLS reasons and parse positions are included when observable.

API 2.4.0 adds diagnostics to privileged source health and supported operation responses. Partial polling failures remain visible without discarding good observations or changing their measurement age. A subsequent complete poll clears the failure. Update checks retain the last successful result separately from a failed attempt.

In Settings, expand a source’s Technical details to copy its current failure. Failed irrigation actions and update checks expose the same details. API errors include request.id, request.method, request.route and an X-LocalSky-Request-Id response header. Search that ID in LocalSky logs. Validation responses retain their field/rule details. Browser network failures cannot reveal DNS or TLS internals hidden by the browser; use its network panel.

Cause trees retain up to 16 causes per group and four nested levels. When a provider produces more failures, omitted_causes states how many were excluded. Updates checks report feed failures; image download/install failures are owned by Docker, Home Assistant Supervisor or your deployment manager and appear in those systems’ logs. LocalSky does not install its own upgrades.

CodeMeaningNext check
LS_HTTP_401upstream rejected authenticationCheck the source credential and proxy Authorization forwarding.
LS_HTTP_403upstream denied accessCheck the source account permissions and proxy access rules.
LS_HTTP_404upstream API route was not foundCheck the configured API base address and supported API version.
LS_HTTP_429upstream rate limited the requestCheck the provider quota and polling interval.
LS_HTTP_REDIRECTupstream redirected the API requestConfigure the API address directly, without an interactive login redirect.
LS_HTTP_SERVERupstream returned a server errorCheck source and proxy logs at this timestamp; compare direct and proxied API responses. HTTP status alone does not identify the server exception.
LS_HTTP_REJECTEDupstream rejected the requestCheck the reported status against the provider API contract.
LS_NET_TIMEOUTrequest deadline expiredCheck source availability and latency from the LocalSky host.
LS_NET_CONNECTconnection to the source failedCheck DNS, routing, port and TLS trust from the LocalSky host; use the OS error kind/code when present.
LS_TLS_CERTIFICATEsource TLS certificate validation failedUse the certificate reason to fix the certificate chain, validity or hostname. Keep certificate verification enabled.
LS_TLS_PROTOCOLTLS negotiation with the source failedCheck the source HTTPS port and TLS configuration; use the reported TLS reason.
LS_NET_REQUESTHTTP request could not be sentCheck the configured API address and credential header format.
LS_NET_BODYresponse body transfer failedCheck for interrupted or malformed HTTP responses in source/proxy logs.
LS_DATA_DECODEresponse could not be decodedCheck that the endpoint returns the documented data format, not a login page.
LS_JSON_SYNTAXresponse contains invalid JSON syntaxCheck the API/proxy response format at the reported line and column.
LS_JSON_SHAPEJSON does not match the expected response schemaCheck the source API version and response schema at the reported line and column.
LS_JSON_TRUNCATEDJSON response ended before the value was completeCheck source/proxy logs for a truncated response.
LS_CONFIG_URLconfigured API address is invalidSet a complete HTTP or HTTPS API base address with a host.
LS_CONFIG_SCHEMEAPI address must use HTTP or HTTPSCorrect the source URL scheme.
LS_NET_DNSsource hostname did not resolveCheck name resolution inside the LocalSky container; inspect the reported resolver error kind/code.
LS_NET_TARGET_BLOCKEDsource address is not a permitted device endpointUse a normal LAN or public address; loopback, link-local, metadata and multicast targets are rejected.
LS_NET_CLIENT_INITHTTP client initialization failedCheck the LocalSky runtime TLS trust configuration.
LS_DATA_SIZE_LIMITresponse exceeded the permitted byte limitCheck the API response size and the reported limit; the response was not ingested.
LS_HA_ENTITY_STATEHA response was not the requested stateCheck the mapped entity endpoint and HA/proxy routing; no partial readings were published.
LS_HA_NO_MAPPINGSno mapped entities are available for HA recoveryConfigure weather or soil entity mappings and inspect the bulk API failure in HA logs.
LS_HA_FALLBACK_FAILEDHA bulk read and mapped-entity fallback both failedInspect both recorded causes; check HA/proxy logs at this timestamp. No partial readings were published.
LS_STREAM_CLOSEDupstream stream closedCheck source availability and reconnect; retained observations keep their original age.
LS_STREAM_PROTOCOLstream protocol failedUse the protocol category to check endpoint compatibility and proxy WebSocket support.
LS_MQTT_PROTOCOLMQTT connection or protocol failedUse the broker return code or protocol category to check broker credentials, permissions and connectivity.
LS_UDP_IOUDP listener operation failedUse the OS error kind/code to check the bind address, port ownership and host network configuration.
LS_UPDATE_MANIFESTrelease manifest contains an invalid or missing valueCheck the identified manifest field and release feed; the previous successful version check has been retained.
LS_PROVIDER_OFFLINEprovider is unavailableCheck the provider connection and its last recorded transport failure.
LS_LLM_MODEL_UNAVAILABLErequested language model is unavailableCheck the configured model name and the provider’s installed model list.
LS_CONFIG_MISSINGconfiguration file was not foundCheck the data mount and complete setup if this is a new installation.
LS_CONFIG_SCHEMAconfiguration schema is not supported by this binaryCheck the reported schema versions and use a compatible LocalSky release before restoring or loading this configuration.
LS_CONFIG_SNAPSHOT_MISSINGrequested configuration snapshot was not foundRefresh the available snapshots and select an existing version.
LS_TOML_PARSEconfiguration contains invalid TOML or an incompatible valueCheck the reported byte offset and field against the configuration schema; do not share secrets from the file.
LS_DATA_SERIALIZEdata could not be serializedCheck the reported operation and data schema; this is a LocalSky error requiring a reproducible report.
LS_DATA_DATEstored date could not be parsedCheck the reported field and parser category against the expected ISO date format.
LS_STORAGE_CHECKPOINT_BUSYdatabase checkpoint could not finishCheck long-lived database readers and retry the operation; durability has not been confirmed.
LS_STORAGE_IOfilesystem operation failedUse the operation, OS error kind and code to check storage permissions, available space and mount availability.
LS_SQLITEdatabase operation failedUse the SQLite extended code and operation to check schema, constraints, locks, disk space or database integrity.
LS_SQLITE_SHAPEdatabase result does not match the expected schemaInspect the identified database operation and column index; verify migrations completed on this database.
LS_TASK_CANCELLEDbackground operation was cancelledCheck shutdown or worker cancellation at this timestamp; completion was not confirmed.
LS_TASK_PANICbackground operation panickedCheck the panic trace at this timestamp and include the operation and LocalSky revision in a bug report.
LS_WATERING_HELDwatering is held before dispatchRead the accompanying hold reason and system readiness; no controller command was sent.
LS_CONTROLLER_OFFLINEno current controller status is availableCheck the controller connection and the preceding status failure at this timestamp.
LS_CONTROLLER_ZONE_MAPPINGzone has no station mapping on this controllerEdit the zone’s Controller station and select the matching physical valve.
LS_CONTROLLER_UNSUPPORTEDcontroller does not support this operationCheck the controller’s reported capabilities and choose a supported operation.
LS_CONFIG_FIELDconfiguration field is invalidCorrect the identified field and its validation message before saving.
LS_MQTT_DISCONNECTEDMQTT broker is disconnected; command was not deliveredCheck the broker connection and credentials; the shutoff deadline remains armed.
LS_MQTT_DEVICE_OFFLINEMQTT device reports offline; command was not deliveredCheck device power and its availability topic; the shutoff deadline remains armed.
LS_MQTT_QUEUEMQTT request could not be queuedCheck the broker worker lifecycle and request channel; no delivery was confirmed.
LS_RETRY_EXHAUSTEDall permitted attempts failedInspect each recorded attempt and its operation; correct the underlying failure before retrying.
LS_DATA_COMPRESSIONcompressed payload could not be decodedCheck the source content encoding and payload integrity; inspect the decoder OS error kind when present.
LS_BATCH_FAILEDevery requested item failedInspect the per-item causes and mapping indexes; no successful result was available.
LS_BATCH_PARTIALsome requested items failedInspect the per-item causes and mapping indexes; successful readings retain their own age.
LS_QUERY_NO_SAMPLEquery returned no numeric sampleRun the identified query against the source and check the selected series, time range and value type.
LS_QUERY_REJECTEDsource rejected the queryCheck the identified query and source query logs at this timestamp.
LS_DATA_FIELD_MISSINGresponse is missing a required fieldCheck the identified response field against the provider API version and mapped device.
LS_SOURCE_DEVICE_MISSINGno matching configured device was foundCheck the account, device identifier and source mappings.
LS_PROVIDER_REJECTEDprovider reported an application-level failureLook up the reported provider code and operation; inspect provider logs when no code was supplied.
LS_CONFIG_SIGNING_KEYsigning key is not a valid supported PKCS#8 private keyCheck the configured key format and algorithm; do not paste the key into diagnostic reports.
LS_GRIB_MESSAGEpayload contains no readable GRIB messageCheck the selected radar product and provider response format.
LS_GRIB_DECODEGRIB data decoding failedCheck the reported decoder stage and product; retain the product timestamp for a reproducible report.
LS_GRIB_OUTSIDE_GRIDdeployment location lies outside the product gridCheck deployment coordinates and select a product covering the location.
LS_GRIB_GRIDGRIB grid geometry or cell index is invalidCheck the selected product grid type and the identified geometry field.
LS_SOURCE_DIAGNOSTIC_MISSINGsource adapter returned an untyped failureInclude the source ID, operation and LocalSky revision in a bug report: this adapter discarded the failure type and needs instrumentation.
  • LS_RESTORE_SCHEMA: incompatible database schema or recovery journal; preserve the recovery files and inspect the named step.
  • LS_API_REJECTED: request rejected; response validation details and request ID identify the route and rule.
  • LS_API_SERVER: server operation failed; correlate request ID, timestamp, route and response detail with server logs.
  • LS_BROWSER_NETWORK: the browser could not reach LocalSky. Browser fetch does not expose reliable DNS/TLS causes; inspect its network panel.