Entwicklungsprojekt: Worx Landroid & Kress Mission Desktop App

  • Eine kleine portable Anwendung mit der man die Mäher Worx-Landroid bzw. Kress-Mission von einem Desktop-PC beobachten und steuern kann.


    Net - Eine reine Windows-Variante die .Net Framework 4.6 oder höher voraussetzt.

    Mono - Eine Variante für Linux bzw. MAC OS basierend auf dem Mono Framework.


    Die Einstellung werden neben der DeskApp.exe in der Datei Config.json abgelegt. Diese bei einer neuen Version einfach rüber kopieren.


    Download übe Google Drive: GDO


    Die Intention hier mal wieder was mit mit c# zu tun kam durch das Thema "Landroid in Smarthome einbinden" von Meistertr und den darin verlinkten Informationen von mjiderhamm zustande.


    Aktuelle Version: V0.0.24


    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

    Edited 28 times, last by Eisha: V0.0.24 ().

  • Kurzdokumentation

    Nutzer.png Das Register Nutzer enthält die Anmelde- und Mäherdaten.
    Bei der ersten Verwendung ist die Email-Adresse mit der man sich registriert hat und das zugehörige Kennwort einzutragen. Nach der erfolgreichen Anmeldung werden Name, Broker und MAC-Adresse sowie im das Zertifikat (Datei AWS.p12) über die Worx-API abgerufen. Sind mehrer Produkte registriert erfolgt vorab eine Abfrage welches davon diese Instanz der App behelligen soll. Anschließen kann mittels Verbinden die eigentliche Kommunikation über den AWS-Mqtt-Broker zum Mäher aufgebaut werden. Die Daten werden in der Datei "Config.json" abgelegt. Beim nächsten Start wird direkt auf das Register Status gesprungen.
    Status.png



    Das Register Status stellt die vom Mäher gelieferten Daten anschaulich dar. Die Rohdaten sieht man im Register MqttJson.
    Die oberen Zeile dient zur Anzeige des aktuellen Zustandes (ls, le, bt.c) des Mähers. Daneben erfolgt die Anzeige der WiFi-Signalstärke (rssi), optional des Startpunktes (lz) falls Zonen aktiv sind und der Firmware-Version (fw).
    Darunter wird der Fortschritt der täglichen Arbeit ala mobiler App's (sc) berechnet und der Akku-Zustand (bt.v, bt.t, bt.p) dargestellt. Die Prozentangabe der Akkukapitität ist der Wert (bt.p) den die Firmware liefert.
    Die Orientierung zeigt die Lagesensoren (dmp) , den sogenannten Roll-Nick-Gier-Winkel, an.
    Nachfolgend findet man die statistischen Werte (st.b, st.d, st.wt). Über einen Doppelklick auf die Mähzeit kann man sich den letzten Messerwechsel merken.
    Zum Schluss wird noch angezeigt, wann die letzte Aktualisierung erfolgte.
    Die Buttons Start, Stopp und Heim dienen zur Steuerung des Mähers. Über Poll kann eine Aktualisierung angestoßen werden.
    Planer.png Das Register Planer fasst die Konfiguration der Arbeitsplanung zusammen.
    Als Modus wird z. Zt. nur der manuelle Plan (1) unterstützt.
    Startzeit und Dauer können direkt eingegeben werden. Die Endzeit wird aufgrund des Korrekturfaktors berechnet. Steht dieser auf 0% kann auch die Endzeit angegeben werden und die Dauer wird berechnet. Über die Korrektur kann der Arbeitsplan gesamtheitlich verändert werden. Bei -100% wird nicht gearbeitet, bei +100% doppelt soviel. Über die Buttons kann in 25%-Schritte gesprungen werden.
    Die Regenzeit ist die Dauer die der Mäher nach Abtrocknen des Sensors wartet bevor er wieder laut Arbeitsplan seine Tätigkeit aufnimmt. Stellt man den Wert auf 0 ignoriert der Mäher den Regensensor und zieht durch.
    Zonen.png
    Das Register Zonen erlaubt das Festlegen von Startpunkten.
    Der Mäher wählt bei jeder Ausfahrt den nächsten Startpunkt aus der Liste und fährt die angegeben Meter am Draht entlang bevor er dort abbiegt und mit dem Mähen beginnt. Um wirkliche Zonen zu erzeugen muss man das BK an den Übergängen verengen, um dem Mäher das Ausbrechen zu erschweren. D.h. man muss seine Startpunkt im Kontext des Arbeitsplanes auf 10 Ausfahrten verteilen.
    Der aktuell angefahren (Mähen) bzw. nächste (daheim) Startpunkt ist im Status (lz) ersichtlich.
    Aus Spaß kann man den Mäher über den Button Rundfahrt auch eine Trainingsrunde am BK entlang schicken. (Diese Funktion benutzen die mobilen Apps um Startpunkte zu teachen.)
    Activität.png Das Register ActLog zeigt das Aktivitätsprotokoll an.
    Der Mäher sendet ständig Stadi an den Broker. Vom Worx-Server werden diese ebenfalls abonniert und in einem Aktivitätsprotokoll zum späteren unabhängigen Abruf über die Web-API bereitgestellt. Die Aktivitätseinträge enthalten nicht den kompletten Status, sonder nur "relevante" Dinge, wie Datum/Zeit, Zustands- und Fehlercode sowie Ladend/Entladend.
    Plugin.png Das Register Plugin listet die neben der DeskApp liegenden Zusatzfunktionen auf.
    Jeder Anwender hat somit die Möglichkeit eigene Funktionalität der DeskApp hinzuzufügen.
    Diese sind mit c# (csharp) zu entwickeln und werden zur Laufzeit geladen und übersetzt.
    Hauptbestandteil eines Plugins ist die Funktion ToDo(PluginData pd), welche immer beim Eintreffen von Daten des Mähers aufgerufen wird und bei Bedarf eine String zurück geben kann, der dann an den Mäher gesendet wird.
    .................................... Die weiteren Register MqttJson und Trace dienen zur Diagnose.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

    Edited 10 times, last by Eisha ().

  • Funktioniert prima! Schön mal "live" Lebenszeichen von meinem Hugo zu sehen. Da gibt es sicherlich viele Anwendungsmöglichkeiten.
    Bleibt abzuwarten, was das Android /iOS App zukünftig kann. Falls sich an der stelle nichts entscheidendes mehr tut, wirst Du wahrscheinlich mit Feature-Wünschen überschüttet werden.
    Ich melde schon mal an:
    1. Push-Benachrichtigung, bei Fehlern.
    2. Mindestens zwei Mähzeiten pro Tag
    3. Funktion: " Fahre nach hause und bleib dort für xx Minuten xx Stunden xx Tage"

  • Was kann man mit dem Programm denn für Daten vom Landi abfragen?

    Landroid WR102 Si (gekauft 5.4.2017) , 380qm Rasenfläche
    FW 3.51
    Android App 1.1.12
    Galaxytab S2 9.7 Lineage 16 , Honor 9 lite Oreo

  • Ich schließe mich "Stevan Hanse" seinen Wünschen an.


    Mit diesen Extras wir WORX der aleinige Marktführer werden.

    WORX WR110MI (SB700) FW: 3.45
    Huawei App: 1.033 - Win10 App: 0.0.19
    AVM_6340, 3490 und Devolo 500WiFi (SSID: 3x gleiche)

  • Super Arbeit ! Ich hoffe das ist der erste Schritt, die Landroid-Ss in FEHM zu integrieren ;)
    Vielen Danke schon mal !

  • Nach Heraussuchen des Passworts aus der Mail von Worx funktioniert die APP prima.


    @Landlord:


    Im Textfenster findet man bei mir:

    Code
    1. Product items: '[{'id':xxxxx,'product_id':xx,'user_id':xxxxx,'serial_number':'xxxxxxxxxxxxxxxxxxxx','mac_address':'xxxxxxxxxxxx','name':'My Landroid 1','purchase_date':null,'warranty_expiration_date':null,'purchase_info':null,'setup_location':null,'locked':false,'created_at':'2017-03-13 19:29:28','updated_at':'2017-07-08 13:18:55','firmware_version':2.59,'registration_date':'2017-05-29 10:11:48','firmware_auto_upgrade':true}]'
    2. Retrieve client certificate 'False'
    3. Mqtt connect '0 (True)'
    4. Mqtt subscribe init '1'
    5. Mqtt publish send '2'
    6. Mqtt subscribe done '1'


    Im Reiter "Konfig" steht:


    Im Reiter "Daten" steht:


    Im Reiter "Protokoll" kann man den Statusabfragen und in eine Datei schreiben - sie entspricht dem, was Eisha im Reiter "Daten" ausliest:


    Ich hoffe, das hilft Dir weiter.


    Herzlichen Dank, Eisha - den Ladezustand auszulesen, ist SUPER ! :-)


    LG Bernhard


    PS: den aktiven Firmware-Auto-Upgrade werde ich am Wochenende (oder StiV) im Trello-Board nachfragen - sollte mMn standardmäßig auf "false" stehen...

    WR110MI (SB700) seit 21.5.17, Firmware 3.26 seit 03.04.18, App 1.7 seit 07.10.17, ca 300 qm ebener Rasen mit Mauerabschluss und ein paar kleinen Inseln
    WR105SI (SO500i) bei meinen Eltern seit 01.04.18, Firmware 3.26 seit 01.04.18, App 1.7 seit 31.03.17, ca 150 qm ebener Rasen mit Rasenkanten und Schaukel

  • Hallo Eisha,
    Dein Programm sieht vielversprechend aus, läuft das Ganze auch auf Win7.


    Gruß


    Jens

    Worx Landroid S WR102SI Mai 2017
    Firmware V 2.69 seit 28.07.17 (selbst aufgespielt)
    SONY Xperia - App 1.6.9 / FritzBox 7490 mit FRITZ!WLAN Repeater 300E
    Rasenfläche: ca. 120 qm (L-förmig)

  • Coole Sache, 8xh arbeite gerade auch an mehreren Mahlzeiten.


    Eisha ich habe nun alle konfig Möglichkeiten in meinem Adapter integriert, kannst ja mal auf git reinschauen, vll kannst du da noch was von gebrauchen


    Gesendet von meinem Handy

  • hallo,
    ich bekomme diese Fehlermeldung beim öffnen der App.


    1.jpg


    [HR][/HR] Worx Landroid Wr 101 SI
    FW 2.59
    App 1.6.9
    Tablet Nexus 10 ( 2.4 oder 5 GHz )
    Fritz!box 7490
    Fritz!WLan Repeater 310

  • @ Holger1
    Das Problem hatte ich auch, nachdem ich neugierigerweise die Datei LandroidS.json mit dem Editor angesehen hatte. Darin sind deine Anmeldedaten. Bei mir hat es wieder Funktioniert, nachdem ich die Datei gelöscht hatte. Du musst dann die Anmeldedaten wieder neu Eingeben, die Datei wird dann automatisch neu erstellt.

  • Code
    1. Unknown (dmp[2]): 350,2


    das scheint die Orientierung/Kompass zu sein. Der Wert ist in einem Beobachtungszeitraum von 2 Minuten nie über 360 hinaus gegangen.


    Code
    1. Unknown (lz): 0


    könnte das evtl. "last zone" sein? Also welche Zone er zuletzt angefahren hat? Aber das ist jetzt wirklich komplett geraten und ich nutze keine Zonen daher kann ich es nicht überprüfen.

    iRobot Roomba 980 ab 02/2018
    Bosch Indego 350 Connect ab 10/2017 :thumbsup:
    Worx Landroid WR105SI für ~130qm mit iOS App bis 09.2017

    Edited once, last by Scherzkeks ().

  • moin,


    erstmal Danke an Stefan Hanse für die Antwort .


    Unter Konfig und Daten finde ich aber keine Einträge , wie der User bedipp .


    Warum ?


    Danke.


    [HR][/HR] Worx Landroid Wr 101 SI
    FW 2.59
    App 1.6.9
    Tablet Nexus 10 ( 2.4 oder 5 GHz )
    Fritz!box 7490
    Fritz!WLan Repeater 310


  • 1. Push-Benachrichtigung, bei Fehlern.
    2. Mindestens zwei Mähzeiten pro Tag
    3. Funktion: " Fahre nach hause und bleib dort für xx Minuten xx Stunden xx Tage"


    Push ist so eine Sache. Bei Tapatalk und Co nerven mich eigentlich unnötige Werbung und Vorschläge. Für Fehlermeldung vom Landi-S ist es überlegenswert.
    Hast Du einen speziellen Dienst im Auge oder geht Pushbullet ok?


    Das mit den 2 Mähzeiten wird spannend. Die Ideen von den Kollegen der HA-Fraktion (Auswertung der Mähdauer, ...) gehen mir da fast zu weit. Problem ist vor allen das Kantenmähen, da es dafür kein explizietes Kommando zu geben scheint. Möglich das ein Home in der Ladestation das initiiert. Konnte ich bisher nicht testen, weil es regnet und ich noch kein WLAN an der LS habe. In dem Fall das dies nicht geht müsste man einen zweigeteilten Zeitplan zusammen mit dem Landi-S umsetzen. Andernfalls könnte man alles fremd steuern.
    Bei wem würde denn ein Windows-Rechner ganztägig bzw. fest installiert mit Aufgabenplanung startbar laufen? (nur so mach das Sinn)
    Das Ganze auf ein anderes Gerät zu verlagern (ok jetzt lachen die Jungs von der HA-Fraktion ;-) macht in meiner Denke keinen Sinn.
    - Smartphone ist aufwendiger zu proggen/installieren/bedienen und auch nicht ständig online
    - Router ist zu unterschiedlich und idR nicht offen
    Andere Kleincomputer zähle ich zu HA und da ist ja schon ein Team dran. Der Landi-S wäre natürlich optimal nur sind mir 600 Euronen ein wenig viel zum Deassemblieren.


    Die würde prinzipiell gehen, wenn wir eine Skript-Schnittstelle vorsehen. Ist ja nur -100% + Home + 2. Aufgabe ...
    Bzgl. der Möglichkeiten des Skripting bin ich mir noch uneins. In das Programm würde ich eigentlich nicht hinein legen wollen. Da sollte man nur Konfigurieren und Bedienen. Einfachste Form wäre ein dateibasierter Out/in z.B. über JSON. Dann ist es außerhalb egal was man nimmt. Wie gesagt bin für Vorschläge offen.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

  • Super Arbeit ! Ich hoffe das ist der erste Schritt, die Landroid-Ss in FEHM zu integrieren ;)
    Vielen Danke schon mal !


    Keine Ahnung mit HA habe ich mich bisher nicht beschäftigt.
    Aus dem Quellcode von java (HA-Fraktion) und c# sollte man allerdings für beliebige andere Programmiersprachen alles Notwendige ableiten können.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

  • Dein Programm sieht vielversprechend aus, läuft das Ganze auch auf Win7.


    Ja.
    Voraussetzung ist wie gesagt derzeit .Net Framwork 4.5.
    Ggf. brauch die m2Mqtt-DLL noch die C-Runtime für Visual Studio 2015 (VC140) in der entsprechenden Architektur (x86, x64) so wie die Exception^^ es andeutet.
    Dort bitte die Details ausklappen und den Inhalt kopieren. den dann im Code-Tag hier rein.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

  • Welcher state ist fw Auto Update?


    Der Json kommt, wenn Du nach der Anmeldung "hxxps://api.worxlandroid.com/api/v1/product-items" abrufst.
    Dort sind dann denke ich alle registrierten Landis inkl. Name und MAC enthalten. Wäre sehr nett, wenn dies jemand mit mehr als einem mal ausprobiert und den Ausgabestring dann hier zur Verfügung stellt.


    Bzgl. Zeitplan bin ich eher auf dem Trip die Thematik "Zeitfenster mit Nettomähzeit" umzusetzen. Wie gesagt ^^ muss man noch wegen Kantenmähen schauen.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein

  • dmp[2] - das scheint die Orientierung/Kompass zu sein. Der Wert ist in einem Beobachtungszeitraum von 2 Minuten nie über 360 hinaus gegangen.
    lz - könnte das evtl. "last zone" sein? Also welche Zone er zuletzt angefahren hat? Aber das ist jetzt wirklich komplett geraten und ich nutze keine Zonen daher kann ich es nicht überprüfen.


    Bei meiner Beobachtung ist dmp[2] so gut wie nie unter 300 gekommen und so habe ich Kompass erstmal verworfen. Im HA-Thema wurde aber auch schon mal 9.7 gesichtet.
    Ja, lz könnte was mit Zonen zu tun haben. Hier würde ich auch mal jemanden mit Zonen bitten dies zu beobachten. Derzeit kommen bei cfg 4 Zonen (m) und 10 ZonenProzent (%) zurück. Da ist in meinem Kopf noch was unklar. Werde in der nächsten Release mal "CommandOut.json" raus schreiben, dann kann man das besser analysieren.

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein


  • Unter Konfig und Daten finde ich aber keine Einträge , wie der User bedipp .
    Warum ?


    Wahrscheinlich ist Dein Landi-S offline und es dauert ehe er auf Mqtt-Publish reagiert.
    Oder die MAC ist falsch, dann kommt auch keine Antwort.


    Ein Timeout habe ich noch nicht drin. Wie erwähnt ist mir Mqtt noch ziemlich neu ...

    Landroid SB450 Gustav - WR102SI - Firmware 3.51 - App 1.1.12 - ca. 550m²
    Entwicklungsprojekte ==> DeskApp, Analyser
    Erst Lesen, dann Fragen ==> FAQ - Allgemein