-
Notifications
You must be signed in to change notification settings - Fork 0
Features & Entities
WhyLev edited this page Jun 12, 2026
·
3 revisions
# Features & Home Assistant Entities Reference 📊🎮
This page describes all entities, controls, and advanced features exposed by the Bosch Indego integration. After setup, entities appear as **unused entities** – you can add them to your dashboard or automations as needed.
---
## 🏠 Native Home Assistant Entities (Optional)
Enable these in **Settings → Devices & Services → Bosch Indego → Configure**:
### Lawn Mower Entity (`lawn_mower.indego_<SERIAL>`)
- **Commands:** Start mowing, Pause, Dock
- **States:** `DOCKED`, `MOWING`, `PAUSED`, `RETURNING`, `ERROR`
- **Mapping:** 60+ firmware states → standard Home Assistant activities
### Vacuum Entity (`vacuum.indego_<SERIAL>`) – Legacy
- **Commands:** `vacuum.start`, `vacuum.pause`, `vacuum.return_to_base`
- **States:** `cleaning`, `paused`, `returning`, `docked`, `error`
### Camera Entity (`camera.indego_<SERIAL>_lawn_map`)
- **Dynamic streaming:** Shows as `streaming` when mower is moving/mowing
- **Display:** SVG lawn map with real‑time mower position overlay
- **File:** `www/indego_map_<SERIAL>.svg` (automatically refreshed)
---
## 📡 Sensor Entities
All sensors are read‑only and update automatically.
### Mowing Status
| Entity | Description |
|:---|:---|
| `sensor.indego_<SERIAL>_mower_state` | Current state (e.g., Mowing, Charging) |
| `sensor.indego_<SERIAL>_mower_state_detail` | Detailed state + numeric code |
| `sensor.indego_<SERIAL>_mowing_mode` | Mowing mode (Normal, SmartMowing, etc.) |
| `sensor.indego_<SERIAL>_lawn_mowed` | Percentage mowed (%) |
| `sensor.indego_<SERIAL>_lawn_mowed_size` | Absolute mowed area (m²) |
| `sensor.indego_<SERIAL>_garden_size` | Total lawn area (m²) |
### Battery & Power
| Entity | Description | Category |
|:---|:---|:---|
| `sensor.indego_<SERIAL>_battery_percentage` | Current charge (%) | Standard |
| `sensor.indego_<SERIAL>_battery_voltage` | Battery voltage (V) | Diagnostic |
| `sensor.indego_<SERIAL>_battery_temperature` | Cell temperature (°C) | Diagnostic |
| `sensor.indego_<SERIAL>_ambient_temperature` | Ambient temperature (°C) | Diagnostic |
| `sensor.indego_<SERIAL>_battery_cycles` | Charge cycles count | Diagnostic |
| `sensor.indego_<SERIAL>_battery_discharge` | Discharged capacity (Ah) | Diagnostic |
| `binary_sensor.indego_<SERIAL>_battery_charging` | Charging status (On/Off) | Diagnostic |
### Runtime & Sessions
| Entity | Description |
|:---|:---|
| `sensor.indego_<SERIAL>_session_count` | Number of completed mowing sessions |
| `sensor.indego_<SERIAL>_runtime_total` | Total cumulative mowing time (hours) |
| `sensor.indego_<SERIAL>_last_completed_mow` | Timestamp of last full lawn mow |
| `sensor.indego_<SERIAL>_next_mow_time` | Scheduled next mowing time |
### Position (Diagnostic)
| Entity | Description |
|:---|:---|
| `sensor.indego_<SERIAL>_mower_svg_x` | X coordinate on SVG map (pixels) |
| `sensor.indego_<SERIAL>_mower_svg_y` | Y coordinate on SVG map (pixels) |
### Alerts & Maintenance
| Entity | Description |
|:---|:---|
| `binary_sensor.indego_<SERIAL>_alert` | Active alerts indicator + detailed attributes |
| `sensor.indego_<SERIAL>_maintenance_hours` | Maintenance counter with status (`good`/`service_due_soon`/`service_required`) |
| `sensor.indego_<SERIAL>_firmware_version` | Current firmware version (Diagnostic) |
---
## 🔔 Binary Sensors
| Entity | Description |
|:---|:---|
| `binary_sensor.indego_<SERIAL>_online` | Mower connectivity (3‑layer offline detection) |
| `binary_sensor.indego_<SERIAL>_alert` | Any unread alert present |
| `binary_sensor.indego_<SERIAL>_mower_stuck` | Stuck detection (no movement >60s while mowing) |
| `binary_sensor.indego_<SERIAL>_service_status` | Bosch Cloud API availability (Up/Down) |
| `binary_sensor.indego_<SERIAL>_update_available` | Firmware update ready |
---
## 🎛️ Switches & Buttons
### Switch
| Entity | Description |
|:---|:---|
| `switch.indego_<SERIAL>_smartmowing` | Enable/disable SmartMowing (weather‑adaptive schedule) |
### Buttons (Alert Management)
| Entity | Description |
|:---|:---|
| `button.indego_<SERIAL>_delete_last_alert` | Delete the most recent alert |
| `button.indego_<SERIAL>_delete_all_alerts` | Delete all alerts |
| `button.indego_<SERIAL>_read_last_alert` | Mark most recent alert as read |
| `button.indego_<SERIAL>_read_all_alerts` | Mark all alerts as read |
---
## 🛠 Advanced Features
### Intelligent Offline Detection (3‑Layer)
1. **Error codes** – Immediate offline on `802`, `803`, `804`
2. **Timeout** – After 300 seconds without successful response
3. **Last successful update** – Tracks stale data
### Stuck Detection
- **Trigger:** No movement >5 pixels for 60+ seconds while mowing
- **Attributes:** `stuck_since`, `stuck_x`, `stuck_y`
### SmartMowing (Predictive)
- Automatically adjusts schedule based on local weather (rain, temperature, grass growth)
- Toggle via switch or service `indego.smartmowing`
### Multi‑Mower Support
- Add integration multiple times for multiple mowers
- Services accept optional `mower_serial` parameter to target specific mower
---
## 💡 Example Automations
### Notify when mower gets stuck
```yaml
alias: "Indego: Mower Stuck"
trigger:
platform: state
entity_id: binary_sensor.indego_12345678_mower_stuck
to: "on"
action:
service: notify.mobile_app_your_phone
data:
message: "Mower is stuck at position ({{ state_attr('binary_sensor.indego_12345678_mower_stuck', 'stuck_x') }}, {{ state_attr('binary_sensor.indego_12345678_mower_stuck', 'stuck_y') }})"This integration is an independent open‑source project and is not affiliated with or endorsed by Bosch.
| Maintainers | @whylev · @kimzeuner · @sander1988 |
|---|---|
| Source Code | GitHub Repository |
| Issue Tracker | Report a bug / Request a feature |
| Community Chat | Discord |
| License | MIT License |
💡 Tip: Found an error or missing detail? Open an issue on GitHub