Evita loops recursivos usando context.parent_id do Home Assistant#9
Open
jucastilhoduarte wants to merge 1 commit into
Open
Evita loops recursivos usando context.parent_id do Home Assistant#9jucastilhoduarte wants to merge 1 commit into
jucastilhoduarte wants to merge 1 commit into
Conversation
Esta alteração substitui a abordagem baseada em delay por uma proteção adequada contra recursão utilizando o sistema de contexto de eventos do Home Assistant. Anteriormente, mudanças espelhadas entre entidades podiam gerar loops recursivos na automação, exigindo delays artificiais para minimizar execuções repetidas. A nova implementação utiliza o contexto do evento: trigger.to_state.context.parent_id is none Com isso, a automação reage apenas a alterações originais feitas pelo usuário/dispositivo, ignorando mudanças geradas pela própria automação. Benefícios: - Elimina loops recursivos de forma limpa - Remove dependência de delays arbitrários - Sincronização mais rápida e confiável - Comportamento mais determinístico - Melhor escalabilidade para múltiplas entidades sincronizadas A solução segue o modelo interno de propagação de eventos do Home Assistant e é mais robusta para sincronização bidirecional de interruptores virtuais.
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.
Esta alteração substitui a abordagem baseada em delay por uma proteção adequada contra recursão utilizando o sistema de contexto de eventos do Home Assistant.
Anteriormente, mudanças espelhadas entre entidades podiam gerar loops recursivos na automação, exigindo delays artificiais para minimizar execuções repetidas.
A nova implementação utiliza o contexto do evento:
trigger.to_state.context.parent_id is noneCom isso, a automação reage apenas a alterações originais feitas pelo usuário/dispositivo, ignorando mudanças geradas pela própria automação.
Benefícios:
A solução segue o modelo interno de propagação de eventos do Home Assistant e é mais robusta para sincronização bidirecional de interruptores virtuais.