Bonjour à tous,
Comme certains le savent les serveurs de Neato ont fermés fin 2025 suite à faillite de l’entreprise :
Annonce Neato du 06/10/25
Etat des serveurs
Il n’est donc plus possible de les piloter à distance avec l’application officielle ni avec le plugin Jeedom Neato…
CEPENDAAAANT, quelques bidouilleurs émérites ce sont attelés à la tâche en proposant une solution de contournement : GitHub - Philip2809/neato-connected: Control your neato vacuum cleaner locally via home assistant!
Ce projet permet de piloter les Neato en local depuis Jeedom et remonter beaucoup d’infos !
Ce projet est orienté Home Assistant (pardon pour ce gros mot) mais fonctionne également avec Jeedom (en MQTT) ![]()
ATTENTION
Toutes les fonctions ne sont pas disponibles. Notament les fonctions liés à la carte de la maison : À chaque lancement d’un nettoyage, le robot fera comme si c’était la première fois et explorera tout en nettoyant.
Ce projet demande un peu de temps et de connaissances (en Jeedom, informatique, ESP32, et bidouillage notament). Je n’ai pas du tout le temps de faire un tuto détaillé de toutes les étapes ni le SAV/support d’un projet qui n’est pas le mien… Je vous propose simplement les grandes lignes à suivre puis de vous laisser effectuer vos propres recherches en cas de blocage.
Je ne suis pas responsable en cas d’éventuel dommages ou blessures, même si la méthode proposée est assez « safe » pour le robot à priori.
Guide
Je vous conseille de commencer par lire intégralement le tuto du projet d’origine (à noter que tout ce qui parle de HACS n’est pas utile pour Jeedom) : GitHub - Philip2809/neato-connected: Control your neato vacuum cleaner locally via home assistant!
Materiel
Le matériel requis est donné dans le tuto mais j’indique ce que moi j’ai utilisé :
- ESP32 : MOD-ESP32-C5 - Open Source Hardware Board (très compact et parfait pour cet usage mais pas simple à souder. Sinon n’importe quel ESP32 assez compact doit faire l’affaire).
- Connecteur JST 2.54 XH 4 Pin : Lyeteung 25 Paires JST 2.54 XH 4 Pin Connecteur, Micro JST XH 4-Broches Connecteur Plug Mâle avec Câble de 150mm 22AWG et Femelle : Amazon.fr: High-Tech
- Fer à souder et étain (ou utiliser des jumper wire.)
- Un PC.
- Un câble USB-C ou Micro USB selon votre ESP32.
(Nota : Je n’ai aucune affiliation avec ces liens)
Étapes
Les étapes suivantes correspondent au tuto d’origine :
Step 1
Effectuer l’étape telle que décrite dans le tuto d’origine. Si votre Neato était à jour, il ne devrait pas y avoir de problème.
Step 2
Le projet est basé sur ESPHome qui est un plugin de Home Assistant.
Si, comme moi, vous n’avez pas de Home Assistant sous la main, plusieurs solutions :
- Installer un Home Assistant sur un appareil dédié ou un ordinateur en machine virtuelle : Installation - Home Assistant
- Installer ESPHome indépendament en ligne de commande. Solution que je n’ai pas testé et qui semble plus compliqué à priori : Installing ESPHome Manually - ESPHome - Smart Home Made Simple
Personnellement j’ai choisi d’installer Home Assistant sur Windows avec Orable VirtualBox car c’est la solution qui semblait la plus simple, accessible et qui est gratuite. Une fois que c’est fait, il faut installer le plugin « ESPHome Device Builder » tel qu’indiqué dans le tuto.
Ignorer la partie HACS.
Step 3
Effectuer l’étape telle que décrite dans le tuto d’origine.
Il faut également installer et configurer un plugin MQTT dans Jeedom.
Personnellement j’ai celui-ci : https://doc.jeedom.com/fr_FR/plugins/programming/mqtt2/beta/
Le mot de passe demandé plus bas se trouve dans la configuration du plugin MQTT > Configuration > Authentification > C’est le texte qui est après « jeedom: »
Ajouter ces lignes au secrets.yaml :
# Jeedom MQTT
mqtt_username: "jeedom"
mqtt_password: "VOTREMOTDEPASSEMQTTJEEDOM"
Pour la config , voici celle qui correspond à mon ESP32 :
# platform, based on https://esphome.io/components/#supported-microcontrollers
esp32:
variant: ESP32C5
flash_size: 8MB
framework:
version: latest
type: esp-idf
# You will need to figure out which pins work on your board for UART.
substitutions:
uart_tx: GPIO11
# OU GPIO5 si utilisation du connecteur UEXT ou autre selon l'ESP32 choisi.
# THIS IS A BETA VERSION! IT MAY BE UNSABLE OR NOT WORKING, FOR THE LATEST PLEASE DOWNLOAD FROM RELEASES!
uart_rx: GPIO12
# OU GPIO4 si utilisation du connecteur UEXT ou autre selon l'ESP32 choisi.
Ligne que je conseille d’activer pour débugger :
# If you want to have access via the webserver, uncomment the following 2 lines (remove the #)
web_server:
port: 80
Lignes à ajouter pour la config MQTT Jeedom :
mqtt:
broker: 192.168.XXX.XXX VOTRE IP JEEDOM
port: 1883
username: !secret mqtt_username
password: !secret mqtt_password
topic_prefix: esphomeneato
discovery: false
discovery_prefix: esphome
log_topic: esphomelog
Step 4
Effectuer l’étape telle que décrite dans le tuto d’origine.
Si vous avez utilisé le même ESP32 que moi ou que vous n’arrivez pas à flasher votre ESP32, télécharger ce logiciel :
Et suivre ce tuto :
https://drive.google.com/file/d/1CNtaRftNsWw21lPjIGaT2C75pab2gi2N
Step 5
Effectuer l’étape telle que décrite dans le tuto d’origine.
Step 6
Effectuer l’étape telle que décrite dans le tuto d’origine.
Il est aussi possible de se connecter à l’IP de l’ESP32 avec un navigateur web pour accéder à une interface web.
Step 7
IGNORER CETTE ÉTAPE.
À la place, créer un nouvel objet MQTT dans Jeedom et le configurer ainsi :
Voici des exemples de commandes :
Et la liste des commandes :
[mqtt.binary_sensor:022]: MQTT Binary Sensor 'Battery Failure':
[mqtt.binary_sensor:023]: State Topic: 'esphomeneato/binary_sensor/battery_failure/state'
[mqtt.binary_sensor:022]: MQTT Binary Sensor 'Ext Power Present':
[mqtt.binary_sensor:023]: State Topic: 'esphomeneato/binary_sensor/ext_power_present/state'
[mqtt.binary_sensor:022]: MQTT Binary Sensor 'Thermistor Present':
[mqtt.binary_sensor:023]: State Topic: 'esphomeneato/binary_sensor/thermistor_present/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Last cleaning time':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/last_cleaning_time/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Last cleaning type':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/last_cleaning_type/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Robot Error':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/robot_error/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Robot Alert':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/robot_alert/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'MainBoard Serial Number':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/mainboard_serial_number/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'MainBoard Version':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/mainboard_version/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Serial Number':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/serial_number/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Model':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/model/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Time Local':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/time_local/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Time UTC':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/time_utc/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'UI State':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/ui_state/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Robot State':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/robot_state/state'
[mqtt.text_sensor:031]: MQTT Text Sensor 'Language':
[mqtt.text_sensor:032]: State Topic: 'esphomeneato/sensor/language/state'
[mqtt.switch:041]: MQTT Switch 'Test Mode':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/test_mode/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/test_mode/command'
[mqtt.switch:041]: MQTT Switch 'Click sounds':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/click_sounds/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/click_sounds/command'
[mqtt.switch:041]: MQTT Switch 'LED':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/led/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/led/command'
[mqtt.switch:041]: MQTT Switch 'Wall Enable':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/wall_enable/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/wall_enable/command'
[mqtt.switch:041]: MQTT Switch 'Eco Mode':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/eco_mode/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/eco_mode/command'
[mqtt.switch:041]: MQTT Switch 'IntenseClean':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/intenseclean/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/intenseclean/command'
[mqtt.switch:041]: MQTT Switch 'WiFi':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/wifi/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/wifi/command'
[mqtt.switch:041]: MQTT Switch 'Melody Sounds':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/melody_sounds/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/melody_sounds/command'
[mqtt.switch:041]: MQTT Switch 'Warning Sounds':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/warning_sounds/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/warning_sounds/command'
[mqtt.switch:041]: MQTT Switch 'Bin Full Detect':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/bin_full_detect/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/bin_full_detect/command'
[mqtt.switch:041]: MQTT Switch 'Schedule':
[mqtt.switch:042]: State Topic: 'esphomeneato/switch/schedule/state'
[mqtt.switch:042]: Command Topic: 'esphomeneato/switch/schedule/command'
[mqtt.number:033]: MQTT Number 'Spot Clean Width':
[mqtt.number:034]: State Topic: 'esphomeneato/number/spot_clean_width/state'
[mqtt.number:033]: MQTT Number 'Spot Clean Height':
[mqtt.number:034]: State Topic: 'esphomeneato/number/spot_clean_height/state'
[mqtt.select:029]: MQTT Select 'Navigation Mode':
[mqtt.select:030]: State Topic: 'esphomeneato/select/navigation_mode/state'
[mqtt.button:029]: MQTT Button 'House Clean':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/house_clean/command'
[mqtt.button:029]: MQTT Button 'Spot Clean':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/spot_clean/command'
[mqtt.button:029]: MQTT Button 'Spot Clean (Height & Width)':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/spot_clean__height___width_/command'
[mqtt.button:029]: MQTT Button 'Stop Cleaning':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/stop_cleaning/command'
[mqtt.button:029]: MQTT Button 'Pause Cleaning':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/pause_cleaning/command'
[mqtt.button:029]: MQTT Button 'Resume Cleaning':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/resume_cleaning/command'
[mqtt.button:029]: MQTT Button 'Locate Robot':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/locate_robot/command'
[mqtt.button:029]: MQTT Button 'Update status':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/update_status/command'
[mqtt.button:029]: MQTT Button 'Shutdown':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/shutdown/command'
[mqtt.button:029]: MQTT Button 'PowerCycle':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/powercycle/command'
[mqtt.button:029]: MQTT Button 'Reboot ESP':
[mqtt.button:030]: Command Topic: 'esphomeneato/button/reboot_esp/command'
Step 8
Effectuer l’étape telle que décrite dans le tuto d’origine.
Je conseille plutôt la méthode « interne » qui est plus « propre ».
Si vous utilisez le même ESP32 que moi, voici 2 manières de le connecter :
-
En soudant directement (GPIO11 et GPIO12 dans le YAML) :
-
En utilisant le connecteur UEXT (GPIO5 et GPIO4 dans le YAML) :
Step 9
Effectuer l’étape telle que décrite dans le tuto d’origine.
FIN DU GUIDE
N’hésitez pas à me signaler les erreurs ou oublis que j’aurais pu faire mais, s’il vous plaît, soyez indulgent j’ai très peu de temps libre en ce moment.
En attendant, j’espère avoir pu aider à sauver quelques Neato de la casse et je vous souhaite une bonne journée ![]()
NOTA : Mon sujet est peut-être mal catégorisé car il ne traite pas réellement du plug-in Neato. Si c’est le cas je m’en excuse auprès des modérateurs…




