[homeconnect] Add cleaning robot support - #20733
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a new cleaningrobot thing type to the Home Connect binding so Bosch Roxxter and Spotless cleaning robots discovered via the Home Connect API can be controlled from openHAB. A dedicated handler detects the device variant at runtime (based on which programs the appliance reports) and prunes channels that do not apply.
Changes:
- New
HomeConnectCleaningRobotHandlerwith channel/event/command wiring, dynamic state options, and channel pruning per detected robot variant. - Binding constants, factory, discovery service, API client (battery level, current map, command endpoint), and
AbstractHomeConnectThingHandlerextended with cleaning-robot specific options and a new generic string event handler. - Thing/channel type definitions, i18n resources (EN/DE) and README updates documenting the new thing type and channels.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
…/internal/HomeConnectBindingConstants.java |
Adds thing type, settings, statuses, programs, options, channel IDs and commands for the cleaning robot. |
…/internal/factory/HomeConnectHandlerFactory.java |
Wires the new handler and injects TranslationProvider / LocaleProvider. |
…/internal/discovery/HomeConnectDiscoveryService.java |
Recognises the CleaningRobot appliance type during discovery. |
…/internal/client/HomeConnectApiClient.java |
Adds battery level / current map accessors, a generic command PUT, and a new (currently unused) asBoolean option-encoding branch. |
…/internal/handler/AbstractHomeConnectThingHandler.java |
Adds defaultStringEventHandler and registers cleaning-robot options in the program-option mapping. |
…/internal/handler/HomeConnectCleaningRobotHandler.java |
New handler implementing channel/event/command logic and variant detection. |
…/resources/OH-INF/thing/thing-types.xml |
Declares the cleaningrobot thing type and associated channel types. |
…/resources/OH-INF/i18n/homeconnect.properties (+ _de) |
i18n labels/descriptions for new thing and channels. |
README.md |
Documents the new thing type and channels; also reformats existing tables/examples. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lsiepel
requested changes
May 24, 2026
- Introduce cleaning robot thing type with automatic device type detection (Roxxter vs. Spotless series) based on available programs. - Register cleaning robot thing type in discovery service and handler factory. - Add channels: battery_level, current_map, cleaning_mode_state, suction_power_state, water_flow_rate_state, cleaning_passes_state, carpet_boost, cleaning_speed_state, and mop_extension. - Dynamically remove unsupported channels and set state options based on detected device type. - Support basic actions: start, stop, pause, resume, and go home. - Add English and German localizations for all channels and state options. - Update README documentation. Signed-off-by: Jonas Brüstel <openhab@bruestel.net>
markus7017
pushed a commit
to markus7017/openhab-addons
that referenced
this pull request
Jun 13, 2026
- Introduce cleaning robot thing type with automatic device type detection (Roxxter vs. Spotless series) based on available programs. Signed-off-by: Jonas Brüstel <openhab@bruestel.net>
darkscout
pushed a commit
to darkscout/openhab-addons
that referenced
this pull request
Jul 5, 2026
- Introduce cleaning robot thing type with automatic device type detection (Roxxter vs. Spotless series) based on available programs. Signed-off-by: Jonas Brüstel <openhab@bruestel.net>
olemr
pushed a commit
to olemr/openhab2-addons
that referenced
this pull request
Aug 8, 2026
- Introduce cleaning robot thing type with automatic device type detection (Roxxter vs. Spotless series) based on available programs. Signed-off-by: Jonas Brüstel <openhab@bruestel.net> Signed-off-by: olemr <olemr@olemr.com>
cipianpascu
pushed a commit
to cipianpascu/openhab-addons
that referenced
this pull request
Aug 16, 2026
- Introduce cleaning robot thing type with automatic device type detection (Roxxter vs. Spotless series) based on available programs. Signed-off-by: Jonas Brüstel <openhab@bruestel.net> Signed-off-by: Ciprian Pascu <contact@ciprianpascu.ro>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds support for Home Connect cleaning robots (Bosch Roxxter and Spotless series).
Closes #19465
Description
This PR introduces a new thing type
CleaningRobotto the Home Connect binding. The handler automatically detects the device type (Roxxter vs. Spotless series) based on the available programs reported by the API and dynamically adjusts the available channels accordingly.Supported channels:
battery_level- Battery level of the robotcurrent_map- Current map selection (Roxxter only)cleaning_mode_state- Cleaning mode (Roxxter: Silent/Standard/Power; Spotless: IntelligentMode/VacuumOnly/MopOnly/VacuumAndMop/MopAfterVacuum)suction_power_state- Suction power level (Spotless only)water_flow_rate_state- Water flow rate (Spotless only)cleaning_passes_state- Number of cleaning passes (Spotless only)carpet_boost- Carpet boost mode (Spotless only)cleaning_speed_state- Cleaning speed (Spotless only)mop_extension- Mop extension (Spotless only)operation_state,active_program_state,selected_program_state,program_progress_state,power_state,door_state,remote_start_allowance_state,remote_control_active_stateSupported actions: start, stop, pause, resume, go home
Channels that are not supported by the detected device type are automatically removed at runtime.
Testing
Tested with a real Bosch Spotless device. A Roxxter device was not available for testing.