Fix timer blueprint target resolution for service events#451
Open
f3rs3n wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix timer blueprint target resolution for service events
Summary
call_serviceevents keep service parameters underevent.data.service_data, while timer and UI events exposeentity_idat the event-data level. The blueprint currently assumes every non-conversation trigger has a top-levelentity_id, so service calls such asset_timer(device_id=...)andcancel_timer(timer_id=...)can fail during initial variable evaluation.This change:
view_assist_entity;device_idthroughview_assist_entity;entity_id;1.3.3and adds the matching wiki changelog entry.The empty fallback intentionally allows timer-ID-only cancellation to reach its existing global cleanup branch. It does not infer a satellite from the timer ID.
Validation completed
ha core check; the temporary copy was then removed;set_timer(device_id=A)created the timer and status icon on satellite A and triggered the automation withoutUndefinedError;cancel_timer(timer_id=...)removed the timer, cleared its icon, and completed the global cleanup branch;!inputtags accounted for;Test-boundary note
The available deployment has one View Assist satellite. Isolation and precedence were therefore tested with real satellite A plus a synthetic entity B in the Home Assistant template matrix. Warning, expiry, Snooze, and Dismiss belong to unchanged branches outside this resolver-specific gate; they are not claimed as tested here.
Scope and known limits
This change does not modify translations, Italian responses, sentence lists, integration code, or other automation branches. It also does not add end-to-end support for
set_timercalls that provide onlyentity_idor no target: the existingset_timer_triggerbranch still readsservice_data.device_idwhen retrieving timers. Those forms remain documented limits, not positive acceptance cases.AI assistance disclosure: AI tools assisted with research and drafting. I reviewed the complete diff and personally verified the tests and behavior described above.