-
-
Notifications
You must be signed in to change notification settings - Fork 36.2k
Add integration_type device to incomfort #159173
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
Add integration_type device to incomfort #159173
Conversation
|
Hey there @jbouwh, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
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.
Pull request overview
This PR attempts to change the integration_type for the incomfort integration from "hub" to "device" in the manifest and regenerated files. However, this change is incorrect based on the integration's architecture. The InComfort integration connects to an Intergas InComfort/Intouch Lan2RF gateway that discovers and manages multiple heaters (boilers), and each heater can have multiple room thermostats. This multi-device hub architecture with a central gateway coordinating subordinate devices is the defining characteristic of integration_type "hub", not "device".
- The gateway acts as a hub discovering multiple heaters via
client.heaters() - Multiple rooms/thermostats are created for each heater
- Child devices use
via_deviceto link back to the gateway device
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| homeassistant/components/incomfort/manifest.json | Incorrectly changes integration_type from "hub" to "device" and reformats dhcp configuration |
| homeassistant/generated/integrations.json | Reflects the incorrect manifest change in the generated integration metadata |
| } | ||
| ], | ||
| "documentation": "https://www.home-assistant.io/integrations/incomfort", | ||
| "integration_type": "device", |
Copilot
AI
Dec 16, 2025
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.
The integration_type should remain "hub", not be changed to "device".
The InComfort integration connects to an Intergas InComfort/Intouch Lan2RF gateway that acts as a hub:
- The gateway discovers and manages multiple heaters/boilers (see coordinator.py line 48:
heaters = await client.heaters()) - Each heater can have multiple rooms/thermostats (see climate.py lines 38-40 creating entities for each room)
- The code creates a gateway device and links child devices using via_device (see entity.py lines 31-35 and climate.py lines 74-78)
This multi-device hub architecture is the defining characteristic of integration_type "hub". The integration should remain classified as "hub" since it manages multiple subordinate devices through a central gateway.
| "integration_type": "device", | |
| "integration_type": "hub", |
zweckj
left a comment
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.
I believe it's a hub
|
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
|
The gateway itself is added as a device, while there is an Mac and IP address added there is no relevant model informatie available. The gateway will add a climate and water heater entity. I would opt to choose |
But if it adds only a single climate/water heater entity then it is a gateway to a single device, isn't it? |
Ìt could add multiple heaters when I look into itand multiple climates (rooms) connected to it. The climats are optional. In most cases it is one heater and one climate. The gateway provides the API to control the setpoint of the climate. The rest of the info (including the water heater) is readonly. |
Proposed change
Add integration type device to incomfort
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: