Coucou !
A mon tour de me lancer, petit introduction rapide du contexte pour mettre les choses en perspectives.
Le pourquoi ?
J’ai un robot Landroid intégré via HACS, et forcément pilotable via leur app.
L’intégration est plutôt bien faite, mais !
- L’appli à tendance à redemander (trop souvent) de se reconnecter à base de token via email, et ça me gave !
- L’appli sait gérer un planning de tonte basique, et un mode absence, mais ça reste limité.
- L’intégration HACS à tendance à planter quand le robot est indispo, et parfois ne redémarre pas, dans le plus grand silence.
- Je n’aime pas les grand dashboard, je préfère les informations ciblées, compactes. D’où le fait d’avoir détesté la card landroid-card, trop grosse pour moi, trop bling-bling. Les gouts et les couleurs, vous savez bien !
Le besoin sans surplus
Partant du constat précédent, et d’une saison de tonte géré par l’appli et avec cette énorme card je suis parti sur la mise en place de ces quelques points :
HA doit gérer le planning
- C’est pour moi essentiel, parce que HA sait quand je suis en vacance (donc pas de tonte, marre que le jour où je parte le robot se bloque quelque part dans le jardin)
- HA peut faire un planning le matin, et un second l’après-midi avec les helpers schedule. Typiquement, en ce moment il y a besoin de tondre, mais le matin c’est trop humide, ça bourre, donc sans modifier toute ma programmation, je peux uniquement activer que l’après-midi
HA peut piloter comme l’appli
Via l’intégration HA reçoit énormément d’informations. Il est donc capable de démarrer au schedule si la batterie est pleine, qu’il n’y a pas de pluie, si on n’est pas en vacances … de redémarrer quand le robot est rechargé dans la plage autorisée. Et de faire revenir le robot à la fin de la plage.
Bref, comme l’appli, mais en amélioré !
Les petits trucs en plus
Je voulais pouvoir démarrer manuellement, ou même démarrer le mode coupe des bordures.
Je voulais voir directement si il y avait une erreur en cours.
Pouvoir passer la tondeuse en mode Hivernage et avoir quelques infos.
Et pour finir, je voulais que HA s’occupe du fallback si l’appli était HS, avec notif, et restart automatique, contrôlé pour ne pas relancer dans le vide.
La carte
Tous mes dashboard utilisent désormais les sections et leurs avantages. J’ai donc une section dédiée à cette tondeuse. Voici comment elle se présente lorsque tout fonctionne.
Quelques infos dans le titre, et la possibilité de la passer en mode hivernage.
Une première ligne permet :
- D’avoir l’état de la tondeuse (sur la base, tonte, capteur de pluie, erreur, …)
- De pouvoir démarrer manuellement une tonte, ou une coupe des bordures.
- Pouvoir manuellement couper la gestion auto au cas où.
Les deux lignes du dessous sont la gestion du planning. Je peux les activer/désactiver séparément. et je vois dans l’info si une plage est active.
En cas d’hivernage, cette carte disparait au profit d’un petit message.
Et souvent le plus utile, si il y a une erreur, des infos apparaissent. Vue compète en mode édition :
Dépendance et code
Pas de grosses dépendances, pas de button-card à cause de mon allergie, et pas de card-mod/uix non plus.
Seulement le custom multiple-entity-row à l’intérieur d’une card entities classique. Tout le reste utilise les composants de HA standards
Le code de cette section :
type: grid
cards:
- type: heading
heading: Tondeuse
heading_style: subtitle
icon: mdi:robot-mower
badges:
- type: entity
show_state: true
show_icon: true
entity: sensor.lando_battery
color: orange
visibility:
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "off"
- type: entity
show_state: true
show_icon: true
entity: sensor.lando_battery_temperature
color: green
visibility:
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "off"
- type: entity
show_state: false
show_icon: true
entity: binary_sensor.lando_online
color: state
visibility:
- condition: state
entity: binary_sensor.lando_online
state_not: "on"
- type: entity
show_state: true
show_icon: true
entity: input_boolean.hibernation_tondeuse
tap_action:
action: toggle
color: primary
icon: mdi:snowflake
name: Hivernage
state_content: state
- type: markdown
content: La tondeuse est en mode hibernation pour l'hiver 😴
visibility:
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "on"
- type: entities
entities:
- entity: input_boolean.landroid_tonte_automatique
type: custom:multiple-entity-row
toggle: true
state_color: true
secondary_info:
entity: lawn_mower.lando
name: Tonte automatique
entities:
- entity: binary_sensor.lando_rainsensor_triggered
state_color: true
name: false
icon: true
hide_if: "off"
- entity: lawn_mower.lando
state_color: true
name: false
icon: true
tap_action:
action: call-service
service: lawn_mower.start_mowing
service_data:
entity_id: lawn_mower.lando
confirmation:
text: Démarrer la tonte ?
- entity: button.lando_start_cutting_edge
state_color: true
name: false
icon: true
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.lando_start_cutting_edge
confirmation:
text: Démarrer la coupe des bords ?
- type: divider
- entity: input_boolean.landroid_tonte_matin
name: Planning Matin
type: custom:multiple-entity-row
toggle: true
state_color: true
secondary_info:
entity: schedule.landroid_planning_matin
name: Actuellement
- entity: input_boolean.landroid_tonte_apres_midi
name: Planning Après-midi
type: custom:multiple-entity-row
toggle: true
state_color: true
secondary_info:
entity: schedule.landroid_planning_apres_midi
name: Actuellement
show_header_toggle: false
state_color: true
visibility:
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "off"
- type: tile
entity: sensor.lando_error
features_position: bottom
vertical: false
name: Erreur Landroid
color: red
state_content:
- state
- last_changed
tap_action:
action: more-info
grid_options:
columns: 12
rows: 1
visibility:
- condition: state
entity: sensor.lando_error
state_not: no_error
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "off"
- type: markdown
content: >-
⚠️ **Attention !** L'automation de restart de l'integration Landroid s'est
déclenchée plusieurs fois.
visibility:
- condition: and
conditions:
- condition: numeric_state
entity: sensor.counter_fail_landroid_reload_integration
above: 1
- condition: state
entity: input_boolean.hibernation_tondeuse
state: "off"
Pour conclure, l’appli ne me sert que pour les mises à jour aujourd’hui (et il n’y en a pas souvent) et réinitialiser le compteur des lames, rien de plus !
Game changer pour moi parce que je n’ai plus besoin de penser à la couper quand on pars quelques jours, et que je vois juste ce que j’ai besoin.
M’en moque de savoir combien elle a parcouru de kilomètres, ou qu’elle a actuellement un angle de 3.28°, … Que ce qui m’est utile au final !
Voila pour moi !


