S5 Max openHAB2 Integration mit Xiaomi Mi IO Binding

Diskutiere openHAB2 Integration mit Xiaomi Mi IO Binding im Roborock S5 Max Forum im Bereich Roborock; Dann will ich doch mal als "Neuling" erstmal meinen Beitrag für die Community leisten :D Da ich mir momentan ein kleinens SmartHome aufbaue hab...
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #1
O

oscar_

Dabei seit
28.11.2019
Beiträge
7
Likes
2
Dann will ich doch mal als "Neuling" erstmal meinen Beitrag für die Community leisten :D

Da ich mir momentan ein kleinens SmartHome aufbaue hab ich natürlich gleich geschaut ob man
den Roborock S5Max auch mit einbinden kann und was damit möglich ist.

Als erstes benötigt man den Token um mit dem Sauger kommunizieren zu können. Dazu wird eine manipulierte MiHome App benutzt.
Alles weitere kann man hier bei www.loxwiki.eu oder im Spoiler nachlesen. Wichtig ist das man auf jeden Fall eine vorhandene MiHome/Xiaomi Home App deinstalliert

Auslesen des Token für iOS Geräte​

Hinweis
Unter iOS ist der Token in der App mittlerweile verschlüsselt. Das kann man daran erkennen, dass der Token 96 Zeichen lang ist. Ein unverschlüsselter Token ist lediglich 32 Zeichen lang. Viele alte Anleitungen im Netz berücksichtigen diese Verschlüsselung noch nicht! Im Plugin müsst ihr unbedingt einen unverschlüsselten (d. h. 32 Zeichen langen) Token verwenden! Daher empfehle ich Euch nach dieser Anleitung hier vorzugehen.

Zunächst müsst ihr die iOS-App für Euren MiRobot installieren. Die App heisst "Mi Home" und findet sich im AppStore. Eine Anleitung zur Einrichtung der App findet sich hier: Ausprobiert: Xiaomi Mi Roboter-Staubsauger mit App-Bedienung
Jetzt müsst Ihr ein unverschlüsseltes Backup Eures iOS-Gerätes mit iTunes anlegen. Mit dem Backup werden auch die Daten der Mi Home App mitgesichert, aus denen wir den Token dann extrahieren müssen. Nachdem ihr das Backup erzeugt habt, installiert ihr die kostenlose Software iBackup Viewer: iPhone Backup Viewer is a free iPhone backup extractor for Mac and Windows
Startet nun iBackup Viewer und wählt euer iOS Device im Startbildschirm aus. Jetzt geht ihr auf das iCon für "Raw Files" (das Symbol zeigt einen Verzeichnisbaum). Im linken Fenster scrollt ihr Euch runter bis zum Eintrag "AppDomain-com.xiaomi.mihome" und wählt diesen aus. Im rechten Fenster sucht ihr jetzt den Einträge "Documents/17xxxxxxxx_mihome.sqlite" (xxxxxxxx variiert). Ihr könnt dazu per Klick auf das "Name" Feld nach diesem Feld sortieren oder ihr verwendet die Suche oben rechts. Wenn ihr den Eintrag gefunden habt markieren und oben rechts auf "Exportieren" klicken.
Die exportierte Datei schiebt ihr jetzt per Windows Explorer auf Euren LoxBerry (z. B. ins Verzeichnis /opt/loxberry/webfrontend/html/tmp) oder ihr benutzt dazu WinSCP.
Jetzt müsst Ihr Euch per Putty auf dem LoxBerry einloggen. Auf der Kommandozeile müsst ihr nun folgenden Befehl eingeben:

COMMAND miio-extract-tokens /opt/loxberry/webfrontend/html/tmp/17xxxxxxxx_mihome.sqlite

Die Ausgabe sieht wie folgt aus:
[email protected]:~ $ miio-extract-tokens /opt/loxberry/webfrontend/html/tmp/1765602737_mihome.sqlite
INFO:miio.extract_tokens:Reading database from /opt/loxberry/webfrontend/html/tmp/1765602737_mihome.sqlite
INFO:miio.extract_tokens:Reading tokens from Apple DB
Saugi WoZi
Model: rockrobo.vacuum.v1
IP address: 192.168.3.40
Token: 354e6b4f447893562c5675497a354938
MAC: 34:CE:00:EB:71:64

Den Token jetzt per Copy&Paste im Plugin eintragen (unter Putty markiert ihr einfach den Token und er wird automatisch in der Zwischenablage gespeichert).

Auslesen des Token für Android Geräte​

Seit der Verschlüsselung der Mi Settings (und gerade dann wenn auch euer Android-Handy verschlüsselt ist) funktioniert bei mir nur folgende Methode (alle Anleitungen vor Frühsommer 2018 sind unbrauchbar!):
  1. alte Mi Home Version deinstallieren
  2. Mi Account Login-Passwort auf der Mi Homepageseite temporär ändern (zur eigenen Sicherheit)
  3. im Internet nach geänderter MiHome_5.6.10_vevs.apk Datei suchen (Stand: 26.10.2019; beim Download kein Benutzername; die 6 Ziffern dahinter sind das Passwort) und herunterladen
  4. installieren der apk Datei (Installation von Dateien aus unbekannten Quellen muss zugelassen sein am Handy)
  5. Login in der gerade installierten App (Server muss unbedingt der ausgewählt werden, den ihr auch zuvor hattet, sonst werden die Geräte nicht automatisch wieder erscheinen; hattet ihr also zuvor den Server "Mainland China" dann auch jetzt diesen auswählen)
  6. warten bis der Staubsaugerroboter angezeigt wird, auf diesen klicken um diesen einmalig zu initialisieren
  7. dann zurück auf die Xiaomi App Hauptseite zurückgehen und unten rechts auf Profil klicken
  8. dann im Profil auf ´Teilen´ (geteilte Geräte) klicken
  9. dann auf ´Share this device´
  10. in der Zeile unterhalb des Staubsaugerrobotersymbols sieht man dann den Token des Staubsaugers (lange auf Nummer klicken, dann wird sie in den Zwischenspeicher kopiert und ihr könnt sie per E-Mail an euch versenden o.ä.)
  11. geänderte MiHome App wieder deinstallieren
  12. Mi Account Login-Passwort auf der Mi Homepageseite wieder zurückändern
  13. offizielle MiHome App wieder installieren
[/QUOTE]
Wenn man den Token hat gehts in openHAB weiter. Hier muss man nun über das PaperUI das Xiaomi Mi IO Binding unter Add-ons -> Bindings suchen und installieren.
Nun werden in der Inbox ein oder zwei neue Xiaomi Mi Devices angezeigt. Diese aber nicht adden! Sondern wir brauchen nur die angezeigte ID für später da das Binding noch nicht für den S5Max angepasst wurde wird dieser sonst als ein miio:unsupported Gerät angelegt und wir wollen ja eins als miio:vacuum. Das heißt nun wir müssen uns den Staubsauber selber in einer *.things Datei wie folgt anlegen:
Code:
//Roborock S5 Max
Thing miio:vacuum:mine "Roborock S5 Max" [ host="192.168.XXX.XXX", token="4b6171453XXXXXXXXXXXXX3854784c73", deviceId="0FXXXX7A" ]
Host = die IP Adresse eures Saugers
Token=Der mit der geänderten MiHome App ausgelesene Token
DeviceId= ID aus der Inbox[/QUOTE]
Nun geht es weiter mit dem anlegen der *.items Datei
Code:
Group   rr_s5max_gVac               "Xiaomi Robot Vacuum"           <fan>                                                                       
Group   rr_s5max_gVacStat           "Status Details"                <status>        (rr_s5max_gVac)                                             
Group   rr_s5max_gVacCons           "Consumables Usage"             <line-increase> (rr_s5max_gVac)                                             
Group   rr_s5max_gVacDND            "Do Not Disturb Settings"       <moon>          (rr_s5max_gVac)                                             
Group   rr_s5max_gVacHist           "Cleaning History"              <calendar>      (rr_s5max_gVac)                                             
Group   rr_s5max_gVacNetwork        "Network Details"               <network>       (rr_s5max_gVac)                                             

Switch  rr_s5max_alexa              "Max"                                           (rr_s5max_gVac)                         ["Switchable"]    

String  rr_s5max_actionControl      "Vacuum Control"                                (rr_s5max_gVac)                                             {channel="miio:vacuum:mine:actions#control" }
Number  rr_s5max_actionFan          "Vacuum Fan"                                    (rr_s5max_gVac)                                             {channel="miio:vacuum:mine:actions#fan" }
String  rr_s5max_actionCommand      "Vacuum Command"                                                                                            {channel="miio:vacuum:mine:actions#commands" }

Number  rr_s5max_statusBat          "Battery Level [%1.0f%%]"       <battery>       (rr_s5max_gVac,rr_s5max_gVacStat)                           {channel="miio:vacuum:mine:status#battery" }
Number  rr_s5max_statusArea         "Cleaned Area [%1.0fm²]"        <zoom>          (rr_s5max_gVac,rr_s5max_gVacStat)                           {channel="miio:vacuum:mine:status#clean_area" }
Number  rr_s5max_statusTime         "Cleaning Time [%1.0f']"        <time>          (rr_s5max_gVac,rr_s5max_gVacStat)                           {channel="miio:vacuum:mine:status#clean_time" }
String  rr_s5max_statusError        "Error [%s]"                    <error>         (rr_s5max_gVac,rr_s5max_gVacStat)                           {channel="miio:vacuum:mine:status#error_code" }
Number  rr_s5max_statusFanPow       "Fan Power [%1.0f %%]"          <flow>          (rr_s5max_gVacStat)                                         {channel="miio:vacuum:mine:status#fan_power" }
Number  rr_s5max_statusClean        "In Cleaning Status [%1.0f]"    <switch>        (rr_s5max_gVacStat)                                         {channel="miio:vacuum:mine:status#in_cleaning" }
Switch  rr_s5max_statusDND          "DND Activated"                                 (rr_s5max_gVacStat)                                         {channel="miio:vacuum:mine:status#dnd_enabled" }
String  rr_s5max_statusStatus       "Status [%s]"                   <status>        (rr_s5max_gVacStat)                                         {channel="miio:vacuum:mine:status#state"}

Number  rr_s5max_consumableMainT    "Main Brush [%1.0f]"            <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#main_brush_time"}
Number  rr_s5max_consumableMainP    "Main Brush [%1.0f%%]"          <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#main_brush_percent"}
Number  rr_s5max_consumableSideT    "Side Brush [%1.0f]"            <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#side_brush_time"}
Number  rr_s5max_consumableSideP    "Side Brush [%1.0f%%]"          <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#side_brush_percent"}
Number  rr_s5max_consumableFilterT  "Filter Time[%1.0f]"            <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#filter_time" }
Number  rr_s5max_consumableFilterP  "Filter Time[%1.0f%%]"          <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#filter_percent" }
Number  rr_s5max_consumableSensorT  "Sensor [%1.0f]"                <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#sensor_dirt_time"}
Number  rr_s5max_consumableSensorP  "Sensor [%1.0f%%]"              <line-increase> (rr_s5max_gVacCons)                                         {channel="miio:vacuum:mine:consumables#sensor_dirt_percent"}


Switch  rr_s5max_dndFunction        "DND Function"                  <moon>          (rr_s5max_gVacDND)                                          {channel="miio:vacuum:mine:dnd#dnd_function"}
String  rr_s5max_dndStart           "DND Start Time [%s]"           <time>          (rr_s5max_gVacDND)                                          {channel="miio:vacuum:mine:dnd#dnd_start"}
String  rr_s5max_dndEnd             "DND End Time [%s]"             <time-on>       (rr_s5max_gVacDND)                                          {channel="miio:vacuum:mine:dnd#dnd_end"}

Number  rr_s5max_historyArea        "Total Cleaned Area [%1.0fm²]"  <zoom>          (rr_s5max_gVacHist)                                         {channel="miio:vacuum:mine:history#total_clean_area"}
Number  rr_s5max_historyTime        "Total Clean Time [%1.0f']"     <time>          (rr_s5max_gVacHist)                                         {channel="miio:vacuum:mine:history#total_clean_time"}
Number  rr_s5max_historyCount       "Total # Cleanings [%1.0f]"     <office>        (rr_s5max_gVacHist)                                         {channel="miio:vacuum:mine:history#total_clean_count"}

String  rr_s5max_miNetSSID          "Network SSID [%s]"             <network>       (rr_s5max_gVac,rr_s5max_gVacNetwork)                        {channel="miio:vacuum:mine:network#ssid" }
String  rr_s5max_miNetBSSID         "Network BSSID [%s]"            <network>       (rr_s5max_gVac,rr_s5max_gVacNetwork)                        {channel="miio:vacuum:mine:network#bssid" }
Number  rr_s5max_miNetRSSI          "Network RSSI [%1.0f]"          <network>       (rr_s5max_gVac,rr_s5max_gVacNetwork)                        {channel="miio:vacuum:mine:network#rssi" }
Number  rr_s5max_miNetLife          "Uptime [%1.0f]"                <time>          (rr_s5max_gVac,rr_s5max_gVacNetwork)                        {channel="miio:vacuum:mine:network#life" }
Infos
-Es werden nur Standart Icons benutzt.
-Ein Schalter zum starten und stoppen des Staubsaugers per Sprachsteuerung über Alexa mit dem Namen Max ist intigriert (Switch rr_s5max_alexa)
-Item Bezeichung sind auf Englisch und per Sitemap bzw *.map auf Deutsch "übersetzt"[/QUOTE]
Um den Status es Roborock zu übersetzten benutze ich eine *.map
Code:
//Status Mode
Manual Mode=Manuelle Steuerung
Spot Cleaning=Fleckenreinigung
Idel=Untätig
Returning Dock=Rückfahrt zur Station
Charging=Aufladen
Cleaning=Reinigen
Unknown=Status unbekannt
Paused=Pause
Sleeping=Schlummern

vacuum=Reinigen
pause=Pause
spot=Spot
dock=Laden
[/QUOTE]Und dann kommt natürlich der Code für die Sitemap damit man auch was davon sieht :D
Code:
sitemap robo label="My Home - Test environment" 
{

    Frame label="Roborock S5 Max"  
        {
            Switch item=rr_s5max_actionControl label="Modus [MAP(roborock_s5max.map):%s]" mappings=[vacuum="Reinigen", pause="Pause",spot="Spot", dock="Laden"]
            //Switch item=actionFan mappings=[38="Silent", 60="Normal", 77="Power",90="Full", -1="Custom"] // Aint working for S5Max
            Default item=rr_s5max_statusBat          label="Batterie Status [%1.0f%%]" 
            Default item=rr_s5max_statusArea         label="Aktuelle Reinigungsfläche [%1.0f m²]"
            Default item=rr_s5max_statusTime         label="Aktuelle Reinigungsdauer [%1.0f Minuten]"
            
            Text label="Status Details" icon="status"
                {
                    Default item=rr_s5max_statusBat           label="Batterie Status [%1.0f%%]"
                    Default item=rr_s5max_statusStatus        label="Status [MAP(roborock_s5max.map):%s]"        
                    Default item=rr_s5max_statusArea          label="Aktuelle Reinigungsfläche [%1.0f m²]"
                    Default item=rr_s5max_statusTime          label="Aktuelle Reinigungsdauer [%1.0f Minuten]"
                    Default item=rr_s5max_statusError         label="Fehler [%s]"
                    //Default item=statusFanPow        label="Saugleistung [%1.0f %%]"  // Aint working for S5Max
                    Default item=rr_s5max_statusClean         label="In Cleaning Status [%1.0f]"
                    Default item=rr_s5max_statusDND           label="DND aktiviert"  
                }

            Text label="Wartung und Status" icon="line-increase"
                {
                    Default item=rr_s5max_consumableMainP     label="Hauptbürste [%1.0f%%]"
                    Default item=rr_s5max_consumableMainT     label="Hauptbürste austauschen nach [%1.0f/300 Std.]"
                    Default item=rr_s5max_consumableSideP     label="Seitenbürste [%1.0f%%]"
                    Default item=rr_s5max_consumableSideT     label="Seitenbürste austauschen nach [%1.0f/200 Std.]"
                    Default item=rr_s5max_consumableFilterP   label="Filter [%1.0f%%]"
                    Default item=rr_s5max_consumableFilterT   label="Filter austauschen nach [%1.0f/150 Std.]"
                    Default item=rr_s5max_consumableSensorP   label="Sensoren [%1.0f%%]"
                    Default item=rr_s5max_consumableSensorT   label="Sensoren reinigen nach [%1.0f/30 Std.]"
                }
            
            Text label="Do Not Disturb Modus"   icon="moon"
                {
                    Default item=rr_s5max_dndFunction         label="Do Not Disturb"                         
                    Default item=rr_s5max_dndStart            label="DND Beginn [%s]"           
                    Default item=rr_s5max_dndEnd              label="DND Ende [%s]"            

                }
            
            Text label="Reinigunsverlauf"        icon="calendar"
                {
                    Default item=rr_s5max_historyArea         label="Gereinigte Fläche gesamt [%1.0f m²]" 
                    Default item=rr_s5max_historyTime         label="Reinigungszeit gesamt [%1.0f]"
                    Default item=rr_s5max_historyCount        label="Anzahl kompletter Reinigungen [%1.0fx]"

                }
            Text label="Netzerk Details"         icon="network"
                {
                    Default item=rr_s5max_miNetSSID           label="Netzwerk SSID [%s]"    
                    Default item=rr_s5max_miNetBSSID          label="Netzwerk MAC Adresse [%s]"
                    Default item=rr_s5max_miNetRSSI           label="Netzwerk RSSI [%1.0f]"
                    Default item=rr_s5max_miNetLife           label="Online seit [%1.0f]"
                }
            
        }
        

 

}
[/QUOTE]Nun noch zwei Rules damit alles mit Alexa klappt
Code:
//Alexa Rule to start Robo
rule "vacuum on"
when
Item rr_s5max_alexa received command ON
then
rr_s5max_actionControl.sendCommand("vacuum")
end


//Alexa Rule to stop Robo, say twice to return to dock
rule "vacuum off"
when
Item rr_s5max_alexa received command OFF
then
rr_s5max_actionControl.sendCommand("dock")
end
[/QUOTE]
Sooooooooo....
Nun solltet ihr eine Sitemap haben mit einiges an Infos über den Roborock S5Max.
Ihr könnt ihn starten,stoppen und eine Fleckenreinigung durchführen.
Und ihr könnt könnt das ganze über Alexa steuern.

Vllt freut sich ja jemand über die kleine Anleitung :):thumbsup:
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #2
R

Robo-Phil

Dabei seit
07.03.2020
Beiträge
73
Likes
17
Hi Oscar,

ich nutze seit einiger Zeit ebenfalls openHAB (aber eher rudimentär und als Spielerei mit einigen Sensoren, denn in einer Mietswohnung kann man da nicht so viel machen) und wollte nun meinen S5 Max ebenfalls mal in mein openHAB integrieren.

Du hast geschrieben, dass du das Xiaomi Mi IO Binding verwendest. Ist das ein Legacy 1.x-Binding oder wie komme ich daran?
Weil in meinem OpenHAB (2.3.0) gibt es nur das Xiaomi Mi Smart Home Binding zur Auswahl, das aber die Roborocks & Co. laut Beschreibung nicht unterstützt. Oder ich bin blind....

Dafür steht bei der Beschreibung des Mi IO Binding, dass man den Token direkt vom Binding aus der Cloud ziehen lassen kann. Das würde die Workarounds mit der russischen oder "Spezial" MiHome-Version überflüssig machen und diesen Weg würde ich dann am liebsten gehen.

Gruß
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #3
R

Robo-Phil

Dabei seit
07.03.2020
Beiträge
73
Likes
17
Ich habe das Problem gefunden. Es lag an meiner veralteten openHAB Version.
Nachdem ich ein Upgrade auf die 2.5.4 gemacht hatte, sehe ich auch das Binding und kann es installieren. Da sich von der 2.3.0 zur 2.5.4 doch so einiges am Code und den Definitionen geändert hat, hat mich die Upgrade-Aktion aber einen vollen Tag gekostet.:D

Aktuell hänge ich daran, das Token direkt über das Binding zu erhalten, aber da scheint es noch einen Bug zu geben.
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #4
O

oscar_

Dabei seit
28.11.2019
Beiträge
7
Likes
2
sorry hab erst jetzt dein Beitrag gesehen.
Aber hast es ja hinbekommen =)
Hast du in Configuration -> Xiaomi Mi IO Binding über den Edit Button deine Account Daten eingegeben damit er sich den Token aus der Cloud ziehen kann?
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #5
R

Robo-Phil

Dabei seit
07.03.2020
Beiträge
73
Likes
17
Naja, so ganz habe ich es nicht hinbekommen. Das mit dem "Cloud connector" des Bindings funktioniert bei mir nicht.
Ich erhalte immer diese Meldung im Log:
Code:
2020-05-05 08:21:37.606 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
Leider ist der Fehlercode 70016 bisher noch nicht bekannt und es gibt scheinbar nicht viele Leute, die diesen Fehler haben. Bei den meisten war es laut openHAB und Github Board nach einem Neustart behoben oder sie haben den Token auf einem anderen Wege bezogen.

Ich vermute, dass es an den verschiedenen Accounts liegt. Das Binding setzt offenbar einen Xiaomi/MiHome-Account vorraus.
Wenn man sich aber über die Roborock-App registriert (um den S5 Max mit dieser App verwenden zu können) wird aber offenbar eine andere Art von Account erstellt bzw. der Account wird bei einem anderen Service erstellt.

Obwohl ich nämlich registriert bin und mich mit Benutzername und Passwort in der Roborock-App an verschiedenen Geräten einloggen kann, kann ich mich z.B. bei https://account.xiaomi.com nicht einloggen. Das heißt für mich, dass es kein echter Xiaomi (MiHome-) Account ist.

Ich habe mir mal die DNS-Abfragen der Geräte angeschaut:
  • Das openHAB Binding versucht, sich über account.xiaomi.com einzuloggen.
  • Der Roborock S5 Max verbindet sich zu awsde0.fds.api.xiaomi.com
  • Die Roborock-App verbindet sich zu awsde0.fds.api.xiaomi.com und euiot.roborock.com.
Bist du tiefer mit openHAB vertraut? Ggf. würde es bereits funktionieren, den Login-Server im Binding zu ändern, sofern die API bei beiden Services (Xiaomi vs. Roborock) identisch ist. Ich bin leider nicht so tief in der Materie drin, dass ich das Binding modifizieren kann. Ich könnte es höchstens über eine DNS-Umleitung oder so mal versuchen, wenn ich das hinbekomme.

Ich würde auch gerne die Variante der "Token-Gewinnung" über die MiHome-App testen. Aber da ich den Sauger mit der Roborock-App eingerichtet habe (inkl. Statistiken usw.), scheue ich mich etwas vor der Nutzung der anderen App. Irgendwo habe ich gelesen, dass man nicht beide parallel nutzen kann und beim Wechsel alles neu einrichten und initialisieren muss. Hast du da Erfahrung?
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #6
O

oscar_

Dabei seit
28.11.2019
Beiträge
7
Likes
2
Tiefer in der Materie ist relativ .. :D
Was ich aber sagen kann ist das das Binding auf einen Xiaomi Account ausgelegt ist.
Deshalb wird es mit dem Roborock Account nicht gehen. So wie ich das im Thread gelesen habe
wird es auch vorerst dabei bleiben.
Ein Mischbetrieb zwischen den Apps ist leider icht möglich da bei jedem "hinzufügen" ein neuer
Token erstellt wird und somit in der anderen App nicht mehr funktioniert.
Würde dir momentan einfach empfehlen die Xiaomi app zu nutzen. wüsste da jetzt keinen nennenswerten
Unterscheid. Bis auf das die Updates unterschiedlich verteilt werden. Die App an sich nutze ich eh nicht
wirklich da ich alles über OH mache :S:) seit dem letzten Release kannst dir sogar die Karte anzeigen lassen
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #7
R

Robo-Phil

Dabei seit
07.03.2020
Beiträge
73
Likes
17
Kleines Update:

Ich habe mir einen Xiaomi Mi Account angelegt und den Roborock in diesem aktiviert. Bis auf die Zeitpläne wurden alle Einstellungen und Statistiken übernommen. Im openHAB habe ich den Xiaomi cloud connector des Bindings genommen und über diesen das Token auslesen lassen. Wichtig ist (sonst sieht man das Token nirgendwo), dass man das Logging für das Binding vorher auf Debug oder Trace stellt. Dann sieht man das Token im Log.

Mit dem Token das Thing angelegt und es funktioniert.:)
Jetzt geht es an die Feinheiten. Bei den vielen items ist der Aufwand nicht zu verachten. ;)
Ich habe mich an dem Beispiel in der Binding-Doku orientiert. Die map hast du in deinem Beispiel z.B. nicht drin.
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #8
O

oscar_

Dabei seit
28.11.2019
Beiträge
7
Likes
2
super freut mich das es geklappt hat =)

ja mein code basiert ja auf der Binding Doku nur eben "von damals" :D
Wenn ich mal ein bisschen mehr zeit habe aktualisiere ich es :thumbsup:
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #9
A

AnGan

Dabei seit
02.08.2020
Beiträge
8
Likes
1
Hi,

Wir nutzen auch openHAB für diverses Zeug u jetzt soll ein S5 Max da u kommen.

Konnte es aus dem Sitemap Gilt jetzt nicht auf Anhieb erkennen: Könnt ihr aus openHAB den Roboter in einen bestimmten Raum zur Reinigung schicken oder geht nur Komplettreinigung starten?

Vielleicht nutzt ja jemand von Euch die Android oder iOS App und mag (mir) einen Schreenshot senden??

Gruss
AnGan
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #10
K

Kroate2k

Dabei seit
24.07.2020
Beiträge
4
Likes
0
Moin Männer,

gibt es auch ne Möglichkeit den Token aus der RoboRock App zu extrahieren??. Benutze ungern Xiaomi Home.
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #11
D

Dr.Death

Dabei seit
29.07.2020
Beiträge
102
Likes
22
Die Möglichkeit suche ich zur Zeit auch....
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #12
A

AnGan

Dabei seit
02.08.2020
Beiträge
8
Likes
1
gibt es auch ne Möglichkeit den Token aus der RoboRock App zu extrahieren?
Hi,

Wenn du openhab in v2.5 benutzt kannst du deine Zugangsdaten der App eingeben und openhab soll das Token selbst ermitteln. So jedenfalls die Doku u das Feedback in einigen Facebook Gruppen.

Selbst getestet hab ich es bis jetzt noch nicht weil ich erst einen neuen raspberry pi für ein neues System aufsetzen möchte - von daher bin ich gespanntwie es bei dir geklappt hat!
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #13
R

Robo-Phil

Dabei seit
07.03.2020
Beiträge
73
Likes
17
Wenn du openhab in v2.5 benutzt kannst du deine Zugangsdaten der App eingeben und openhab soll das Token selbst ermitteln.
Kann ich bestätigen. Hat bei mir mit Verison 2.5.4 funktioniert. Man muss aber das Loglevel hochdrehen, damit man den Token auch über die Logs erhält und ihn dann manuell bei den Items eintragen kann.
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #14
M

MarMic

Dabei seit
31.10.2020
Beiträge
7
Likes
0
Könnt ihr aus openHAB den Roboter in einen bestimmten Raum zur Reinigung schicken oder geht nur Komplettreinigung starten?
Das würde mich auch interessieren.

Ich nutze derzeit bereits openhab auf dem Raspberry Pi und möchte mir einen Saugroboter von Xiaomi kaufen.

Da es eigentlich ein S6 maxV werden soll, würde es mich interessieren, ob jemand diesen Saugroboter bereits erfolgreich integriert hat.
 
  • openHAB2 Integration mit Xiaomi Mi IO Binding Beitrag #15
A

AnGan

Dabei seit
02.08.2020
Beiträge
8
Likes
1
ich selbst bin leider noch nicht dazu gekommen, da ich erst momentan komplett neu aufsetzen will.

Gruss AnGan
 
Thema:

openHAB2 Integration mit Xiaomi Mi IO Binding

openHAB2 Integration mit Xiaomi Mi IO Binding - Ähnliche Themen

Langlebiger, (selbst-)reparierbarer Saubroboter, ca. 110m², 3 Etagen, Openhab (nice-to-have): Die vielen angebotenen Modelle überfordern mich, daher hoffe ich auf Eure Hilfe und bitte um Empfehlungen. Generell ist mir wichtig, dass der...
Oben