Add Watts Vision + integration with tests#153022
Conversation
There was a problem hiding this comment.
Hi @theobld-ww
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
There was a problem hiding this comment.
Pull Request Overview
Adds a new Watts Vision+ integration for Home Assistant that allows users to control Watts Vision+ heating devices through OAuth2 authentication. The integration supports thermostat control (temperature adjustment, HVAC modes) and switch operations.
Key changes:
- OAuth2-based authentication system for secure API access
- Data coordinator for efficient device management and updates
- Climate and switch platform implementations for device control
Reviewed Changes
Copilot reviewed 24 out of 27 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| homeassistant/components/watts/init.py | Main integration setup with OAuth2 session management and platform registration |
| homeassistant/components/watts/config_flow.py | OAuth2 configuration flow implementation |
| homeassistant/components/watts/coordinator.py | Data update coordinator for device discovery and state management |
| homeassistant/components/watts/climate.py | Climate platform for thermostat device control |
| homeassistant/components/watts/switch.py | Switch platform for switch device control |
| homeassistant/components/watts/entity.py | Base entity class with common device information handling |
| homeassistant/components/watts/auth.py | OAuth2 authentication wrapper |
| homeassistant/components/watts/application_credentials.py | OAuth2 server configuration |
| homeassistant/components/watts/const.py | Integration constants and mappings |
| homeassistant/components/watts/manifest.json | Integration metadata and requirements |
| homeassistant/components/watts/strings.json | UI text strings for configuration flows |
| homeassistant/components/watts/quality_scale.yaml | Quality scale compliance tracking |
| tests/components/watts/* | Comprehensive test suite covering all components |
| requirements_all.txt & requirements_test_all.txt | Added visionpluspython==1.0.0 dependency |
| CODEOWNERS | Added maintainers for the new integration |
Update DataUpdateCoordinator to use explicit config_entry parameter
integration updated to reach Platinum level, now it's ready for review, thank you ! |
|
Going for platinum in the initial PR probably isn't the way to go as it will add things we don't want in the initial PR. I will give it a pass now, feel free to send me a message on Discord |
Remove unecessary isinstance Replace TEST_DEVICE_ID by TEST_USER_ID
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Breaking change
Proposed change
Type of change
Additional information
Checklist
ruff format homeassistant tests)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest.requirements_all.txt.Updated by running
python3 -m script.gen_requirements_all.To help with the load of incoming pull requests: