Neues Modul: 74_NeatoLocal.pm

Begonnen von chrisse111179, 19 September 2026, 12:06:36

Vorheriges Thema - Nächstes Thema

chrisse111179

Hallo,
ich möchte euch mein Modul um meinen Neato D6 wieder an FHEM anbinden zu können vorstellen. Ich will euch nicht vorenthalten, dass ein Großteil des Codes von Claude stammt und viel Recherchearbeit von anderen Projekten wie beispielsweise OpenNeato (renjfk) geleistet wurde, ohne dessen Reverse Engineering viele Kommandos nicht funktionieren würden.

Was man braucht:

- einen Saugroboter D3-D7, getestet habe ich auf einem D6
- einen ESP32-C3 SuperMini
- esptool muss auf dem System auf dem FHEM läuft installiert sein
- die Muse den Roboter aufzuschrauben und den C3 mit dem Wartungsport zu verbinden. Da gibts tolle Anleitungen im Netz, z.B.: https://github.com/vacuula/fang/blob/main/install-esp-device-gen3.md

Vorgehen:
  • Installation:
    update add https://raw.githubusercontent.com/chrisse1/neato-FHEM/main/controls_neatolocal.txt
    update
    shutdown restart
  • Den ESP32-C3 SuperMini per USB mit dem FHEM System verbinden
  • Gerät in FHEM anlegen:
    define meinSaugroboter NeatoLocal
  • Port ermitteln unter dem der ESP32-C3 SuperMini ansprechbar ist:
    get meinSaugroboter serialPorts
  • Ermittelten Port als Attribut anlegen:
    attr meinSaugroboter serialPort /dev/ttyACM2
  • ESP32-C3 SuperMini flashen:
    set meinSaugroboter flashESP "SSID" "WLAN-Passwort"
  • Einen Moment Geduld haben. Hat alles geklappt, verbindet sich der C3 mit eurem Netzwerk und meldet dem Modul seine IP-Adresse, das Gerät richtet sich selbst darauf aus. Danach ein save – sonst ist die Adresse beim nächsten FHEM-Neustart wieder weg.
    Das Modul fragt nun den Roboter ab. Da der C3 noch nicht im Roboter verbaut ist, steht der STATE nach kurzer Zeit auf robotSilent: Verbindung zur Brücke steht, Roboter antwortet nicht.
  • ESP32-C3 SuperMini einbauen:
    Dazu gibt es gute Anleitungen im Netz. Der Wartungsport ist von links RX | 3.3V | TX | GND, TX und RX werden gekreuzt:

    Roboter TX  ->  GPIO4  (RX des C3)
    Roboter RX  <-  GPIO5  (TX des C3)
    GND         --  GND
    Roboter 3.3V -> 3V3    (nicht 5V!)

    Erst flashen, dann USB abziehen, dann den Roboter anschließen
  • Später aktualisieren:
    Ist die Brücke verbaut, läuft das Firmware-Update über Funk – der Roboter muss nicht wieder aufgeschraubt werden:
    set meinSaugroboter otaESP

Hat alles geklappt könnt ihr den Neato jetzt wieder aus FHEM heraus staubsaugen lassen. Ich habe es mit meinem ein paar Tage zuverlässig getestet.
Das Modul sollte auch mit OpenNeato funktionieren. Getestet habe ich es nicht, wäre aber über Testberichte dankbar.

Grüße, Christian