WLAN Steuerung für Ambrogio L30 und baugleiche Modelle (Stiga, Wiper, Wolf)

  • Hallo zusammen,


    zuerst einmal etwas Vorgeschichte und Hintergrundinfos, weiter unten wird es dann konkret, für alle, die keine Zeit haben ;)...


    Wie schon in anderen Threads einmal erwähnt, wollte ich mich an ein Interface machen, um meinen Herkules Wiper Ciiky XH2 (baugleich mit Ambrogio L30) über WLAN zu steuern. Wie der Hersteller bei einer empfohlenen Gartengröße von über 1.000 m² darauf kommt, eine Nahdistanz-Technologie wie Bluetooth einzusetzen, ist mir ein Rätsel, denn wenn der Roboter etwa die Hälfte des Gartens durchquert hat, kann ich ihn von der Terrasse trotz direktem Sichtkontakt nicht mehr über die App steuern. Die App selber ist natürlich auch proprietär aufgebaut und lässt sich in kein anderes (Home-Automation)-System einbinden.


    Also musste eine bessere Lösung her :).


    Zum Glück setzt der Hersteller bei der Bluetooth-Ansteuerung auf Standardkomponenten. Das Bluetooth-Modul wird über eine serielle Schnittstelle angesteuert, die leider nicht ganz konform belegt ist (u.a. wegen der Stromversorgung des Moduls). Auch die Übertragungsgeschwindigkeit war so zuerst nicht bekannt, so dass ich mittels eines Oszilloskops und der Signaldauer die Übertragungsgeschwindigkeit herausfinden musste (38400 - ich hätte mal nicht nach den sonstigen Standards 9600, 57600 und 115200 aufgeben sollen ;) ). Nachdem ich mich dann mit dem BT-Modul verbinden konnte (ein WRAP THOR, das sicher keine 150 Euro kostet oder was die Roboter-Hersteller auch immer dafür abrufen), war zumindest der Übertragungsweg klar. Als nächster Schritt mussten dann die übertragenen Daten mitgelesen und entschlüsselt werden. Dazu habe ich mich mit einem ESP8266 und einer Logger-Schaltung (siehe Bild) in den seriellen Busverkehr eingeklinkt und die Daten, die die App an den Roboter und umgekehrt schickt, mitgelesen. Dann musste entschlüsselt werden, was Start-, End- und Escape- sowie Kommando- und Daten-Sequenzen sind. Dazu kam die nicht gleich ersichtliche CRC8-Maxim-Prüfsumme, sowie die Neukodierung bestimmter Werte, wenn diese identisch mit den Steuer-Sequenzen waren. Und dann begann die Hauptaufgabe, nämlich zu schauen, was die einzelnen Daten bedeuten und wie man Rückgabewerte auswertet.


    Aber genug der Vorgeschichte ;)...

    Was gibt es schon?


    Inzwischen habe ich eine Schaltung entworfen, die auf einem ESP8266 basiert und klein genug ist, dass sie an gleicher Stelle in den Roboter eingebaut werden kann. Man muss nur den Roboter öffenen (wobei wahrscheinlich trotzdem die Garantie verloren geht und dies wohl auch nur einem Fachmann vorbehalten ist), das BT-Modul abschrauben und die neue Platine aufsetzen - fertig. Man kann jederzeit wieder das BT-Modul einsetzen und die App verwenden, z.B. wenn man ein Firmware-Update machen möchte (ein Firmware-Update könnte aber zu einer Veränderung führen, die dann wiederum das WLAN-Modul außer Gefecht setzt, jenachdem, wie (un)gern Zucchetti eine solche Eigenentwicklung findet ;) ).
    Im Anschluss sucht die Software zuerst nach einem bekannten WLAN und spannt ansonsten ihr eigenes auf. Alle Kommandos werden über URLs gesteuert, so dass eine Einbindung in Home Automations Systeme wie FHEM, MQTT und andere problemlos möglich ist. Ein (rudimentäres) Webinterface ist ebenfalls vorhanden, mit dem man den Roboter schon einmal fernsteuern kann (entsprechend der Funktionen der App). Ein Update der Software ist ebenfalls über den Browser möglich, so dass man den Roboter nicht jedesmal erneut aufschrauben muss.


    Welche Funktionen gehen schon?


    - Anmeldung
    - Links
    - Rechts
    - Geradeaus
    - Spirale
    - Home/Work
    - Play/Pause


    Welche Funktionen kommen noch?

    Die folgenden Funktionen konnte ich durch Analyse der Rohdaten entschlüsseln und diese werden dann nach und nach in die Software aufgenommen:


    - Einstellungen
    -- Nebenflächen
    -- Mähtage
    -- Randmähen
    -- Uhrzeiten


    -Statusabfragen
    -- Batteriespannung
    -- Fehlermeldungen


    Insbesondere über die letzte Funktion wird es dann möglich sein, über E-Mail oder Push-Nachrichten eine Mitteilung abzusetzen, wenn der Roboter sich festgefahren hat. Man muss also nicht mehr mit gespitzten Ohren das leise Piepsen orten, sondern bekommt dann zeitnah eine Mitteilung, welcher Fehler vorliegt und kann dann ggf. auch im Urlaub dem Nachbarn mal Bescheid sagen, dass er das Mähschaf retten möge ;).


    Wie geht es weiter?


    Wenn diese Variante noch weitere Menschen interessieren sollten, würde ich aus meiner Schaltung mal einen Platinenentwurf machen und dafür dann eine Sammelbestellung organisieren. Ich denke, alles in allem sollten sich die Kosten zwischen 30 und 40 Euro bewegen. Dazu am besten eine E-Mail an robotan (ät) code-it.de schicken, da ich als vollzeitarbeitender Familienvater nicht immer regelmäßig in den Foren vorbeischauen kann ;)...


    Zum Schluss noch ein paar Bilder aus der Entstehung des Projekts.


    Viele Grüße



    F.


    IMG_8853.jpgIMG_8854.jpgIMG_8860.jpgBildschirmfoto 2017-10-20 um 10.43.46.png

  • So, die Programmierung ist nun schon soweit gediehen, dass die von mir im Rahmen des reverse engineering herausgefundenen Daten angezeigt werden können. Auch eine Benachrichtigung per http-Request bei Auftreten eines Fehlers funktioniert (getestet bei mir mit einem iPhone und Prowl als Benachrichtigungs-App, läuft aber mit allen Diensten, die man mit einem http-URL-Aufruf ansprechen kann). Das Schreiben der Konfiguration wäre dann der nächste (und hoffentlich letzte) Schritt...


    Die Platinen sollten kommende Woche eintreffen, ich habe ein paar mehr bestellen müssen, als sich Interessenten gemeldet haben, um auf die Mindestbestellmenge zu kommen, insofern können sich gerne noch Leute melden, die Interesse haben, am besten per Mail an robotan (ät) code-it.de.


    Gruß,


    F.


    Status-Screen mit allen aus dem Roboter ausgelesenen Parametern:
    Bildschirmfoto 2017-10-31 um 20.02.35.jpg


    Mobile Webseite zur Steuerung des Roboters:
    IMG_8882.jpg

  • Nur ein kurzes Update - dummerweise habe ich bei den Platinen einen Symmetriefehler gemacht, so dass die Sende- und Empfangs-Pins bei der seriellen Schnittstelle vertauscht sind. Die Runde muss ich also als "Entwicklungskosten" abhaken :(. Die neue Bestellung geht dann Ende der Woche raus, wer noch Interesse hat, kann sich also gerne noch ranhängen. Alle bisherigen Interessenten habe ich weiterhin auf dem Schirm und werden dann zeitnah von mir informiert.

  • Ich habe hier in den Unterlagen einen "Aplina AR-1 500", das wird wohl ein Alpina sein ;) - einfacher Test wäre sonst noch, einfach mal die Ambrogio App herunterzuladen und auszuprobieren, ob die damit geht. Denn letztlich ist Ambrogio von Zucchetti und alle Wiper, Stiga, Wolf und Alpina letztlich Ambrogios...

  • Hier einmal die Liste der Roboter, die funktionieren sollten, da diese im Prinzip alle über die gleiche App abgewickelt werden und meine Software die Funktionen der App (weitestgehend) emuliert:


    Alpina


    Alpina AR-1 500
    Alpina AR-2-1200
    Alpina AR-2-600


    Herkules Wiper

    BLITZ X/XE
    BLITZ XK
    CIIKY XE
    CIIKY XH
    CIIKY XH2
    CIIKY XK
    JOY X
    JOY XE
    JOY XH
    JOY XK
    ONE X V10
    ONE XH V10
    ONE XK V15
    RUNNER L XE
    RUNNER L XH
    RUNNER L XK
    RUNNER S
    RUNNER SH
    RUNNER X
    RUNNER XE
    RUNNER XH
    RUNNER XK


    Ambrogio

    L200 Basic
    L200 Deluxe
    L200 Elite
    L200 Evolution
    L200R Basic
    L200R Deluxe
    L200R Elite
    L200R Evolution
    L30 Basic
    L30 Deluxe
    L30 Elite
    L30 Elite Plus
    L30 Elite Super Plus
    L300 Basic
    L300 Elite
    L400 Basic
    L400 Deluxe
    L400 Elite
    L50 Basic/Deluxe
    L50 Evolution
    L75 Basic
    L75 Deluxe
    L75 Elite
    L75 Evolution
    L85 Basic
    L85 Deluxe
    L85 Elite V5
    L85 Evolution V5


    Wolf

    R20 AC
    R30 AC
    R50 AC


    Stiga

    Stiga Autoclip 125
    Stiga Autoclip 127
    Stiga Autoclip 140
    Stiga Autoclip 145
    Stiga Autoclip 223
    Stiga Autoclip 225S
    Stiga Autoclip 228S
    Stiga Autoclip 230S
    Stiga Autoclip 325
    Stiga Autoclip 328S
    Stiga Autoclip 520
    Stiga Autoclip 522
    Stiga Autoclip 523/525
    Stiga Autoclip 524S
    Stiga Autoclip 527
    Stiga Autoclip 527S
    Stiga Autoclip 720S
    Stiga Autoclip 920S


    Marlin

    Marlin Classic
    Marlin Deluxe
    Marlin Elite



    Gruß,


    F.

  • Danke!
    Kurzes Update zum Fortschritt: Herkules (wie vermutlich auch die anderen Zucchetti Reseller) hat für meinen Ciiky XH2 (baugleich Ambrogio L30) einen Rückruf wegen des Gehäuses gestartet, so dass ich meinen Roboter jetzt beim Händler abgeben sollte. Nun habe ich die inzwischen die (hoffentlich korrekten) Platinen hier und kann aber erst mal nicht weiter testen :(. Ich hoffe, der Rückruf wird schnell abgewickelt, sonst wäre das schon nervig... Aber letztlich wohl immer noch besser, als wenn es mitten in der Mähsaison passiert...

  • So, nach zwei Dienstreisen und kranker Kinder kann es nun losgehen und die Platinen etc. werden an die Interessierten verschickt. Da in der Zwischenzeit leider wieder ein paar Leute abgesprungen sind, hätte ich noch welche übrig, falls noch jemand Interesse hat. Die Weiterentwicklung der Software muss aber noch eine Weile pausieren, da mein Robbi immer noch bei Herkules wegen der Rückrufaktion ist :/

  • So, leider eine nicht so schöne Nachricht: Da ich mich gewundert habe, warum ich hier als "Gewerblicher Teilnehmer" geführt werde, hat der Moderator mir auf Nachfrage erklärt, dass es hier Richtlinie wäre, dass, wenn man ein Projekt entwickelt und dann eine Sammelbestellung organisiert, man als "Gewerblicher Teilnehmer" geführt wird. Ich will mich nicht weiter darüber auslassen, wie sinnvoll ich das finde, aber ich möchte nicht, dass mein Arbeitgeber (oder Kollegen), die mich mal googlen, auf falsche Ideen kommen, für die ich mich dann rechtfertigen muss. Im Öffentlichen Dienst kann das schnell mal zu einer Abmahnung führen.
    Da sich der Moderator nicht von meinen Argumenten überzeugen ließ, muss ich meinen Account hier leider löschen. Das Projekt wird weiterhin auf https://github.com/fredlcore/robotan entwickelt werden, und wenn ich ein Forum gefunden habe, das etwas realitätsnähere Richtlinien hat, werde ich dies dort ebenfalls verlinken. Für direkten Kontakt stehe ich weiterhin unter robotan (ät) code-it.de zur Verfügung.
    Vielen Dank an alle, die mit positiven Rückmeldungen und Vorschlägen dieses Projekt unterstützt haben!


    Gruß,


    F.

  • Schade.
    Bei so restriktiver Auslegung der Regeln bleibt demnächst nicht mehr viel interessantes übrig und solch tollen Initiativen werden erst gar nicht gestartet. Der Erfolg gibt den Admins recht, das Forum quillt ja über vor Traffic.

  • freetz


    Wir haben hier im Forum mehrere User die etwas Entwickelt haben und es anderen Usern Anbieten.
    Alle diese User sind sind Gekennzeichnet als "Gewerblicher Teilnehmer" damit die anderen User klar und eindeutig Erkennen können, das es ich um einen User handelt, der etwas "Einwickelt" hat und es anderen Anbietet.
    Ob dabei jemand einen Gewinn erzielt oder nicht, Spielt erstens keine Rolle und 2. kann das keiner Nachvollziehen.
    Feststeht, wer etwas Anbietet zum Verkauf und das in Mengen die über den Privaten Mengen-Bereich drüber hinweg, Handelt in Gewerblicher Form.


    siehe EStG:
    "Unternehmer ist, wer eine gewerbliche oder berufliche Tätigkeit selbständig ausübt. Gewerblich oder beruflich ist jede nachhaltige Tätigkeit zur Erzielung von Einnahmen, auch wenn die Absicht, Gewinn zu erzielen, fehlt."


    Zudem möchten wir hier alle gleich behandeln, können da leider bei Dir keine Ausnahme machen.


    Lasse Dir das ganze noch mal durch den Kopf gehen, es ist ja nichts schlimmes, wenn mal als "Gewerblicher Teilnehmer " gekennzeichnet ist, was Dir die anderen User auch bestätigen können. :wink5:


    Mit freundlichen Grüßen

  • Hallo Schelm1,


    danke für die Erläuterung. Ich bingrundsätzlich sehr dafür, dass gewerbliche Anbieter als solche gekennzeichnet werden. Und ja, ich entwickle eine kleine Platine, aber die biete ich nicht im gewerblichen Sinne andern Usern an, sondern ich habe eine Sammelbestellung organisiert, was insbesondere für Platinen Sinn macht, denn wenn sich jeder einzeln eine solche Platine ordert, sind die Kosten unverhältnismäßig hoch, als wenn man 5 oder 10 bestellt. Wenn wie bei einer Sammelbestellung die Kosten quasi 1:1 durchgereicht werden, ist das eben sowohl in steuer-, als auch gewerberechtlicher Hinsicht kein Gewerbe, weil eben - wie Du im EStG richtig zitierst - die nachhaltige Tätigkeit nicht gegeben ist. (Zur rechtlichen Definition von Nachhaltigkeit siehe gleich erster Satz hier: https://www.haufe.de/personal/personal-office-premium/frotschergeurts-estg-15-einkuenfte-aus-gewerbebetrieb-23-nachhaltigkeit_idesk_PI10413_HI1992795.html)


    Der Grund, warum das für mich nicht geht, hier als Gewerblicher Teilnehmer gekennzeichnet zu sein, liegt zum einen darin, dass ich als Verwaltungsmitarbeiter im Öffentlichen Dienst keine Nebentätigkeit ohne Genehmigung wahrnehmen darf. Und da möchte ich nicht, dass bei einer solchen Kennzeichnung Leute auf falsche Gedanken kommen, wenn mich der AL oder Kollegen mal googlen sollten.
    Zum anderen sind bei einem gewerblichen Anbieter ganz andere rechtliche Regularien relevant, wie z.B. Produkthaftung, Gewährleistung etc. Ich will nicht jedem, der sich für das Produkt interessiert, erklären müssen, dass das auf das, was ich mache, nicht zutrifft.


    Wenn das für Euch aus logistischen oder anderen Gründen nicht möglich ist, hier eine Unterscheidung zu machen, dann muss ich das akzeptieren. Und vielleicht bin ich da zu genau oder übervorsichtig (und arbeite vielleicht deswegen im ÖD :wink5:), aber ich will da einfach nichts riskieren und muss dann die Konsequenzen ziehen und mir einen anderen Ort suchen. Was eigentlich schade ist, weil ich das roboter-forum bisher als für mich sehr hilfreiches Forum empfunden habe und deswegen mein Projekt auch gerne hier vorstellen und supporten wollte.


    Gruß,


    F.

  • Schelm1


    Deine Definition des Unternehmers ist nicht die des EStG (Einkommensteuergesetz), sondern die Regelung des § 2 UStG (Umsatzsteuergesetz). Das EStG und das UStG haben unterschiedliche Voraussetzungen an die Unternehmereigenschaft (im EStG selbst gibt es dazu keine Definition, dort bedarf es aber in der Regel einer Gewinnerzielungsabsicht, da sonst Liebhaberei vorliegt).


    Nur zur Klarstellung, nicht böse gemeint.


    Gruß

  • Danke euch für euer Info´s hier zu


    wir werden das nochmal im Team besprechen.
    freetz bleib uns noch so lange erhalten bis es hier nochmal eine Antwort gibt.

    Haben: Roomba 650 UG / Roomba 980 EG / Roomba 960 OG
    Haben: Robomow RC304 / 1x Worx WR102 / 1x Worx WR106
    Haben: Braava 390t

    Haben: Gardena Irrigation/Gateaway/2xSmartSensoren/4-Ventile/Mikrodrip/2xS80/3xHunter MP/4xHunter Streifendüsen
    Soll: EierlegendeWollMilchSau..........und Honigwilli


    Robomow RC/MC Tip´s auch für Wolf Robo Scooter

  • Danke, dass Ihr Euch die Zeit dafür nehmt. Ich glaube, es betrifft am Ende nicht nur mich, wenn Ihr Euch da einen Modus überlegt, wie Ihr gut zwischen Hobbyisten und Händlern (die z.B. einen Shop haben oder Dienstleistungen anbieten) unterschieden könnt. Wenn ich gewerblich unterwegs wäre, würde ich sogar darum bitten, diese Bezeichnung "Gewerblicher Teilnehmer" zu bekommen, gerade um mich von Hobbybastlern wie mir jetzt zu unterscheiden ;)...

  • Danke, dass Ihr Euch die Zeit dafür nehmt. Ich glaube, es betrifft am Ende nicht nur mich, wenn Ihr Euch da einen Modus überlegt, wie Ihr gut zwischen Hobbyisten und Händlern (die z.B. einen Shop haben oder Dienstleistungen anbieten) unterschieden könnt. Wenn ich gewerblich unterwegs wäre, würde ich sogar darum bitten, diese Bezeichnung "Gewerblicher Teilnehmer" zu bekommen, gerade um mich von Hobbybastlern wie mir jetzt zu unterscheiden ;)...


    wie gesagt, es ist ja von uns nicht Böse Gemeint. Wir suchen Aktuell nach einer Alternative zur Kennzeichnung hier im Forum. :wink5: