This repository is currently on hold and will no longer receive regular updates.
All features from this repository have been officially merged into the original repository by sander1988, and I have joined the project as a contributor! The original repo now includes everything this version had, plus ongoing improvements and future features.
- Active Repository: github.com/sander1988/indego
- HACS Support: The official repository is available directly via HACS for easy installation and updates.
Note: This version of the integration will continue to work as-is for the time being, but for all future updates, bug fixes, and new features, please migrate to the main repository.
Home Assistant Custom Component for Bosch Indego robotic lawn mowers
A comprehensive Home Assistant integration that provides full control and monitoring of your Bosch Indego lawn mower. Get real-time status, battery information, mowing schedules, calendar slot configuration, and more.
- 🎮 Full Mower Control - Start, pause, dock, and schedule mowing
- 📊 Real-time Monitoring - Battery, location, alerts, and more
- 📍 Lawn Mapping - Visual SVG map with mower position overlay (dynamic streaming based on movement)
- 🤖 SmartMowing Switch - Toggle automatic schedule optimization based on weather
⚠️ Alert Management - Monitor and manage mower alerts with action buttons and complete error list extraction- 📅 Calendar Slot Configuration - Set and track mowing time slots via dedicated service and sensors
- 🌍 Multi-language Support - German, English, Dutch, French, Spanish, Italian, Danish, Norwegian, Polish, Swedish, Slovak, and more
- 🏠 Native Entities - Lawn Mower and Vacuum entities for seamless Home Assistant integration
- 📱 Multiple Mowers - Support for multiple mowers in one Home Assistant instance
- 🔌 Service Monitoring - Bosch Cloud API availability detection with HTTP 5xx error tracking
- 🔋 Advanced Battery Info - Detailed battery metrics (voltage, temperature, cycles, discharge in Wh)
- 🛡️ Intelligent Offline Detection - 3-layer system (error codes, timeout, successful updates)
- 📍 Adaptive Stuck Detection - Smart detection adjusting timeouts based on current activity (mowing/border cut/mapping) with startup grace period
- 👤 Custom User Agent - Configurable User-Agent for API requests to work around Bosch restrictions
- 📈 Session Tracking - Counter for completed mowing sessions
- 🎯 Dynamic Camera Streaming - Camera shows as streaming when mower is actively moving/mowing
- 🔲 Alert Action Buttons - Quick action buttons to manage specific alerts
- 📊 Long-Term Statistics - State class support for historical data graphs in Home Assistant
- Features
- Community
- User Interface & Entities
- Installation
- Getting Started
- Monitored Entities
- Advanced Features
- Entity Reference
- Services & Control
- Debugging
- Supported Models
- Known Issues
- Contribution & Support
- Credits
Join our Discord community to discuss features, vote on improvements, and get support:
To keep your dashboard organized, the integration splits data into logical sections.
🔍 Click to expand Dashboard & Entity Screenshots
1. Add this repository to HACS (Community Store)
2. Search for "Bosch Indego"
3. Click "Install"
4. Restart Home Assistant
Note
The integration is currently not available in the default HACS store. Please use Option 2 (Custom Repository) or Option 3 below to install it.
If you want to use HACS but the integration is not yet in the default store, you can easily add it manually:
- Open HACS in your Home Assistant dashboard.
- Click the three dots in the top right corner.
- Select Custom repositories.
- Add the GitHub link:
https://github.com/whylev/Indego - Select Integration from the category dropdown menu.
- Click Add, then search for "Bosch Indego Lawnmower" in HACS and click install.
- Copy the
boschindegofolder fromcustom_componentsto your Home Assistantcustom_componentsfolder - Restart Home Assistant
Bosch Indego uses OAuth authentication (Bosch SingleKey ID). To complete authentication, you need to install a browser extension:
- Download: HomeAssistant Indego authentication helper
- Extract the ZIP file
- Open your browser's extension management page:
- Chrome / Edge / Brave / Opera / Vivaldi / Arc:
chrome://extensionsoredge://extensions - Firefox:
about:debugging#/runtime/this-firefox
- Chrome / Edge / Brave / Opera / Vivaldi / Arc:
- Enable Developer mode (Chromium browsers only)
- Click Load unpacked (Chromium) or Load Temporary Add-on (Firefox) and select the extracted folder
- ✅ You can disable the extension after setup if you prefer
Supported browsers: All Chromium-based browsers (Chrome, Edge, Brave, Opera, Vivaldi, Arc, Thorium, and more) + Firefox
📖 Full list of Chromium-based browsers
- In Home Assistant: Settings → Devices & Services → Create Integration
- Search for "Bosch Indego"
- Click Create
- Follow the authentication flow (uses the Chrome extension above)
- All sensors will appear as "Unused Entities" after setup
You can add this integration multiple times if you own multiple mowers.
After adding the integration, you can enable additional features in Settings → Devices & Services → Bosch Indego → Configure:
- Custom User Agent - Useful if Bosch Cloud is blocking requests. Try alternatives like
HomeAssistant/IndegoorHA/Indego - Expose as Lawn Mower - Enable native Home Assistant Lawn Mower entity (recommended for automation compatibility)
- Expose as Vacuum - Enable legacy Vacuum entity for backward compatibility
- Show All Alerts - Store all historical alerts (use sparingly due to Entity Registry limits)
All entities are automatically discovered after setup and will appear as "Unused Entities" in Home Assistant.
Find all sensors at: Home Assistant → Settings → Devices & Services → Indego → Sensors
| Sensor | Description |
|---|---|
| Mower State | Current state of the mower (e.g., mowing, paused, charging) |
| State Detail | Detailed state information with more context |
| Mowing Mode | Current mowing mode setting (e.g., Normal, SmartMowing) |
| Lawn Mowed | Percentage of lawn mowed (%) |
| Lawn Mowed Size | Absolute lawn area mowed in current session (m²) |
| Garden Size | Total lawn area (m²) |
| Sensor | Description |
|---|---|
| Battery Level | Current battery charge (%) |
| Battery Voltage ⚙️ | Battery voltage (V) - diagnostic |
| Battery Temperature ⚙️ | Battery cell temperature (°C) - diagnostic |
| Ambient Temperature ⚙️ | Ambient air temperature (°C) - diagnostic |
| Battery Cycles ⚙️ | Battery charge cycles count - diagnostic |
| Battery Discharge ⚙️ | Battery discharge capacity (Wh) - diagnostic |
| Battery Charging | Whether mower is currently charging (On/Off) |
⚙️ = Diagnostic sensors (hidden by default)
| Sensor | Description |
|---|---|
| Session Count | Total number of completed mowing sessions |
| Total Mowing Time | Total cumulative mowing time (hours) |
| Last Completed Mow | Timestamp of last full lawn mowing completion |
| Next Mow Time | Scheduled next mowing time |
| Calendar Slots | Currently configured mowing time slots |
| Predictive Calendar Slots | Predicted/optimized mowing time slots |
| Sensor | Description |
|---|---|
| Mower Position X ⚙️ | X coordinate on map (pixels) - diagnostic |
| Mower Position Y ⚙️ | Y coordinate on map (pixels) - diagnostic |
| Sensor | Description |
|---|---|
| Last Error Code | Last error code and timestamp with error description |
| Firmware Version ⚙️ | Current firmware version - diagnostic |
| Maintenance Hours | Maintenance counter (hours) with status (good/service_due_soon/service_required) |
| Binary Sensor | Description |
|---|---|
| Online Status | Whether mower is connected (On/Off) - with intelligent 3-layer offline detection |
| Alerts | Active alert status indicator with count of unread alerts |
| Mower Stuck | Indicates if mower is stuck - adaptive timeout based on current activity, with 60s startup grace period |
| Battery Charging | Whether mower is currently charging (On/Off) |
| Service Status | Bosch Cloud API availability - detects HTTP 5xx errors |
| Update Available | Firmware update availability (On/Off) |
| Switch | Description |
|---|---|
| SmartMowing | Toggle SmartMowing mode on/off - enables automatic schedule optimization based on weather conditions |
| Button | Description |
|---|---|
| Delete Alert (Last) | Delete the most recent alert from the mower |
| Delete All Alerts | Delete all alerts from the mower at once |
| Mark Alert as Read (Last) | Mark the most recent alert as read |
| Mark All Alerts as Read | Mark all alerts as read without deleting them |
These entities can be enabled in Settings → Devices & Services → Bosch Indego → Configure:
Enable "Expose as Lawn Mower" to add a native Home Assistant Lawn Mower entity with full controls:
- Commands: Start Mowing, Pause, Dock (return to charging)
- States: DOCKED, MOWING, PAUSED, RETURNING, ERROR
- Features: Automatically maps 60+ mower states to Home Assistant standard activities; displays ERROR when unread alerts or device errors are present
- Entity ID:
lawn_mower.indego_<SERIAL>
Enable "Expose as Vacuum" for backward compatibility with Vacuum automations:
- Commands: Start, Pause, Return to Dock
- States: Docked, Cleaning, Idle, Paused, Returning, Error
- Entity ID:
vacuum.indego_<SERIAL>
Visual SVG map with mower position overlay:
- Dynamic Streaming: Shows as streaming when mower is actively moving/mowing
- Map Updates: Refreshes on mower position changes (>5px movement)
- File Location:
www/indego_map_<SERIAL>.svg - Entity ID:
camera.indego_<SERIAL>_lawn_map
Available at: Settings → Devices & Services → Bosch Indego → Device → Diagnostics
Complete system snapshot including:
- Current mower state and detailed state information
- Battery status (percentage, voltage, temperature, cycles, discharge)
- Garden size and mowing progress metrics
- Runtime statistics (operation, mowing, charging hours)
- Alert history with timestamps and codes
- Maintenance status and hours
- Last API response time
- Position data (X, Y coordinates on map)
- Firmware version and update availability
For Home Assistant administrators to analyze integration health:
- Connection metrics and refresh cycle tracking
- Error code statistics
- Session counter data
- Configuration details (redacted for security)
Automatic issue detection and resolution:
Authentication Failure Repair
- When triggered: OAuth2 token becomes invalid or expires
- Resolution: Click "Fix" to re-authenticate with Bosch SingleKey ID
- Auto-clears: After successful re-authentication
Connection Failure Repair
- When triggered: 5+ consecutive API timeout failures
- Resolution: Auto-clears when connectivity is restored
- Purpose: Helps distinguish temporary network issues from permanent problems
Manage at: Settings → System → Repairs
The binary_sensor.indego_<SERIAL>_alert sensor stores all active mower alerts as individual attributes:
Available Attributes (for each alert):
alerts_count- Number of active alertslast_alert_error_code- Most recent error codelast_alert_message- Most recent error messagelast_alert_date- Most recent error timestamplast_alert_read- Read status of most recent alert
Complete Error History (error_0, error_1, error_2, ...):
error_N- Complete error:"802: WiFi connection lost - 2024-01-01 12:34:56"error_N_code- Error code only:"802"error_N_description- Error description:"WiFi connection lost"error_N_timestamp- Time of error:"2024-01-01 12:34:56"error_N_message- Original API messageerror_N_read- Read status (true/false)
Note: Use with show_all_alerts: true option to store complete history (use sparingly due to Entity Registry limits).
Over 90 error codes are mapped in the integration. See error list in Developer Tools → Services → search "indego" or check error_codes.py for complete reference.
The binary_sensor.indego_<SERIAL>_service_status sensor monitors Bosch Cloud API availability:
- UP (On) - Bosch API is responding normally
- DOWN (Off) - Bosch Cloud experiencing 5xx errors (usually temporary)
- Attribute
last_service_error- HTTP error code (e.g., "HTTP 503")
Note: 5xx errors are typically temporary Bosch Cloud issues and resolve automatically.
The integration uses a sophisticated 3-layer system to accurately detect when your mower is offline:
Layer 1: Error Code Detection
- Immediately marks mower as offline on API errors: 802, 803, 804 (connection failures)
- Provides instant feedback when mower loses connectivity
Layer 2: Timeout System
- After 300 seconds (5 minutes) without a successful API response, mower is marked offline
- Handles situations where the API doesn't return explicit error codes
- Automatically recovers when connectivity is restored
Layer 3: Last Successful Update Tracking
- Continuously tracks
_last_successful_updatetimestamp - Monitors refresh cycles to detect prolonged connection loss
- Works in conjunction with error codes and timeout system
How It Works:
- Each successful API call updates the timestamp
- Every refresh cycle checks for timeout or error conditions
- If timeout exceeded OR error codes detected → mower state set to offline
- Online state automatically restored when connection resumes
The lawn map camera entity provides dynamic streaming capabilities:
- Streaming State: Camera's
is_streamingproperty indicates active mower movement - Movement Detection: Automatically detects if mower is in a mowing, moving, or cutting state (states 500-799)
- Map Updates: SVG map reloads when mower movement is detected for fresh position data
- Visual Feedback: Streaming indicator in Home Assistant UI shows when mower is actively working
Automatic stuck mower detection with activity-aware timeouts to minimize false positives:
- Binary Sensor:
binary_sensor.indego_<SERIAL>_mower_stuck - Adaptive Timeouts based on current activity:
- Normal Mowing: 60 seconds without movement (>5px)
- Border Cut: 70 seconds
- Mapping & Spot Mowing: 120 seconds
- Startup Grace Period: 60-second grace period at the beginning of each session to allow for calibration
- Tracking: Only during active mowing/movement states (state numbers 500-799); specific states are excluded to avoid false positives during expected pauses
- Attributes:
stuck_since- Timestamp when mower became stuckstuck_x- X position (pixels) where mower is stuckstuck_y- Y position (pixels) where mower is stuck
The integration fully supports multiple mowers on the same Bosch account:
- Add Multiple Times: You can add this integration multiple times to manage different mowers
- Service Routing: Services automatically detect which mower to control via the
mower_serialparameter - Unified Dashboard: All mowers appear as separate devices in Home Assistant
- Concurrent Polling: Each mower is polled independently with optimal refresh intervals
Using Services with Multiple Mowers:
service: indego.command
data:
command: mow
mower_serial: "0123456789ABCDEF" # Required for multiple mowersRefresh Intervals:
- State Polling: Immediate on each update cycle (uses 230-second API long-poll timeout)
- Generic Data (firmware, mode): Every 10 minutes
- Position Updates: Every 60 seconds
- Map Refresh: On position changes (>5px movement) or state transitions
- Battery/Garden Data: Every 10 minutes
Retry Strategy (on connection failures):
- Backoff delays: [0 sec (immediate), 10 sec, 30 sec, 60 sec]
- After 60 seconds: Marks mower as offline after 5+ consecutive failures
- Automatic recovery: Clears offline state on successful reconnection
- Token Refresh: Every 12 hours (aggressive strategy to prevent 400 errors)
- Bosch Tokens Expire: At 24 hours, so early refresh prevents gaps
- Authentication Flow: Uses Bosch SingleKey ID
- Required Scope:
openid profile email offline_access https://prodindego.onmicrosoft.com/indego-mobile-api/Indego.Mower.User
Bosch Cloud may occasionally block requests. Configure custom User-Agent strings:
Access in: Settings → Devices & Services → Bosch Indego → Configure → "Custom User Agent"
Available Options:
HomeAssistant/Indego- Full descriptionHA/Indego- Shorter form (default)
When to change: If you encounter HTTP 4XX (block) errors, try switching the user agent.
The integration tracks completed mowing sessions:
- Session Counter:
sensor.indego_<SERIAL>_session_count- Total number of completed sessions - Increment Logic: Counter increments when transitioning INTO mowing state (from non-mowing states)
- Session Attributes on
lawn_mowedsensor:last_session_operation_min- Total session durationlast_session_cut_min- Active cutting timelast_session_charge_min- Charging time between sessions
Detailed battery information available as diagnostic sensors (disabled by default):
| Sensor | Unit | Purpose |
|---|---|---|
| Battery Voltage | V | Monitor charging voltage for diagnostics |
| Battery Temperature | °C | Track battery thermal behavior |
| Ambient Temperature | °C | Monitor environmental conditions |
| Battery Cycles | count | Track battery age and health |
| Battery Discharge | Wh | Monitor discharge energy with total_increasing state class |
Enable these sensors: Settings → Devices & Services → Indego → Sensors → Enable
Several sensors support Home Assistant long-term statistics for historical data graphs:
| Sensor | State Class |
|---|---|
| Battery Percentage | measurement |
| Lawn Mowed Size | measurement |
| Total Runtime | total_increasing |
| Battery Discharge | total_increasing |
The integration includes translations for 12 languages:
- German (Deutsch), English, Dutch (Nederlands), French (Français)
- Spanish (Español), Italian (Italiano), Danish (Dansk), Norwegian (Norsk)
- Polish (Polski), Swedish (Svenska), Slovak (Slovenčina)
Language selection is handled automatically by Home Assistant based on your system settings.
The integration maps 60+ distinct mower states to Home Assistant standard activities:
Docked States (0, 101, 257-263, 1281, 64513):
- Mower is at rest in charging dock
- Lawn Mower Activity: DOCKED
- Vacuum State: DOCKED
Mowing States (266, 512-525, 768-776, 1005):
- Mower is actively cutting grass or moving during mowing session
- Lawn Mower Activity: MOWING
- Vacuum State: CLEANING / IDLE
Paused States (517, 519):
- Mower paused mid-mowing session
- Lawn Mower Activity: PAUSED
- Vacuum State: PAUSED
Returning States (detected from "Returning to" state descriptions):
- Mower actively returning to dock
- Lawn Mower Activity: RETURNING
- Vacuum State: RETURNING
Error States (1025, 1026, 1027, 1038, 1537, 99999):
- Mower encountered an error condition
- Lawn Mower Activity: ERROR
- Vacuum State: ERROR
Charging States (detected from "Charging" in state descriptions):
- Mower is charging in dock
- Tracked separately via
binary_sensor.indego_<SERIAL>_battery_charging
Mower State (sensor.indego_<SERIAL>_mower_state):
- Attributes:
last_updated
Mower State Detail (sensor.indego_<SERIAL>_mower_state_detail):
- Attributes:
last_updated,state_number,state_description - Provides human-readable state descriptions like "Mowing - Relocalizing", "Charging", "Returning to Dock"
Battery (sensor.indego_<SERIAL>_battery_percentage):
- Attributes:
voltage_V,discharge_Wh,cycles,battery_temp_°C,ambient_temp_°C,last_updated
Lawn Mowed (sensor.indego_<SERIAL>_lawn_mowed):
- Attributes:
last_completed_mow,next_mow,last_session_operation_min,last_session_cut_min,last_session_charge_min,last_updated
Runtime Total (sensor.indego_<SERIAL>_runtime_total):
- State Class:
total_increasing(for statistics) - Attributes:
total_operation_time_h,total_mowing_time_h,total_charging_time_h
Alerts (binary_sensor.indego_<SERIAL>_alert):
- Attributes: Complete error list with:
alerts_count- Number of active alertslast_alert_error_code,last_alert_message,last_alert_date,last_alert_read- For each alert:
error_N,error_N_code,error_N_description,error_N_timestamp,error_N_message,error_N_read
Mower Stuck (binary_sensor.indego_<SERIAL>_mower_stuck):
- Attributes:
stuck_since,stuck_x,stuck_y
Maintenance Hours (sensor.indego_<SERIAL>_maintenance_hours):
- Attributes:
maintenance_status(values: "good", "service_due_soon", "service_required") - Status logic:
- < 50 hours: "good"
- 50-149 hours: "service_due_soon"
-
= 150 hours: "service_required"
Calendar Slots (sensor.indego_<SERIAL>_calendar_slots):
- Configured mowing time slots retrieved from the mower
- Updated via the
set_calendar_slotservice
Predictive Calendar Slots (sensor.indego_<SERIAL>_predictive_calendar_slots):
- Predicted or SmartMowing-optimized time slots
Different entity categories are used to organize features in Home Assistant:
CONFIG Category (buttons for alert management):
button.indego_<SERIAL>_delete_last_alertbutton.indego_<SERIAL>_delete_all_alertsbutton.indego_<SERIAL>_read_last_alertbutton.indego_<SERIAL>_read_all_alertsswitch.indego_<SERIAL>_smartmowing_switch
DIAGNOSTIC Category (detailed information):
sensor.indego_<SERIAL>_battery_voltagesensor.indego_<SERIAL>_battery_temperaturesensor.indego_<SERIAL>_ambient_temperaturesensor.indego_<SERIAL>_battery_cyclessensor.indego_<SERIAL>_battery_dischargesensor.indego_<SERIAL>_mower_svg_xsensor.indego_<SERIAL>_mower_svg_ysensor.indego_<SERIAL>_firmware_version
Diagnostic entities are hidden by default but can be enabled via: Settings → Devices & Services → Indego → Sensors → Enable
Control your mower through Home Assistant services. All services support multiple mowers via the mower_serial parameter.
Service: indego.command
Sends control commands to your mower (compatible with Lawn Mower and Vacuum entities).
Parameters:
command(required): One of:mow- Start mowingpause- Pause current operationreturnToDock- Return to charging dock
mower_serial(optional): Serial number (required only for multiple mowers)
Example:
service: indego.command
data:
command: mowService Compatibility:
- These commands trigger the corresponding Lawn Mower entity methods (async_start_mowing, async_dock, async_pause)
- Commands can also be sent directly to Lawn Mower entity via Home Assistant UI
Service: indego.set_calendar_slot
Configure mowing time slots on your mower directly from Home Assistant. The service supports the Home Assistant visual action editor for intuitive UI-based configuration.
Parameters:
slot(required): The calendar slot to configurestart(required): Start time for the mowing slot (validated for correct format including seconds)end(required): End time for the mowing slotmower_serial(optional): Serial number (only needed for multiple mowers)
Example:
service: indego.set_calendar_slot
data:
slot: 1
start: "08:00:00"
end: "12:00:00"The current and predicted calendar slots are exposed as sensors (calendar_slots and predictive_calendar_slots) and update automatically after changes.
The SmartMowing feature can be controlled in two ways:
Use the SmartMowing switch entity in Home Assistant UI:
- Entity ID:
switch.indego_<SERIAL>_smartmowing_switch - Location: Home Assistant dashboard or automations
- State Detection: Automatically detects current SmartMowing status from mower's mode
- Real-time Sync: Switch state updates automatically based on mower's current settings
Service: indego.smartmowing
Enable or disable SmartMowing programmatically for automations.
Parameters:
enable(required):true|falsemower_serial(optional): Serial number (only needed for multiple mowers)
Example:
service: indego.smartmowing
data:
enable: trueWhat SmartMowing Does:
- Automatic schedule adjustment based on weather and lawn growth
- Mower adapts mowing plan to optimal conditions
- Can be toggled on/off based on your preferences
Service: indego.delete_alert
Parameters:
alert_index(required): Index of alert to delete (0 = most recent, 1 = second most recent, etc.)mower_serial(optional)
Example:
service: indego.delete_alert
data:
alert_index: 0Service: indego.delete_alert_all
Loops through all alert batches from the Bosch API until all alerts are cleared.
Parameters:
mower_serial(optional)
Batch Settings:
- Delay between deletions: 10 seconds
- Maximum rounds: 20 (safety limit to prevent infinite loops)
Service: indego.read_alert
Parameters:
alert_index(required): Index of alert (0 = most recent, 1 = second most recent, etc.)mower_serial(optional)
Example:
service: indego.read_alert
data:
alert_index: 0Service: indego.read_alert_all
Batch marks all alerts as read with configurable delays.
Parameters:
mower_serial(optional)
Batch Settings:
- Delay between read operations: 10 seconds
- Maximum rounds: 20
Service: indego.download_map
Downloads the current lawn map from Bosch Cloud API and saves as www/indego_map_<SERIAL>.svg in your Home Assistant configuration directory.
Used by:
- Camera entity to display the mowing map with mower position overlay
- Custom dashboards via the SVG map file
Parameters:
mower_serial(optional): Serial number (only needed for multiple mowers)
Note: The map is automatically downloaded and cached. Use this service to force a fresh map update.
File Location: <HA_CONFIG>/www/indego_map_<SERIAL>.svg
To enable debug logging for troubleshooting, add this to your Home Assistant configuration:
logger:
logs:
custom_components.boschindego: debug
pyIndego: debugThen check your logs in Settings → System → Logs for detailed debugging information.
The integration supports the following Bosch Indego models:
- Indego 1000, 1100, 1200
- Indego 10C, 13C
- Indego 350, 400
- Indego S+ 350 (1st & 2nd Gen)
- Indego S+ 400 (1st & 2nd Gen)
- Indego S+ 500
- Indego M+ 700 (1st & 2nd Gen)
Not seeing your model? Please open an issue to request support.
-
Chrome Extension Required
- A Chrome extension is required to complete the authentication setup (Bosch SingleKey ID OAuth flow)
- Can be disabled/removed after initial setup
-
Bosch Cloud API Issues
- The Bosch Cloud (Azure) may occasionally block the integration:
HTTP 4XXerrors ("The connection to the Bosch Indego API failed!") - Workaround: Try changing the user agent during setup or in Settings → Devices & Services → Bosch Indego Mower → Configure
- The Bosch Cloud (Azure) may occasionally block the integration:
-
Temporary Bosch Cloud Outages
HTTP 5XXerrors typically indicate temporary Bosch Cloud unavailability (often occurs once daily)- These are temporary and resolve automatically
-
Invalid Commands
- Sending impossible commands (e.g., docking while already docked) may cause temporary
HTTP 5XXerrors from Bosch
- Sending impossible commands (e.g., docking while already docked) may cause temporary
- Check existing issues first
- Open a new issue with:
- Your mower model and firmware version
- Steps to reproduce
- Relevant logs (with debug enabled)
- Screenshots if applicable
- 📚 Documentation & Issues
- 💬 Discord Community
- 📋 Services reference: Developer Tools → Services (search "Bosch Indego")
Maintainers: @whylev, @kimzeuner
Contributors: @sander1988, Eduard, Jumper78, dykandDK, ultrasub, Gnol86, naethan, bekkm, onkelfarmor, ltjessem, nsimb, jjandersson, Shamshala, nath, urbatecte, Windmelodie, Fuempel, MagaliDB, mhosse, Promises
Inspiration:







