[ISSUE] The operation after a refused write is not paced
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
L’issue indica BaseLock._execute_locked come punto di ingresso della temporizzazione e dice che i test di regressione sono stati scritti in #1638. Leggi prima quel metodo e i test correlati, poi riproduci una scrittura rifiutata seguita da un’altra operazione. Il lavoro è completato quando ogni operazione inviata al lock aumenta il ritardo di temporizzazione, comprese le scritture rifiutate, e il test di regressione verifica l’intervallo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happened?
Lock Code Manager spaces operations on a lock by its minimum operation delay (2 s by default), but it only records the time of an operation when the call succeeds (BaseLock._execute_locked updates _last_operation_time after the call returns). A write the lock refuses is still a round trip to the device, yet the next operation goes out immediately.
Measured with the real 2 s delay and a lock that refuses one set: gaps between operations reaching the lock were 2.0 s, 0.0 s, 2.0 s, 2.0 s. A lock that keeps refusing gets its next command with no spacing each time.
Expected: every operation that reaches the lock, refused or not, counts toward pacing.
Steps to reproduce the issue
- Set up a lock with two slots out of sync.
- Make the lock refuse the first slot's set (for example a Supervision Fail, or a Zigbee lock rejecting the code).
- The second slot's set reaches the lock immediately after the refusal, with no 2 s gap.
Reproduced in the test harness while writing the regression tests in #1638.
Home Assistant Version
2026.9.4
What version of Lock Code Manager are you running?
main after 6.0.1
Lock make and model
Any (provider-independent; in BaseLock).
Anything else?
Related: #405, #532 (pacing), #1638.
- Lingua principale
- Python
- Stelle
- 114
- Fork
- 20
- Merge medio
- 5h 32m
- PR unite (30g)
- 158
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di raman325/lock_code_manager
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
raman325/lock_code_manager#1768 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
raman325/lock_code_manager#1739 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
raman325/lock_code_manager#858 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
raman325/lock_code_manager#830 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di raman325/lock_code_manager
Issue simili
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Official-Space-AI/OpenPhysGraspGen#114 ·
I maintainer di solito rispondono entro 2 giorni
-
changelog investigate
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
ramnes/notion-sdk-py#441 ·
-
qa_bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
NVIDIA-NeMo/Gym#5644 ·
I maintainer di solito rispondono entro 2 giorni
-
BUG: catalog database credentials printed to logs at startupForse già presa @cjboyle l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno