Repository navigation
feat(options): silence faulty or unwanted devices via ignored_addresses option - #611
Merged
GreenGrassBlueOcean merged 4 commits intoOct 4, 2026
Conversation
1 task done
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
GreenGrassBlueOcean
force-pushed
the
feat/ignored-addresses
branch
from
October 3, 2026 19:22
08789dd to
2f154c1
Compare
- Add ignored_addresses gateway option to permanently silence specific bus addresses - Skip dynamic discovery, prune registry entities and companion buttons, and ignore bus messages - Suppress actuator hardware fault tracking and clean pre-existing repair issues - Support flexible WHO/WHERE formats with zero-normalization and interface targeting - Include complete translations (en, fr, it, nl), documentation, and test suite
GreenGrassBlueOcean
force-pushed
the
feat/ignored-addresses
branch
from
October 3, 2026 19:57
5d3cd89 to
1939ed3
Compare
…none address - Query issue registry in _clean_ignored_issues to withdraw pre-existing issues matching routed (#4#) and zero-padded addresses - Guard where parameter against non-string and None inputs in IgnoredAddresses.is_ignored - Add unit tests for defensive types and routed/zero-padded pre-existing issue withdrawal
GreenGrassBlueOcean
merged commit Oct 4, 2026
76d76f8
into
OpenWebNet-HA:v2-phase1-architecture
16 checks passed
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.
Summary
Adds an
ignored_addressesconfiguration option to gateway options flow to permanently silence faulty or unwanted devices on that gateway.Follow-up to discussion in #593 (comment #5949536976): an actuator with hardware faults that cannot be immediately replaced or repaired can now be permanently ignored without leaving lingering repair issues or re-triggering discovery sweeps.
Features & Behavior
Gateway Options Flow (
ignored_addresses):1/74,1:74,1-74,WHO 1 WHERE 74, or interface-qualified1/74#4#01.074==74) so wire frames with varying zero-padding match cleanly.1/74) match both local and routed interfaces (74#4#01), silencing the device everywhere behind that gateway unless explicitly qualified.1/74#4#01) match specifically on that interface and do not silence other routed buses.Suppression across Integration Lifecycles:
discovery.py): incoming bus frames for ignored addresses are discarded immediately before scope handling, discovery, or router dispatching.discovery.py): on startup/reload, any existing registry entities and companion buttons (-disable,-enable,-calibrate) matching ignored addresses are cleanly pruned viaprune_entity(). YAML configured devices matching ignored addresses are skipped.device_health.py): suppressed from tracking or raisingunmapped_device_statusorunmapped_device_status_autodiag. Any pre-existing repair issues for ignored addresses are automatically withdrawn upon gateway reload.Documentation & Translations:
docs/diagnostics/repair-issues.mdwith instructions on permanently silencing faulty devices via gateway options.docs/configuration/gateways.mdoptions table viascripts/update_gateway_profiles.pyandscripts/sync_documentation.py.strings.json,en.json,fr.json,it.json,nl.json).Tests
tests/test_ignored.py: 45 unit tests covering address parsing, delimiter handling, normalization, interface matching, andIgnoredAddresseslookup helper.tests/test_device_health.py: verified fault suppression, autodiagnostic frame suppression, startup cleanup of pre-existing issues, and name/report guards.tests/test_platform_discovery.py: verified YAML filtering, registry pruning on startup, and immediate bus frame suppression.tests/test_config_flow.py: verified options flow validation, error reporting for invalid formats, saving, and pre-population.scripts/verify_ha_standards.py) andruff checkpass with 0 violations.Note
Based on #593 (
rfc/actuator-hardware-fault-handling). Once #593 is merged, this branch will automatically rebase cleanly ontov2-phase1-architecture.handle_event()and do not manually subscribe viaasync_dispatcher_connect. (No new entities.)