-
Notifications
You must be signed in to change notification settings - Fork 8
Add support for Emma in Zigbee mode #797
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
Conversation
WalkthroughAdds Emma hardware model mapping, new Adam/Anna ZigBee fixture and test dataset, a test validating the dataset connection, a changelog entry documenting v1.8.0, and bumps project version to 1.8.0. No runtime control-flow or API changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #797 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 21 21
Lines 3389 3400 +11
=========================================
+ Hits 3389 3400 +11 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
tests/test_adam.py (1)
184-204
: Expand test coverage for Emma functionality.The basic test structure is correct and properly handles connection/disconnection. However, compared to similar tests like
test_connect_adam_plus_anna_new
(lines 20-182), this test lacks coverage for:
- Thermostat operations (tinker_thermostat)
- Schedule management (set_schedule_state)
- Switch operations (tinker_switch)
- Gateway mode changes
- Updated data scenarios
Consider adding these test cases to ensure Emma's ZigBee integration works correctly across all functionality areas.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
CHANGELOG.md
(1 hunks)fixtures/adam_anna_new_2/data.json
(1 hunks)plugwise/constants.py
(1 hunks)tests/data/adam/adam_anna_new_2.json
(1 hunks)tests/test_adam.py
(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
tests/test_adam.py (2)
tests/test_init.py (4)
load_testdata
(81-90)connect_wrapper
(366-401)device_test
(480-601)disconnect
(453-456)plugwise/smilecomm.py (1)
close_connection
(148-150)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Run pytest using Python 3.13
- GitHub Check: Run pytest using Python 3.14
🔇 Additional comments (3)
CHANGELOG.md (1)
7-7
: LGTM!The changelog entry clearly documents the new Emma ZigBee capability and aligns with the related code changes in this PR.
plugwise/constants.py (1)
53-53
: LGTM!The hardware model mapping for Emma is correctly added and follows the established pattern. The model ID "170-01" is consistently referenced in the test fixtures.
tests/data/adam/adam_anna_new_2.json (1)
1-306
: LGTM with note on location reference.The test data structure with the "devices" wrapper (line 2) is consistent with how other test data files are organized. The content matches the fixture file appropriately. The same location reference concern mentioned for fixtures/adam_anna_new_2/data.json applies here - location "8201a2ac4d1b4303bf994e18d67311eb" (line 103) is referenced but not defined as a climate/location entry.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing much to add to it 👍
|
Summary by CodeRabbit
New Features
Documentation
Tests