The HA integration is now purely a client of the NestQuest API service (Feature 18): the API owns the SQLite file, the migrations, and every business rule, so keeping a second copy of that ownership inside the integration meant two sources of truth for household state, dead wiring (the startup backfill, the day-rollover materialization and sweep listeners, the corrupt-DB handling, the admin-allowlist seeding) and settings keys nothing consumes any more. Removed the integration's re-export/DB shim modules (db, store, migrations, schema, the five DAOs, completion, children, quest_definitions, admin_allowlist, presence, presence_management, materialize, recurrence, events, sweep); the bundled domain package at custom_components/nestquest/core/ is untouched and remains the single home of those engines. Setup now builds only the API client, the snapshot coordinator, and the SSE subscription, registers the one complete_quest proxy, and forwards the platforms. The options flow keeps only the keys the client itself consumes (API base URL + panel token, update interval, staleness, panel idle timeout); the horizon, rollover, notification and admin-allowlist settings moved out with the database (the API's settings store owns horizon/rollover, and the automations take their behaviour from blueprint inputs). The integration-plane tests now script the panel route's payloads and SSE frames instead of seeding a local database; the core-plane tests keep their coverage with imports pointed at core directly.
37 lines
1.2 KiB
JSON
37 lines
1.2 KiB
JSON
{
|
|
"title": "NestQuest",
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"title": "Add NestQuest",
|
|
"description": "Set up NestQuest to start coordinating the household. No additional configuration is required."
|
|
}
|
|
},
|
|
"abort": {
|
|
"single_instance_allowed": "NestQuest is already configured. Only a single instance is allowed."
|
|
},
|
|
"create_entry": {
|
|
"default": "NestQuest was successfully configured."
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "NestQuest Settings",
|
|
"description": "Adjust how the NestQuest API client polls and reaches the NestQuest API service.",
|
|
"data": {
|
|
"panel_idle_timeout": "Panel idle timeout (seconds)",
|
|
"snapshot_staleness": "Last-good snapshot staleness (seconds)",
|
|
"api_base_url": "NestQuest API base URL (http://host:port)",
|
|
"panel_token": "Panel service token"
|
|
}
|
|
}
|
|
},
|
|
"errors": {
|
|
"invalid": "Invalid value.",
|
|
"invalid_url": "Enter the API base URL as a full http:// or https:// URL with a host.",
|
|
"invalid_staleness": "Last-good snapshot staleness must be at least the update interval."
|
|
}
|
|
}
|
|
}
|