Bosch Indego芝刈り機をホームアシスタントに統合

まぁ, siguiendo los posts de integración de dispositivos IoT de nuestros hogares inteligentes con Home Assistant, cómo iba a ser menos el poder controlar, conocer el estado y hacer automatizaciones con nuestro cortacésped Bosh Indego.

Vamos a utilizar ‘Controller application and API for Bosch Indego Connectque ya vimos en este post cómo instalarlo e integrarlo con Grafana. En esta ocasión aprovecharemos este magnífico proyecto para utilizar un adaptador que trae y nos permitirá integrarlo en Home Assistant gracias a que puede hablar por MQTT con nuestro Broker. Pudiendo conocer el estado o enviar comandos mediante topics. Todo ello lo tendremos integrado con el resto de dispositivos de nuestra casa, en un interfaz sencillo y que como te imaginas mediante las automatizaciones podremos saber cuándo empieza el corte, si se atasca, cuándo acaba de segar; y por supuesto dependiendo si ha llovido/va a llover, pues que salga a cortar.

インストール後, levantaremos el adaptador de Indego con MQTT indicándole el fichero con los datos de conexión. Este adaptador lo podemos ejecutar desde un Windows o un Linux, en mi caso lo tengo montado en Linux, así que si quiero que se levante cada vez que esa máquina se inicia, lo meteremos en una tarea de cron:

@reboot /home/pi/indego/bin/IndegoMqttAdapter -c /home/pi/indego/IndegoMqttAdapterConfig.properties

Y el fichero IndegoMqttAdapterConfig.properties sería este, corregir cada uno sus datos de acceso a Indego (mail/contraseña), y los datos de MQTT:

# Base url of the Indego web service (if different from default)
# indego.mqtt.device.base-url=https://api.indego.iot.bosch-si.com/api/v1/
# Username for connecting to the Indego server (the same as in Indego app)

indego.mqtt.device.username=USUARIO_MAIL_DE_INDEGO
# Password for connecting to the Indego server (the same as in Indego app)
indego.mqtt.device.password=CONTRASEÑA_DE_INDEGO

# Connection to MQTT broker
indego.mqtt.broker.connection=tcp://DIRECCION_IP_BROKER_MQTT:1883
# Unique id of this client
indego.mqtt.broker.client-id=IndegoMqttAdapter
# Username for authenticating on the MQTT broker
indego.mqtt.broker.username=USUARIO_MOSQUITTO
# Password for authenticating on the MQTT broker
indego.mqtt.broker.password=CONTRASEÑA_MOSQUITTO
# Topic root (namespace) for Indego topics
indego.mqtt.broker.topic-root=test/device/indego

# Specifies how often the Indego state is queried and the MQTT topics should be updated
indego.mqtt.polling-interval-ms=30000

Cuando tengamos el servicio del adaptador ya corriendo en alguna máquina, ya podremos dar de alta nuestro cortacesped Bosch Indego en Home Assistant, どう? いつも通り, modificando el fichero configuration.yaml, añadiremos en la sección de los sensores el siguiente código:

センサー:
...
  - プラットホーム: MQTT 名: "Indego 350 - Estado energia"
    state_topic: "test/device/indego/online"
    value_template: '{% if value == "オフ" %}オフ{% 然も無くば %}Encendido{% エンディフ %}'
    icon: MDIの:car-battery

  - プラットホーム: MQTT 名: "Indego 350 - 状態"
    state_topic: "test/device/indego/stateMessage"
    アイコン: MDIの:map-marker
    value_template: '{% if value == "Docked" %}En la base{% elif value == "Charging" %}Cargando{% elif value == "Mowing" %}Segando{% elif value == "Relocalising" %}Ubicandome{% elif value == "Returning to dock" %}Volviendo a casa{% elif value == "Border cut" %}Recortando los bordes{% elif value == "Idle in lawn" %}Ocioso en el jardin{% elif value == "Unknown" %}Desconocido{% elif value == "休止" %}Pausado{% elif value == "Returning to dock - Battery low" %}Bateria baja{% エンディフ %}'

  - プラットホーム: MQTT 名: "Indego 350 - Segado"
    state_topic: "test/device/indego/mowedPercent"
    unit_of_measurement: "%"
    アイコン: MDIの:robot-mower

  - プラットホーム: MQTT 名: "Indego 350 - Tiempo ultimo segado"
    state_topic: "test/device/indego/runtimeSessionOperationMins"
    アイコン: MDIの:shovel
    value_template: '{{ (価値 | 浮く / 60) | 丸い(2, "ceil") }}'
    unit_of_measurement: "h"

  - プラットホーム: MQTT 名: "Indego 350 - Tiempo trabajado"
    state_topic: "test/device/indego/runtimeTotalOperationMins"
    アイコン: MDIの:timer
    value_template: '{{ (価値 | 浮く / 60) | 丸い(2, "ceil") }}'
    unit_of_measurement: "h"

Y tras reiniciar Home Assistant y recargar los cambios ya podremos añadir una tarjeta con todas estas entidades. En las que podremos ver el estado de energía, el estado del cortacésped (si está en la base, cargando, segando, ubicándose, volviendo a casa, recortando los bordes, ocioso en el jardín/atascado, con lateria baja… ), el porcentaje del corte, el tiempo del último segado, el tiempo total trabajadoEl último segado lo saco con una query de mysql a la BD de Hassio.

ところで, si queréis añadir una tarjeta con 3 botones, un Play para que empiece a segar, un Pausa u otro para finalizar el segado, この例をお伝えします:

cards:
  - 実体: sensor.indego_350_estado
    hold_action:
      アクション: none
    icon: 'mdi:play'
    icon_height: 30px
    name: A segar
    tap_action:
      アクション: call-service
      service: mqtt.publish
      service_data:
        ペイロード: MOW
        topic: test/device/indego/command
    type: entity-button
  - 実体: sensor.indego_350_estado
    hold_action:
      アクション: none
    icon: 'mdi:pause'
    icon_height: 30px
    name: Pausar
    tap_action:
      アクション: call-service
      service: mqtt.publish
      service_data:
        ペイロード: PAUSE
        topic: test/device/indego/command
    type: entity-button
  - 実体: sensor.indego_350_estado
    hold_action:
      アクション: none
    icon: 'mdi:home'
    icon_height: 30px
    name: A casa
    tap_action:
      アクション: call-service
      service: mqtt.publish
      service_data:
        ペイロード: RETURN
        topic: test/device/indego/command
    type: entity-button
type: horizontal-stack

Os dejo este ejemplo de automatización, para que salga a regar a las 6am si no ha llovido o no va a llover, claro que la parte de detectar la lluvia dependerá de cada uno, podéis usar la integración de AccuWeather.

Esta automatización nos notifica por mensaje de Telegram o por los altavoces de la casa que empieza a segar. La idea de esto es por si segamos de día y queremos avisar que va a salir, para que no te pille 😉

Y esta última automatización nos mandará un mensaje de Telegram y nos notificará por los altavoces que el cortacésped Bosch Indego se ha atascado.

Esperando que os haya podido servir, os mando un saludo a tod@s y como siempre agradeceros que lo compartáis en redes sociales.

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!