FHEM integration des m1000i

  • Hallo zusammen,


    hat einer von euch zufällig schon den Robo ins FHEM eingebunden?
    Mir schweb vor:
    -pollen des Status ob er Lädt, Mäht, wartet, um so Statistik über Akku/Mähzeit und Ladezeit zu bekommen und den Status in einer FHEM GUI anzuzeigen
    -Starten/Zurückbeordern von FHEM oder einem Tablet mit FHEM GUI
    - (...) was sonst noch das Webinterface hergibt :)


    So wie ich das auf den ersten Blick sehe könnte es ja funktionieren... Webserver liefert JSON denke ich


    grüsse,
    bigcheese

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Also für die, die es interessiert: habe den Mower jetzt im FHEM prinzipiell mal drinnen:
    (IP müsst ihr nat. ersetzen, letzte zahl ist das Abfrageinterfall in Sekunden)


    define Mower HTTPMOD http://admin:<pin>@192.168.1.111/jsondata.cgi 60
    attr Mower extractAllJSON 1
    attr Mower stateFormat state perc_batt


    2. Zeile lässt alle Werte darstellen/auslesen
    3. Zeile fügt noch die Ladeprozent der Batterie zum Status... d.h. Mower hat dann z.b. den State "cutting gras 85" bei 85% Akku Kapa während des mähens...


    grüsse,
    bigcheese

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Coole Sache! Das ist auf jeden Fall ein Vorteil gegenüber dem Gardena Smart Sileno, wo man das Gateway noch nicht in FHEM einbinden kann.
    Aber den hab ich nun mal gestern gekauft - als die vermeintlich zuverlässigere Variante gegenüber dem M1000i.

  • Als nächstes hab ich mir über die App Prowl Pushnachrichten eingerichtet, die bei Statusänderung des Mähers mich benachrichtigen :D Wenn der Regen mal wieder aufhört wird getestet...

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • bigcheese : Super, dass du dich mit FHEM auskennst. Vielleicht kannst du noch weiter Funktionen programmieren (vor allem "Reinholen vor einem Regen"; "Rausschicken" etc.; ich habe FHEM installiert; wie es dann weitergeht, fehlen mir leider die Kenntnisse; aber ich setze auf Dich! Geht bei FHEM auch eine statische IP-Adresse. Ich habe eine fritzbox 7390, auf die ich per statischer Fritzbox-Adresse zugreifen kann. Könnter ich somit aus der Ferne den Mäher dirigieren ? Oder gibt es da eleganter Lösungen?


    Liebe Grüße
    Tom261

  • also ich hab vpn server auf fritzbox laufen und hab bei zapto.org einen dyndns service wo man quasi immer auf den heimserver kommt... mit vpn ist es dann so als waer man zuhause und kann den robo dirigieren... starten tu ich ihn allerdings nicht da ich nicht weiss was im garten grad los ist... spielzeug, kinder usw

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Pushes mit Prowl sehen dann so aus: IMG_7075.jpg

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Die nächste Frage wäre jetzt: wie setze ich Befehle ab? z.b. go Home oder Start :) JSON is ned so meins :D

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Absetzen von Befehlen geht jetzt... kann ihn Starten und wieder Heimschicken mit folgender Ergänzung (danke matevzg !):
    attr Mower set01Data data=%5B%5B%22settaggi%22%2C$val%2C1%5D%5D
    attr Mower set01Hint on,off
    attr Mower set01IMap 11:on, 12:off
    attr Mower set01Name mowingcmd
    attr Mower setHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8


    Aufruf in FHEM durch: "set Mower mowingcmd on" oder ...off :)
    Mit der FHEM Widget App von einem Kollegen von mir geht dass dann auch aus dem Notification Center aus... d.h. am IPhone nur Notification Center runterziehen, Roboter anschalten :)
    fhem widget.jpg

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

    Edited once, last by bigcheese ().

  • Mittlerweile kann ich auch das LogFile auslesen, da ja die Website vom Landroid irgend nen Bug hat hab ich das mal mit FHEM gebaut.
    Ich kann einstellen wieviele Zeilen ich bekomme und was die StartID sein soll...
    Ausständig ist noch ein schönes Formatieren in einem Reading... dazu müsst ich erstmal die Regex Sch*** kapieren :D

    Quote

    define MowerLog HTTPMOD http://admin:<pin>@192.168.1.111/jsonLog.cgi 60
    attr MowerLog userattr get01JSON get01Name reading01JSON reading01Name set01Data set01ExtractAllJSON:0,1 set01Hint set01IMap set01Name set01ParseResponse:0,1 set01Regex setHeader1
    attr MowerLog room Garten
    attr MowerLog set01Data data=%5B%5B%22log_id%22%2C0%2C$val%5D%2C%5B%22log_num%22%2C0%2C50%5D%5D
    attr MowerLog set01Name fromId
    attr MowerLog setHeader1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8


    Aufgerufen mit: "set MowerLog fromId 3000" liefert dann 50 Einträge (hardcoded) (oben Fett markiert) - aktuell bin ich bei über 11000 Einträge... funktioniert :)


    Bildschirmfoto 2016-07-26 um 23.19.36.jpg

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

    Edited once, last by bigcheese ().

  • Hallo bigcheese: Mit einem normalen Browser komme ich aber nicht an das erweiterte Log, oder? Am liebsten wäre es mir in eine Datei weggeschrieben.
    Wenn ich das Log hätte, würde ich mir auch mal ein paar RegExen antun, um es intelligent auszuwerten ...

    Worx Landroid WG796E.1 (M1000i) seit 08.06.16, 550 m² Rasen, FW 2.47

    Silvercrest SSRA1 Saugroboter

  • was meinst du mit erweiterte log? im browser geht durch den bug vom landroid nur die ketzte und die erste seite mit jeweils 100 eintraegen... gibts noch ein anderes log?
    auf den usb stick dachte ich wird identisches geschrieben oder?

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Auf den Stick werden jede Menge Daten geschrieben... mein letztes Log hatte über 6000 Zeilen. Irgendwo wird wohl auch da Schluss sein, wann? Keine Ahnung....

  • muesste gleicher inhalt sein.. hab in ca 6 wochen 11000 eintraege

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • was meinst du mit erweiterte log? im browser geht durch den bug vom landroid nur die ketzte und die erste seite mit jeweils 100 eintraegen... gibts noch ein anderes log?
    auf den usb stick dachte ich wird identisches geschrieben oder?


    Es klang so, als ob du einen Weg gefunden hast, auch die anderen Log Einträge über WLAN auszulesen...

    Worx Landroid WG796E.1 (M1000i) seit 08.06.16, 550 m² Rasen, FW 2.47

    Silvercrest SSRA1 Saugroboter

  • Ja, das hab ich ja auch :) ich kann alle 11000 einträge anzeigen, das kann man über die interne website nicht - wenn man nat. den USB Stick von Anfang an mitlaufen lässt kann man es nachträglich auch...
    Aber so wie ich das verstanden habe ist kein Unterschied zwischen den Daten auf dem Stick danach oder denen die intern geschrieben werden (hab es aber nicht verifiziert).
    wie gesagt, die interne Website die das Log anzeigt kann ja nur aktuellsten 100 und die allerersten 100 darstellen... aber die dazwischen nicht, obwohl sie vorhanden sind, ist eben ein Bug.

    Landroid Worx m1000i seit Ende Mai 2016, Firmware 2.24 special island (beta) (ging nicht mehr)
    Gardena smart Sileno+
    Neato Botvac Connected

  • Ich hoffte, dass das Auslesen des vollständigen Logs irgendwie mir anderen Windows Bordmittel möglich wäre.

    Worx Landroid WG796E.1 (M1000i) seit 08.06.16, 550 m² Rasen, FW 2.47

    Silvercrest SSRA1 Saugroboter

  • wenn man nat. den USB Stick von Anfang an mitlaufen lässt kann man es nachträglich auch...

    Muss man nicht. Es sieht so aus, als ob er das Log intern immer mitführt und dann nur auf den Stick schreibt. Ich hab Daten auf dem Stick, die entschieden älter sind als das Datum, an dem ich ihn zum ersten Mal eingesteckt habe.


  • Vielen Dank für die Vorarbeit- Ich habe mich mal auf Basis dieser Daten an die REGEX-Auswertung des Protokolls(buf) gemacht. Mit dem folgenden Ausdruck kann ich alle Protokolleinträge einzeln auswerten, Datum und Uhrzeit einzeln oder zusammen gruppieren und die laufende Nummer sowie den Protokolleintrag auswerten.
    "[\[](([\d]{4})[\,]([\d]?[\d])[\,]([\d]?[\d]))[\,](([\d]?[\d])[\,]([\d]?[\d])[\,]([\d]?[\d]))[\,]([\d]{4})[\,][\']([\[]Scheduler[\]][a-z0-9,'# ]+|[\[]WEB[\]][a-z0-9,'# ]+|[\[]Battery LOW[\]][a-z0-9.°,'# ]+|[a-z0-9.!:°,'# ]+)"
    Die Ausgabe bei http://www.regexe.de/ sieht dann wie im folgenden Ausschnitt aus landiDecode.JPG. Es fehlt lediglich aufgrund eines Zeichensatzfehlers der Rest der Zeile beim Verlassen der LS nach der Winkelangabe.


    Jetzt bin ich am rätseln, wie ich dieses Ergebnis in FHEM weiter verarbeiten kann. Vielleicht hat hier ja jemand noch Ideen.

    Edited once, last by longo ().


  • Vielen Dank für die Vorarbeit- Ich habe mich mal auf Basis dieser Daten an die REGEX-Auswertung des Protokolls(buf) gemacht. Mit dem folgenden Ausdruck kann ich alle Protokolleinträge einzeln auswerten, Datum und Uhrzeit einzeln oder zusammen gruppieren und die laufende Nummer sowie den Protokolleintrag auswerten.
    "[\[](([\d]{4})[\,]([\d]?[\d])[\,]([\d]?[\d]))[\,](([\d]?[\d])[\,]([\d]?[\d])[\,]([\d]?[\d]))[\,]([\d]{4})[\,][\']([\[]Scheduler[\]][a-z0-9,'# ]+|[\[]WEB[\]][a-z0-9,'# ]+|[\[]Battery LOW[\]][a-z0-9.°,'# ]+|[a-z0-9.!:°,'# ]+)"
    Die Ausgabe bei regxe.de sieht dann wie im folgenden Ausschnitt aus landiDecode.JPG. Es fehlt lediglich aufgrund eines Zeichensatzfehlers der Rest der Zeile beim Verlassen der LS nach der Winkelangabe.


    Jetzt bin ich am rätseln, wie ich dieses Ergebnis in FHEM weiter verarbeiten kann. Vielleicht hat hier ja jemand noch Ideen.