Conversation
There was a problem hiding this comment.
When adding new integrations, limit included platforms to a single platform. Please reduce this PR to a single platform. See the review process for more details.
|
Hey there @home-assistant/core, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
|
Hey there @balloob, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
02ef407 to
a733b69
Compare
There was a problem hiding this comment.
Pull request overview
Adds Novy Cooker Hood fan control (calibrated speed setting over one-way 433.92 MHz OOK) alongside the existing light control, plus required dependency updates and tests.
Changes:
- Add
fanplatform with calibratedset_percentageand fast-pathincrease_speed/decrease_speed. - Add integration scaffolding (config flow, base entity, commands, translations, quality scale) and comprehensive tests.
- Bump
rf-protocolsto2.2.0across core requirements and affected integrations.
Reviewed changes
Copilot reviewed 20 out of 23 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/components/novy_cooker_hood/init.py | Adds test package marker for the integration. |
| tests/components/novy_cooker_hood/conftest.py | Adds shared fixtures for RF transmitter + code loading mocks. |
| tests/components/novy_cooker_hood/test_config_flow.py | Tests config flow transmitter/code selection and light test step. |
| tests/components/novy_cooker_hood/test_fan.py | Tests calibrated set percentage and +/- speed stepping behavior. |
| tests/components/novy_cooker_hood/test_light.py | Tests light toggle behavior and restore-state behavior. |
| requirements_test_all.txt | Updates pinned rf-protocols version for test environment. |
| requirements_all.txt | Updates pinned rf-protocols version for all-deps environment. |
| requirements.txt | Updates pinned rf-protocols version for core environment. |
| homeassistant/generated/integrations.json | Registers novy_cooker_hood in generated integration metadata. |
| homeassistant/generated/config_flows.py | Registers novy_cooker_hood as having a config flow. |
| homeassistant/components/radio_frequency/manifest.json | Bumps rf-protocols requirement to 2.2.0. |
| homeassistant/components/honeywell_string_lights/manifest.json | Bumps rf-protocols requirement to 2.2.0. |
| homeassistant/components/novy_cooker_hood/init.py | Sets up config-entry forwarding for fan and light platforms. |
| homeassistant/components/novy_cooker_hood/commands.py | Adds helper constants and loader for bundled RF commands per code. |
| homeassistant/components/novy_cooker_hood/config_flow.py | Implements transmitter+code selection and a light-toggle verification step. |
| homeassistant/components/novy_cooker_hood/const.py | Defines constants for codes, RF frequency/modulation, and speed count. |
| homeassistant/components/novy_cooker_hood/entity.py | Adds shared base entity wiring device info + transmitter availability tracking. |
| homeassistant/components/novy_cooker_hood/fan.py | Implements calibrated speed control and fast-path +/- behavior. |
| homeassistant/components/novy_cooker_hood/light.py | Implements light toggle control with restore-state. |
| homeassistant/components/novy_cooker_hood/manifest.json | Adds integration manifest, dependencies, and requirements. |
| homeassistant/components/novy_cooker_hood/quality_scale.yaml | Adds integration quality scale tracking file. |
| homeassistant/components/novy_cooker_hood/strings.json | Adds config flow strings and entity naming for the light. |
| CODEOWNERS | Adds code ownership for the integration and its tests. |
a7d714e to
640148e
Compare
8f3c3b8 to
4ad1740
Compare
Proposed change
Adds a
fanentity to the Novy Cooker Hood integration, controlling the hood motor over the same 433.92 MHz OOK link as the existing light entity.The protocol is one-way (no feedback), and pressing the remote's
+/-only steps the speed by one. To supportset_percentagereliably the entity uses a calibration model: each speed change first sends 4minuspresses to guarantee the hood is at level 0, then sends Npluspresses to climb to the target level (1-4 mapped to 25/50/75/100%). This always lands at the requested speed regardless of prior state, at the cost of a few extra RF presses.increase_speedanddecrease_speedare overridden with a fast path: a singleplusorminuspress, no recalibration.Depends on the initial integration PR #169194. This PR will be rebased and mark as ready to review once the integration PR is merged.
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: