Since Feature 18 the integration is a client of the NestQuest API service and the admin surface is the PWA plus the API's admin routes, so the integration must not keep HA services for admin operations. Drop every admin service handler and its registration (uncomplete, create/update/set-active quest definition, presence pattern and overrides, CSV export, manage_child, regenerate) together with the Feature 09 permission gate that existed only for them: permissions.py, service_policy.py and the core SERVICE_POLICY registry, the regenerate handler plumbing in __init__, the dead payload schemas and services.yaml entries, and the service-name constants they alone used. Only the panel completion path (nestquest.complete_quest) remains, still proxying to the entry's shared API client. The four automation blueprints are untouched — they only read sensors and listen to bus events.
39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
# Service declarations for the NestQuest integration (Home Assistant
|
|
# services.yaml metadata). Services are domain-scoped: nested under the
|
|
# "nestquest" domain, not repeated per config entry. Since Feature 18
|
|
# only the panel completion service remains — every admin operation
|
|
# moved to the PWA and the API service's admin routes.
|
|
|
|
complete_quest:
|
|
name: Complete quest
|
|
description: Mark a quest instance as completed.
|
|
fields:
|
|
instance_id:
|
|
name: Instance ID
|
|
description: The quest instance to complete.
|
|
required: true
|
|
selector:
|
|
number:
|
|
mode: box
|
|
actor:
|
|
name: Actor
|
|
description: Who completed the quest (panel or user).
|
|
required: true
|
|
selector:
|
|
select:
|
|
options:
|
|
- panel
|
|
- user
|
|
actor_child_id:
|
|
name: Actor child ID
|
|
description: The tapped child profile. Required when actor is panel.
|
|
required: false
|
|
selector:
|
|
number:
|
|
mode: box
|
|
actor_user_id:
|
|
name: Actor user ID
|
|
description: Home Assistant user id when actor is user and no call context is present.
|
|
required: false
|
|
selector:
|
|
text: |