sander1988 / Indego

Home Assistant Custom Component for Bosch Indego Lawn Mower
Apache License 2.0
92 stars 29 forks source link
bosch-mower hacs home-assistant homeassistant-components indego iot sensor

GitHub release hacs_badge

Indego

Join the Discord channel to discuss around this integration and vote for your favourite change to happen! https://discord.gg/aD33GsP

Home Assistant Custom Component for Bosch Indego Lawn Mower.

Entities in Home Asistant

Installation

Alternative 1

Install via HACS Community Store: https://hacs.xyz/

Alternative 2

Copy the folder indego in custom_components into your custom_components in your Home Assistant.

Reboot

Reboot HA in order to get HA to find the newly added custom component.

Configuration

Authentication using Bosch SingleKey ID

Bosch moved to a new authentication method called Bosch SingleKey ID (using OAuth) at the beginning of 2023. Therefore we needed to rewrite the authentication flow.

Currently only Google Chrome is the supported for authenticating with the Bosch SingleKey ID servers when adding the integration in HA. Also a small extension needs to be installed (temporarily) in Google Chrome to handle the response from the Bosch authentication servers. More (technical) information on the why can be found in this issue.

Optionally you can remove or disable the extension after adding the Bosch Indego integration to HomeAssistant.

Installing the Chrome extension

  1. The HomeAssistant Indego authentication helper extension can be downloaded here.
  2. Extract the ZIP archive.
  3. Go to extensions in Google Chrome.
  4. Enable Developer mode (right top).
  5. Choose Load unpacked and select the unpacked extension.

Adding a mower

Make sure you are accessing your HomeAssistant through Google Chrome and have the HomeAssistant Indego authentication helper extension enabled (as described above).

Please add this integration through the HomeAssistant interface (Settings > Devices & Services > Add Integration). Search for Bosch Indego Mower. Configuration through YAML (configuration) files is no longer supported.

You can add this integration multiple times in case you own multiple Indego mowers.

Usage

Entities

All sensors are autodiscovered and should appear as "unused entities" after adding the component.

Description Screenshot
Mower state
Shows state of the mower.
State
Mower state detail
Shows detailed state of the mower.
State Detail
Lawn mowed
Shows percentage of lawn mowed.
Lawn mowed
Total mowing time
Shows the total mowing time for the mower.
Mowtime total
Battery
Shows the status of the battery.
Battery sensor percent
Alerts
Shows all alerts
Alerts sensor
Last completed mow
Shows when the lawn was completed last time.
Last mow
Next mow time
Show the next planned mow.
Next mow
Mowing mode
Shows the mowing mode set.
Mowing mode
Online
Shows if the mower is online/offline. Possble values:
True, False
Online status
Update available
Shows if there is an update available for the firmware. Possble values:
On, Off
Update available

Service

This list might incomplete. You can find all services provided by this component in HomeAssistant under Developer tools > Services and search for 'Bosch Indego Mower'.

indego.command

Sends a command to the mower. Example code:
command: mow

Accepted values are: Command Description
mow Start/continue mowing
pause Pause mower
returnToDock Return mower to dock

Services

indego.smartmowing

Changes mowing mode. Example:
enable: true

Accepted values are: value Description
true SmartMowing enabled
false SmartMowing disabled

indego.delete_alert

Deletes one specific Alert. Example:
alert_index: 0 deletes the latest alert.

Accepted values are: value Description
each number Delete Alert number X (0 for latest)

indego.delete_alert_all

Deletes all Alerts. Example:
alert_index: 0

Accepted values are: value Description
0 Delete all Alerts

indego.read_alert

Marks one specific Alert as read. Example:
alert_index: 0 marks the latest alert.

Accepted values are: value Description
each number Mark Alert number X as read (0 for latest)

indego.read_alert_all

Marks all Alerts as read. Example:
alert_index: 0

Accepted values are: value Description
0 Mark all Alerts as read

Examples

Creating automation in HA gui:

Example for automations.yaml:

# automations.yaml
- id: '1564475250261'
  alias: Mower start
  trigger:
  - at: '10:30'
    platform: time
  condition: []
  action:
  - data:
      command: mow
    service: indego.command

Debugging

To see the debug logs from the component (and the pyIndego library) in your log file, specify these options in your configuration file:

#configuration.yaml
logger:
  logs: 
    custom_components.indego: debug
    pyIndego: debug

Supported models

As known today the following models are supported:

Contribution

If you experience any readings from your mower that the sensor does not read out correct (could be Alerts or mower state), please dont hesitate to write an issue. I need your input in order to make this component as useful as possible. All suggestions are welcome!

Known issues

New issues

If you experience issues/bugs with this the best way to report them is to open an issue in this repo.

Issue link

Credits

Thanks to

Eduard Jumper78 dykandDK ultrasub Gnol86 naethan bekkm onkelfarmor ltjessem nsimb jjandersson Shamshala nath bekkm urbatecte Windmelodie Fuempel MagaliDB mhosse Promises Sander1988

Fork from iMarkus/Indego https://github.com/iMarkus/Indego

Inspiration from http://grauonline.de/wordpress/?page_id=219

Inspiration from https://github.com/jofleck/iot-device-bosch-indego-controller

Buy Me A Coffee