+ Antworten
Ergebnis 1 bis 6 von 6
  1. #1
    Registriert seit
    Mar 2012
    Ort
    Machern/Sachsen
    Beiträge
    339

    Standard Roomba 960 - Rest980 oder MQTT ?

    Hallo Gemeinde,

    nachdem ich vor 2 Wochen einen Roomba 960 gekauft habe, fasziniert mich der Gedanke, ihn in IPS zu integrieren. Nach Recherche stellt sich heraus, dass er per APP sehr gut steuerbar ist, aber aufgrund einer undokumentierten API nur auf Umwegen integriert werden kann. Auch hat der Roomba irgendwann 2018 eine neue Kommunikationsform über MQTT erhalten, so dass Tobira980 nicht mehr gehen kann.

    Ich habe dann den Weg über eine Linux-VM auf der Dorita980 und Rest980 laufen wie in einem anderen Thread beschrieben gewählt. Das funktioniert nach einigem herumzicken nun letztlich doch. Das Passwort auszulesen war die größte Hürde, aber dank Dorita980 machbar. Befehle nimmt er nun auf diesem Umweg an. Ein Mini How to mit Befehlen in einem Script mal anbei:

    PHP-Code:
    <?

    /*//////////////////////////////////////////////////////////////////////////////
    Roomba How to
    --------------------------------------------------------------------------------
    Installation UBUNTU auf VM
    Installation Node.js und NPM
    Installation Dorita980

        Quelle: https://github.com/koalazak/dorita980

        $ git clone https://github.com/koalazak/dorita980.git
        $ cd dorita980
        $ npm install
        
    BLID und Passwort auslesen

        $ npm run getpassword <robotIP>
            
    Installation Rest980 als HTTP-Server für Dorita980

        Quelle: https://github.com/koalazak/rest980

    Start API Server

        $ cd rest980
        $ DEBUG=rest980:* npm start

    /*//////////////////////////////////////////////////////////////////////////////


    // INFOS ///////////////////////////////////////////////////////////////////////

    $State json_decode(file_get_contents("http://192.168.178.226:3000/api/local/info/state"));

    var_dump($State); 

    // Einstellungen ///////////////////////////////////////////////////////////////

    $Preferences json_decode(file_get_contents("http://192.168.178.226:3000/api/local/config/preferences"));

    var_dump($Preferences); 

    /*

    // Aktionen ////////////////////////////////////////////////////////////////////
            
    $Start = json_decode(file_get_contents("http://192.168.178.226:3000/api/local/action/start"));

    var_dump($Start); 

    $Stop = json_decode(file_get_contents("http://192.168.178.226:3000/api/local/action/stop"));

    var_dump($Stop); 

    $Pause = json_decode(file_get_contents("http://192.168.178.226:3000/api/local/action/pause"));

    var_dump($Pause); 

    $Dock = json_decode(file_get_contents("http://192.168.178.226:3000/api/local/action/dock"));

    var_dump($Dock); 

    $Resume = json_decode(file_get_contents("http://192.168.178.226:3000/api/local/action/resume"));

    var_dump($Resume); 


    // MAP (experimentell) /////////////////////////////////////////////////////////

    $Map = "http://192.168.178.226:3000/map";

    */
    Aber:

    Eigentlich ist es ziemlich blöd nur für den Roomba eine VM laufen zu lassen. Mit MQTT hatte ich bislang keinerlei Berührungspunkte, so dass ich da völlig blind bin Mir ist nicht ganz klar, wie ich Topics subscribe, die ich gar nicht kenne. Tests mit Mosquitto und MQTT.fx liefen ins Leere.
    So viel ich verstehe handelt es sich um encryptet MQTT über Port 8883. Meint ihr man bekommt das vielleicht direkt über IPS hin, nachdem in 5.1 nun eine MQTT Beta integriert ist ?

    Hat vielleicht Jemand diesen Ansatz weiter verfolgt ?

    Gruß André
    Geändert von DigiHouse (28.05.19 um 19:45 Uhr)

  2. #2
    Registriert seit
    Aug 2016
    Beiträge
    2,690

    Ich glaube man benötigt dafür TLS.
    TLS kann der MQTT Server aber noch nicht.

    Grüße,
    Kai
    IPS 5.2, auf Tinkerboard und RPI, piVCCU, Homematic & Homematic IP, diverse Tasmota Geräte, Shelly, GHoma, LG HomBot, Sonos, Tvheadend, HomeKit, AppleTV

  3. #3
    Registriert seit
    Nov 2010
    Ort
    Wetterau
    Beiträge
    1,022

    Standard API Steuerung auch mit Roomba 671 möglich?

    Hi.

    Ich hänge mich kurz dran da es bei einem bekannten Online Versandhaus den Roomba 671 mit Appsteuerung heute für 199€ gibt.
    Gibt es aktuelle Erfahrungen ob ich das Teil per IPS starten/stoppen kann, bzw. muss Roomba dazu eine Internetverbindung haben oder kann ich die API lokal/offline ansprechen?

    Natürlich auch die Frage ob die API Logik vom 980er auf den 671er angewendet werden kann?

    Danke & Gruß
    Thorsten
    IPS 5 auf Raspian, KNX, DALI, Homematic, EKM, RGB868 Stripe

  4. #4
    Registriert seit
    Nov 2010
    Ort
    Wetterau
    Beiträge
    1,022

    Hallo.

    Wenn ich die Infos auf "GitHub - koalazak/dorita980: Unofficial iRobot Roomba 900 series 980 / i7 / i7+ node.js library / SDK to control your robot" richtige verstehe, dann geht die Steuerung auch für die 600er Serie und weitere. Aus dem lokalen LAN heraus soll es auch funktionieren ohne mit der Cloud API zu sprechen.

    Klingt also soweit gut .

    Gruß
    Thorsten
    IPS 5 auf Raspian, KNX, DALI, Homematic, EKM, RGB868 Stripe

  5. #5
    Registriert seit
    Nov 2010
    Ort
    Wetterau
    Beiträge
    1,022

    Mein Roomba 671 kam an und kann auch wunderbar mit den Python Skripten von dorita980 gesteuert werden. Jetzt wollte ich mir das mit MQTT.fx anschauen was da geschickt wird.

    Aber irgendwie kann ich mich mit mqtt.fx nicht verbinden .

    Broker: IP vom Roomba
    Port: 8883
    Client-ID: Benutzername Roomba
    Clean Session: aus
    MQTT-Version: 3.1.1 (bin nicht sicher ob das stimmt)
    User Cred: Benutzername und Blid (Passwort)

    Wenn ich ohne SSL versuche klappt es nicht und nutze ich TLSv1.2 klappt es auch nicht.
    Ich habe extra ein self signed Zert. erstellt inkl. CA und es in mqtt.fx eingetragen. Leider ohne Erfolg.
    Das Root-CA Zert habe ich an meinem Rechner im Zertifikatsspeicher auch importiert.
    Leider alles nicht erfolgreich.

    Ich bekomme immer eine mqttException zurück.
    Code:
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    Wüsste nicht was ich noch probieren könnte. Bin vielleicht aber mit den SSL Settings generell auf dem Holzweg.

    Vielleicht hat jemand einen Tipp für mich.

    Danke & Gruß
    Thorsten
    IPS 5 auf Raspian, KNX, DALI, Homematic, EKM, RGB868 Stripe

  6. #6
    Registriert seit
    Nov 2010
    Ort
    Wetterau
    Beiträge
    1,022

    Ich würde das Thema gerne nochmal aufgreifen.

    Irgendwelche Tipps wo ich schauen kann?

    Gruß
    Thorsten
    IPS 5 auf Raspian, KNX, DALI, Homematic, EKM, RGB868 Stripe

Ähnliche Themen

  1. Roomba per MQTT ansteuern
    Von Adrian01 im Forum Skripte, PHP, SQL
    Antworten: 2
    Letzter Beitrag: 30.04.19, 07:12
  2. MQTT Anbindung / oder externe Daten per Push in Symcon bekommen
    Von obstler42 im Forum Skripte, PHP, SQL
    Antworten: 88
    Letzter Beitrag: 27.08.18, 21:59
  3. MQTT - IPS-KS-MQTT - erweitern
    Von Nisbo im Forum Skripte, PHP, SQL
    Antworten: 4
    Letzter Beitrag: 06.08.18, 12:36
  4. Roomba
    Von kronos im Forum Haustechnik
    Antworten: 98
    Letzter Beitrag: 21.06.12, 21:56

Stichworte