-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix or filter #6574
Fix or filter #6574
Conversation
Hey there @esphome/core, mind taking a look at this pull request as it has been labeled with an integration ( |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## dev #6574 +/- ##
==========================================
- Coverage 53.70% 53.43% -0.28%
==========================================
Files 50 50
Lines 9408 9537 +129
Branches 1654 1685 +31
==========================================
+ Hits 5053 5096 +43
- Misses 4056 4130 +74
- Partials 299 311 +12 ☔ View full report in Codecov by Sentry. |
I think all the filters should receive the value, but only the first returned value gets published. |
Yeah I think that makes sense, updated. |
Co-authored-by: Jonathan Swoboda <jonathan.swoboda>
What does this implement/fix?
Docs for the "or" filter say: "Pass forward a value with the first child filter that returns. Below example will only pass forward values that are either at least 1s old or are if the absolute difference is at least 5.0."
The actual implementation would pass forward a value for every filter that returned. That resulted in duplicating the value and sending it up multiple times. This PR fixes that bug.
Types of changes
Related issue or feature (if applicable): fixes
Pull request in esphome-docs with documentation (if applicable): esphome/esphome-docs#
Test Environment
Example entry for
config.yaml
:# Example config.yaml
Checklist:
tests/
folder).If user exposed functionality or configuration variables are added/changed: