NodeRED: Steuerung des Roborock S5 Max mit Valetudo per REST

Valetudo ist für den Staubsauger-Bot Roborock S5 Max* noch im Beta-Status. In der Version 21.04 funktioniert bei mir das Senden von MQTT-Kommandos nicht – der Prozess valetudo stürzt ohne weitere Meldung ab. Daher nutze ich ihn derzeit über das REST-Interface von Valetudo, welches man auch mit den HTTP-Request-Nodes in NodeRED verwenden kann.

Voraussetzungen

Umsetzung

Für die Ansteuerung der REST-Schnittstelle hat NodeRED bereits alles an Board.

Flow Steuerung

Für das Versenden des Kommandos nutze ich den Node „http request„. Für das Ausführen der Kommandos ist die HTTP-PUT-Methode notwendig.

Einstellungen im Request Node

Die verschiedenen Aktionen liegen auf unterschiedlichen Endpunkten, die ich mit der Variablen capability unterscheide. Diese Konfiguration erfolgt im Change-Node. Zudem wird hier gleich der HTTP-Header für den Inhaltstypen „Content-Type“ gesetzt.

Einstellungen im Change-Node

Die eigentlichen Kommandos habe ich in den Buttons versteckt, natürlich kannst Du das auch in andere Nodes einbauen.

Payload im Button

Um die für dich passenden Koordinaten, Segmente oder Zonen herauszufinden, kannst Du in Deinem Browser die Valetudo-Oberfläche aufrufen. Die Segment-IDs findest du heraus, indem du in die Map soweit hineinzoomst, bis die Bezeichnung am Dreieck sichtbar ist. Die Segment-ID steht in runden Klammern.

Segment-ID

Die Koordinaten findest du über einen Mitschnitt des Netzwerkverkehrs (Tab „Network“) in den „Entwicklertools“ heraus. Dort siehst Du, was aufgerufen wurde. Der nachstehende Screenshot zeigt die Entwicklertools des Browsers Chromium. Valetudo hat bereits an einigen Stellen einen Info-Button eingebaut, der Dir zukünftig die IDs vermutlich auch direkt anzeigt.

Zu beachten ist, dass

  • der Inhaltstyp „Content-Type“ auf application/json gesetzt wird und
  •  alle Zeichenketten in der JSON-Zeichenkette in Anführungsstriche eingeschlossen werden.

Fazit

Auch wenn Valetudo sich für den S5 Max noch im Beta-Stadium befindet, so kann man bereits (einfache) Steuerungen per NodeRED durchführen. Mit REST lassen sich auch noch Kartendaten und verschiedene Status holen, so dass man seine UI noch erweitern kann. Bisher genügt mir die einfache Steuerung per REST, die ich zusätzlich noch auf physische ZigBee-Buttons gelegt habe.

Sag mir deine Meinung! (Kommentar-Regeln)

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.