Test du Dolphin E50i – Robot nettoyeur piscine

Avec le retour de la chaleur, c'est le moment de penser à sa piscine. Voici le test du robot piscine Dolphin E50i et intégration dans Home Assistant
Test du Dolphin E50i – Robot nettoyeur piscine

Sommaire

Automatiser l’entretien de sa piscine, c’est non seulement gagner du temps, mais aussi profiter pleinement de la saison estivale sans se soucier des corvées. En ce jeudi 14 août, sous un soleil qui chauffe déjà bien les margelles, j’ai décidé de mettre à l’épreuve le Dolphin E50i de Maytronics, un robot haut de gamme conçu pour nettoyer le fond, les parois et la ligne d’eau. Son design soigné, ses fonctionnalités connectées et, cerise sur le gâteau, sa compatibilité avec Home Assistant via une intégration communautaire en font un candidat sérieux pour un entretien sans effort. Voici mon retour d’expérience détaillé.

Une machine à nettoyer qui change la donne ?

Le nettoyage manuel d’une piscine, c’est souvent synonyme de balai fastidieux, éclaboussures et dos cassé sous le soleil. Le Dolphin E50i promet de supprimer tout ça. Conçu pour les piscines jusqu’à 15 m, qu’elles soient enterrées ou hors-sol à parois rigides, il s’appuie sur une navigation CleverClean et une brosse active à double vitesse pour déloger efficacement les saletés.

Contexte du test : bassin de 10 x 5 m avec une plagette à 30 cm de profondeur (zone peu nettoyée par le robot, ce qui est normal vu le faible niveau d’eau), une bande à 1 m de profondeur et un fond en diamant avec angles biseautés.

Vue d’ensemble du robot au bord de la piscine

Unboxing : premières impressions

À l’ouverture du carton, on découvre :

  • Le robot Dolphin E50i (10,2 kg)
  • L’unité d’alimentation
  • Un câble de 18 m équipé du swivel anti-entortillement
  • Un panier filtrant multicouches avec accès par le dessus
  • Le chariot de transport, simple, mais très pratique
  • La documentation

La qualité perçue est au rendez-vous : plastiques robustes, chenilles imposantes, poignée intégrée. Le chariot, livré en kit, se monte rapidement et facilite le déplacement et le rangement du robot.

Installation : prêt à plonger

L’installation est simple et rapide :

  1. Monter le chariot de transport
  2. Placer l’unité d’alimentation à la distance réglementaire du bassin
  3. Brancher le câble et dérouler entièrement
  4. Immerger le robot lentement pour évacuer l’air
  5. Lancer un cycle via le boîtier ou l’application

Le robot nécessite une prise électrique proche de la piscine. L’avantage, c’est qu’il reste connecté en Wi-Fi en permanence, ce qui permet un contrôle à distance à tout moment, même via smartphone hors du domicile.

Sous le capot : fiche technique

  • Navigation CleverClean
  • Brosse active double vitesse
  • 3 cycles de nettoyage : 1h30, 2h, 2h30
  • Panier filtrant multicouches
  • Câble 18 m avec swivel
  • Connexion Wi-Fi/Bluetooth

Remarque : pas de mesure réelle de consommation disponible.

Le système de nettoyage du filtre est particulièrement simple et agréable : il suffit de retirer le panier par le dessus, de le rincer au jet d’eau, et il est prêt pour un nouveau cycle.

Service connecté : MyDolphin™ Plus

L’application MyDolphin™ Plus centralise toutes les commandes : démarrage/arrêt, choix du cycle, programmation, pilotage manuel en joystick. Interface claire et réactive, que ce soit en Wi-Fi depuis la maison ou en Bluetooth au bord du bassin.

Elle propose de nombreuses fonctions, mais depuis l’intégration dans Home Assistant, je me surprends à l’utiliser beaucoup moins, privilégiant les automatisations et tableaux de bord personnalisés.

💡
le robot dispose d’un indicateur de filtre. Difficile de dire s’il repose sur un véritable capteur ou simplement sur un compteur basé sur le temps passé dans l’eau. À première vue, cela ressemble plutôt à la seconde option, mais je n’ai pas pu le vérifier.

Performances dans le bassin

La force du Dolphin E50i réside dans la qualité du nettoyage. Peu importe la durée sélectionnée — entièrement paramétrable —, le fond ressort impeccable, sans particules visibles. La ligne d’eau est également bien entretenue, même si le robot ne la parcourt pas toujours de gauche à droite comme certains modèles. Le résultat reste homogène, avec un bassin visiblement propre au fond.

Intégration Home Assistant : la cerise sur le gâteau 🏡

S'il y a bien une chose que j'apprécie avec les appareils connectés, c'est lorsqu'ils trouvent naturellement leur place dans mon installation Home Assistant. Le Dolphin E50i ne fait malheureusement pas exception… dans le bon sens du terme.

Même si Maytronics ne propose pas d'intégration officielle, la communauté Home Assistant a développé une intégration baptisée mydolphin_plus, disponible via HACS. En quelques minutes, le robot apparaît dans Home Assistant et devient pilotable comme n'importe quel autre appareil connecté de la maison.

L'intégration communique avec les serveurs cloud de Maytronics. Concrètement, lorsque Home Assistant envoie une commande, celle-ci transite par l'infrastructure AWS du constructeur avant d'être transmise au robot. Cela implique donc que le Dolphin reste connecté en permanence à Internet. Heureusement, le fait qu'il soit alimenté en continu via son bloc secteur lui permet de rester connecté au Wi-Fi même lorsqu'il ne nettoie pas.

Une fois configuré, Home Assistant découvre automatiquement plusieurs entités particulièrement intéressantes :

Entité Description
vacuum.flipper Entité principale du robot (démarrage, arrêt, état...)
binary_sensor.flipper_aws_broker Indique si le robot est bien connecté au cloud
sensor.flipper_etat_du_filtre État du filtre
sensor.flipper_cycle_time Durée du dernier cycle
sensor.flipper_nombre_de_cycles Nombre total de nettoyages
sensor.flipper_erreur_du_robot Dernière erreur remontée
select.flipper_mode_led Gestion de l'éclairage LED

Comme souvent avec Home Assistant, ce sont ces entités qui deviennent la matière première de toutes les automatisations.

Un script plus intelligent qu'un simple bouton

J'aurais pu me contenter d'ajouter un bouton « Nettoyer la piscine » sur mon tableau de bord.

Mais Home Assistant envoie les commandes sans attendre de confirmation. Si le robot est hors ligne, la commande est tout simplement perdue.

J'ai donc préféré créer un script un peu plus intelligent qui vérifie plusieurs points avant de lancer le nettoyage.

La première étape consiste simplement à vérifier que le robot est bien connecté aux serveurs Maytronics.

if:
  - condition: state
    entity_id: binary_sensor.flipper_aws_broker
    state: "off"
then:
  - action: script.notify_mobile_app

Si le robot est hors ligne, le script s'arrête immédiatement et je reçois une notification sur mon téléphone. Cela évite de croire que la piscine est en cours de nettoyage alors que rien ne s'est lancé.

Le script sélectionne ensuite automatiquement le mode All, qui correspond au nettoyage complet du fond, des parois et de la ligne d'eau.

service: vacuum.set_fan_speed
data:
  fan_speed: all

Après une courte attente, il lance le robot puis vérifie que son état passe bien à cleaning. Là encore, si quelque chose ne s'est pas déroulé correctement (capot mal fermé, problème réseau…), je préfère être averti immédiatement plutôt que de m'en rendre compte plusieurs heures plus tard.

Enfin, le script attend tranquillement que le robot revienne à sa base (docked) avant de m'envoyer une dernière notification confirmant que le bassin est propre.

wait_for_trigger:
  - platform: state
    entity_id: vacuum.flipper
    from: cleaning
    to: docked

Finalement, je n'utilise pratiquement plus l'application MyDolphin Plus pour lancer un nettoyage. Toute la logique est désormais pilotée directement depuis Home Assistant.

# packages/pool/robot.yaml

script:
  flipper_nettoyage:
    alias: "🏊 Flipper — Lancer nettoyage"
    icon: mdi:robot-vacuum
    mode: single
    sequence:

      # 1. Vérifier que le broker AWS est actif avant toute chose
      - if:
          - condition: state
            entity_id: binary_sensor.flipper_aws_broker
            state: "off"
        then:
          - action: script.notify_mobile_app
            data:
              title: "❌ Flipper — hors ligne"
              message: "Robot non connecté. Nettoyage annulé."
              channel: robots
              data:
                tag: flipper_run
          - stop: "AWS broker déconnecté"

      # 2. Sélectionner le mode complet (fond + parois + ligne d'eau) et démarrer
      - action: vacuum.set_fan_speed
        target:
          entity_id: vacuum.flipper
        data:
          fan_speed: all
      - delay: "00:00:02"
      - action: vacuum.start
        target:
          entity_id: vacuum.flipper

      # 3. Attendre 1m30 puis vérifier que le robot est bien en train de nettoyer
      - delay: "00:01:30"
      - choose:
          - conditions:
              - condition: state
                entity_id: vacuum.flipper
                state: cleaning
            sequence:
              - action: script.notify_mobile_app
                data:
                  title: "🤖 Flipper a démarré"
                  message: "Nettoyage en cours (mode Regular, 2h)."
                  channel: robots
                  data:
                    tag: flipper_run
        default:
          # Si le robot n'est pas passé en cleaning : alerte plutôt que silence
          - action: script.notify_mobile_app
            data:
              title: "⚠️ Flipper — démarrage non confirmé"
              message: "Le robot n'est pas en mode nettoyage. État : {{ states('vacuum.flipper') }}."
              channel: robots
              data:
                tag: flipper_run

      # 4. Attendre la fin du cycle (max 3h) puis confirmer
      - wait_for_trigger:
          - platform: state
            entity_id: vacuum.flipper
            to: docked
            from: cleaning
        timeout: "03:00:00"
        continue_on_timeout: true
      - condition: template
        value_template: "{{ not wait.timed_out }}"
      - action: script.notify_mobile_app
        data:
          title: "✅ Piscine propre"
          message: "Flipper a terminé son cycle de nettoyage."
          channel: robots
          data:
            tag: flipper_run

Une automatisation qui suit les saisons

Plutôt que de programmer le robot tous les jours à heure fixe, j'ai préféré adapter automatiquement sa fréquence de nettoyage selon la période de l'année.

En plein été, la piscine est beaucoup plus sollicitée. Le robot passe donc trois fois par semaine.

Au printemps et en automne, deux nettoyages suffisent largement.

Période Fréquence
Juin → Août 3 fois par semaine
Avril → Mai / Septembre → Octobre 2 fois par semaine

Le lancement est effectué à 23 h, pendant les heures creuses, uniquement si le robot est disponible et que ma filtration n'est pas en mode Hivernage ou Inactif.

J'ai également ajouté un simple input_boolean permettant d'ignorer le prochain nettoyage automatique. C'est très pratique lorsqu'un cycle vient d'être lancé manuellement ou que la piscine est déjà parfaitement propre.

# packages/pool/robot.yaml (suite)

automation:

  # Automatisation 1 : notifications en temps réel
  # Se déclenche sur chaque changement d'état important du robot
  - alias: "Robot piscine - notifications"
    id: "robot_piscine_notifications"
    mode: single
    trigger:
      - platform: state
        entity_id: vacuum.flipper
        to: "cleaning"
        id: cleaning_start
      - platform: state
        entity_id: vacuum.flipper
        to: "docked"
        from: "cleaning"
        id: cleaning_done
      - platform: state
        entity_id: vacuum.flipper
        to: "error"
        id: cleaning_error
      - platform: state
        entity_id: vacuum.flipper
        attribute: is_connected
        to: "false"
        id: disconnected
    action:
      - choose:
          - conditions:
              - condition: trigger
                id: cleaning_start
            sequence:
              - action: notify.mobile_app_pixel_6
                data:
                  title: "🤖 Robot piscine : nettoyage lancé"
                  message: >
                    Cycle démarré (mode : {{ state_attr('vacuum.flipper', 'cleaning_mode') | replace('_', ' ') }},
                    durée : {{ state_attr('vacuum.flipper', 'cycle_time') }} min).
                  data:
                    tag: robot_piscine_status
                    channel: robots
          - conditions:
              - condition: trigger
                id: cleaning_done
            sequence:
              - action: notify.mobile_app_pixel_6
                data:
                  title: "✅ Robot piscine : cycle terminé"
                  message: "Le robot a terminé son cycle de nettoyage."
                  data:
                    tag: robot_piscine_status
                    channel: robots
          - conditions:
              - condition: trigger
                id: cleaning_error
            sequence:
              - action: notify.mobile_app_pixel_6
                data:
                  title: "⚠️ Robot piscine : erreur"
                  message: "Problème pendant le nettoyage — vérifie l'état dans Home Assistant."
                  data:
                    tag: robot_piscine_alert
                    channel: robots
          - conditions:
              - condition: trigger
                id: disconnected
            sequence:
              - action: notify.mobile_app_pixel_6
                data:
                  title: "❌ Robot piscine : déconnecté"
                  message: "Le robot n'est plus connecté à Home Assistant."
                  data:
                    tag: robot_piscine_alert
                    channel: robots

  # Automatisation 2 : planification automatique à 23h (heures creuses)
  # La fréquence s'adapte à la saison via une condition template
  - alias: "🏊 Flipper — Run 23h00 (heures creuses)"
    id: flipper_run_2300
    mode: single
    trigger:
      - platform: time
        at: "23:00:00"
    condition:
      # Ne pas lancer si on a activé le flag "passer ce soir"
      - condition: state
        entity_id: input_boolean.flipper_passer_nettoyage
        state: "off"
      # Robot disponible (pas déjà en train de nettoyer)
      - condition: template
        value_template: "{{ states('vacuum.flipper') in ['docked', 'idle'] }}"
      # Piscine en service (pas en hivernage ou désactivée)
      - condition: template
        value_template: "{{ states('input_select.mode_filtration_piscine') not in ['Hivernage', 'Inactif'] }}"
      # Fréquence saisonnière :
      #   Été (juin-août)           → lun / mer / ven  (3×/semaine)
      #   Mi-saison (avr-mai, sep-oct) → lun / jeu      (2×/semaine)
      #   Hors-saison (nov-mars)    → mercredi          (1×/semaine)
      - condition: template
        value_template: >
          {% set month = now().month %}
          {% set dow = now().isoweekday() %}
          {% set haute   = month in [6, 7, 8] %}
          {% set normale = month in [4, 5, 9, 10] %}
          {% set hors    = month in [11, 12, 1, 2, 3] %}
          {{ (haute   and dow in [1, 3, 5]) or
             (normale and dow in [1, 4])    or
             (hors    and dow == 3) }}
    action:
      - action: script.turn_on
        target:
          entity_id: script.flipper_nettoyage
      - action: input_boolean.turn_off
        target:
          entity_id: input_boolean.flipper_passer_nettoyage

  # Automatisation 3 : reset du flag skip à 00h30
  # Evite qu'un skip activé manuellement reste bloqué plusieurs jours
  - alias: "🏊 Flipper — Reset flag skip"
    id: flipper_reset_skip
    mode: single
    trigger:
      - platform: time
        at: "00:30:00"
    action:
      - action: input_boolean.turn_off
        target:
          entity_id: input_boolean.flipper_passer_nettoyage

Mon tableau de bord

Comme souvent, le vrai plaisir avec Home Assistant vient aussi du tableau de bord.

J'y retrouve en un coup d'œil :

  • le prochain nettoyage programmé ;
  • l'état actuel du robot ;
  • la durée du dernier cycle ;
  • le nombre total de nettoyages ;
  • l'état du filtre ;
  • les éventuelles erreurs remontées par le robot ;
  • plusieurs graphiques permettant de suivre les cycles sur les sept derniers jours.

Tout est centralisé au même endroit, avec les autres équipements de la maison, ce qui me permet de ne quasiment plus ouvrir l'application officielle.

# .storage/lovelace.robots — section Robot piscine (Flipper)

- type: heading
  heading: "Robot piscine (Flipper)"
  heading_style: title
  icon: mdi:robot-vacuum-variant
  grid_options:
    columns: full
    rows: 1

- type: heading
  heading: "Commandes"
  heading_style: subtitle
  grid_options:
    columns: full
    rows: 1

# Carte planning : affiche le prochain créneau selon le mois en cours
- type: markdown
  content: >
    {% set m = now().month %}
    {% set mode = states('input_select.mode_filtration_piscine') %}
    {% if mode in ['Hivernage', 'Inactif'] %}
      🚫 **Bloqué** — filtration en mode *{{ mode }}*
    {% elif m in [6,7,8] %}
      🏖️ **Été** (juin–août) — **lun / mer / ven à 23h** *(3×/sem)*
    {% elif m in [4,5,9,10] %}
      🌸 **Mi-saison** (avr–oct) — **lun / jeu à 23h** *(2×/sem)*
    {% else %}
      ❄️ **Hors-saison** (nov–mars) — **mer à 23h** *(1×/sem)*
    {% endif %}
    {% if is_state('input_boolean.flipper_passer_nettoyage', 'on') %}
      ⏭️ *Run annulé ce soir*
    {% endif %}
  grid_options:
    columns: full
    rows: 2

# État live du robot (coloré selon l'état : vert si docked, bleu si cleaning…)
- type: tile
  entity: vacuum.flipper
  color: state
  state_content: last_changed
  grid_options:
    columns: full
    rows: 1

# Bouton de lancement manuel — appelle le script complet avec toutes ses vérifications
- type: tile
  entity: script.flipper_nettoyage
  color: state
  tap_action:
    action: perform-action
    perform_action: script.turn_on
    target:
      entity_id: script.flipper_nettoyage
  grid_options:
    columns: full
    rows: 1

# Toggle pour sauter le prochain passage sans désactiver l'automatisation
- type: tile
  entity: input_boolean.flipper_passer_nettoyage
  color: state
  state_content: last_changed
  tap_action:
    action: toggle
  grid_options:
    columns: full
    rows: 1

# Capteurs d'état détaillés
- type: tile
  entity: sensor.flipper_etat_du_robot
  color: state
  grid_options:
    columns: full
    rows: 1

- type: tile
  entity: sensor.flipper_etat_du_filtre
  color: state
  grid_options:
    columns: full
    rows: 1

# Contrôle LED (intégré directement dans la tuile via feature select-options)
- type: tile
  entity: select.flipper_mode_led
  features:
    - type: select-options
  features_position: bottom
  grid_options:
    columns: full
    rows: 1

- type: heading
  heading: "Stats semaine"
  heading_style: subtitle
  grid_options:
    columns: full
    rows: 1

# Graphique en barres : un bâton par jour sur 7 jours
- type: statistics-graph
  title: "Cycles réalisés"
  chart_type: bar
  period: day
  days_to_show: 7
  entities:
    - sensor.flipper_nombre_de_cycles
  grid_options:
    columns: full

- type: heading
  heading: "Automatisations & scripts"
  heading_style: subtitle
  grid_options:
    columns: full
    rows: 1

- type: tile
  entity: sensor.flipper_statut
  grid_options:
    columns: full
    rows: 1

- type: tile
  entity: sensor.flipper_erreur_du_robot
  grid_options:
    columns: full
    rows: 1

# Tuile de l'automatisation elle-même : permet de l'activer/désactiver depuis le dashboard
- type: tile
  entity: automation.robot_piscine_notifications
  grid_options:
    columns: full
    rows: 1

Une dépendance au cloud à garder en tête

Le seul vrai bémol concerne l'architecture choisie par Maytronics.

L'intégration repose entièrement sur leur cloud. Si leurs serveurs sont indisponibles ou qu'une mise à jour casse leur API, Home Assistant ne pourra plus communiquer avec le robot jusqu'à ce que la communauté adapte l'intégration.

Ce n'est absolument pas bloquant au quotidien — la communauté autour de mydolphin_plus est très réactive — mais c'est un point qu'il me semble important de mentionner.

GitHub - sh00t2kill/dolphin-robot: A custom Home Assistant Component for WiFI enabled Maytronics Dolphin pool cleaner robots
A custom Home Assistant Component for WiFI enabled Maytronics Dolphin pool cleaner robots - sh00t2kill/dolphin-robot

Points forts

✅ Nettoyage complet (fond, parois, ligne d’eau)
✅ Application intuitive
✅ Filtration performante et entretien du filtre facile
✅ Câble swivel
✅ Compatible avec Home Assistant
✅ Chariot de transport inclus et pratique

Points faibles

❌ Poids à la sortie de l’eau
❌ Prix élevé
❌ Intégration HA non officielle
❌ Indicateur de filtre perfectible

Verdict

Le Dolphin E50i allie puissance de nettoyage, connectivité et domotique. Pour un bassin de taille moyenne à grande, il offre un résultat professionnel sans effort. Son prix reflète sa qualité, et son intégration possible dans Home Assistant ouvre la porte à des automatisations pratiques. Le chariot et la simplicité d’entretien du filtre ajoutent un vrai plus au quotidien.

📌 Lien produit : Dolphin E50i sur Amazon

💬
Petit disclaimer
Ce test n’est pas sponsorisé. Le robot a été acheté et testé en conditions réelles, et ce compte rendu reflète uniquement mon expérience.