Xiaomi WiFi Devices Modul (Vacuum/Airpurifier/Fan) - 72_XiaomiDevice (Support)

Begonnen von Markus M., 11 Juni 2017, 12:48:58

Vorheriges Thema - Nächstes Thema

Marlen

Gibt doch schon die 3600 über FloleVac!

Gesendet von meinem Aquaris U Plus mit Tapatalk


Markus M.

FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Markus M.

FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

isy

Es handelt sich wohl um Beta Versionen.

Jeder muss für sich überlegen,  ob solche Software ausprobiert wird.
Wir testen im professionellen Umfeld  nicht mit Produktivsystemen, sondern nur mit eigens dafür eingerichteten Testsystemen.

Wir können mit unseren Xiaomi's kein Image  Backup machen (ohne root).
Wenn die Beta ein Problem hat, kann man hoffentlich wieder eine gangbare Version zurückladen.

Gruß Helmut
Ein Weg wird erst zu einem Weg, wenn man ihn geht

ronny_b

Ich kämpfe immer noch mit dem cleaning_mode des Roborock. Wenn ich das Modul richtig verstehe, werden beim Rockrobo (V1) folgende Werte im fan_power gesetzt:

quiet: 38
balanced: 60
turbo: 77
max: 90


Beim Roborock dagegen:

quiet: 101
balanced: 102
turbo: 103
max: 104
mop: 105


In Wirklichkeit setzt der cleaning_mode bei meinem Roborock folgende Werte im fan_power:

quiet: 38
balanced: 60
turbo: 75
max: 100
mop: 105


Die Verbindung mit dem mop-Modus und den Werten 101 ... 105 habe ich leider noch nicht durchschaut. Kann das sein, daß sich hier nur der letzte Wert vor Aktivierung des mop-Modus gemerkt wird? Dieser gilt ja immer nur für eine Reinigung.

Leider schlägt die Erkennung des cleaning_mode "turbo" fehl, da auf >75 verglichen wird. Ich habe jetzt im Modul folgende Zeilen angepaßt, damit die Erkennung des cleaning_mode turbo auch funktioniert:

Zeile 2346: my $cleaningmode = ($cleaning_int > 89) ? "max" : ($cleaning_int > 74) ? "turbo" : ($cleaning_int > 40) ? "balanced" : ($cleaning_int > 10) ? "quiet" : "mop";
Zeile 2426: my $cleaningmode = ($cleaning_int > 89) ? "max" : ($cleaning_int > 74) ? "turbo" : ($cleaning_int > 40) ? "balanced" : ($cleaning_int > 10) ? "quiet" : "mop";


Markus, kannst Du Dir das bitte mal anschauen?

Ronny

Markus M.

Zitat von: ronny_b am 08 Dezember 2018, 17:47:10
Markus, kannst Du Dir das bitte mal anschauen?

Ja und nein, ich habe nur den V1.

Da sind es 38, 60, 77, 90.
Beim S50 hat sich das scheinbar zwischendurch schon wieder geändert - werde ich dir einfach glauben.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

ronny_b

Ich habe jetzt nochmal getestet, fan_power wird über die Xiaomi-App wirklich auf Werte von 101 bis 105 gesetzt. Hier scheint im Modul noch ein Fehler zu existieren, diese Werte wurden nie richtig gesetzt. Die Werte der Liste von vorhin hatte ich ausgelesen, nachdem ich den cleaning_mode per FHEM gesetzt habe. Es wurden also über die Xiaomi-App andere Werte gesetzt als über FHEM!

Jetzt wird aber zumindest der cleaning_mode, egal ob ich ihn in der Xiaomi-App setzte (101 bis 105), oder per FHEM (38 bis 100) nach "get data" korrekt angezeigt.

Da Du ja nicht selbst testen kannst, stelle ich mich natürlich gerne als Tester zu Verfügung!

Ronny

ronny_b

So, nächster Versuch. Ich habe die Zeilen wieder getauscht:

elsif ($cmd eq 'cleaning_mode')
  {
    my $packetid = $hash->{helper}{packetid};
    $hash->{helper}{packetid} = $packetid+1;
    $hash->{helper}{packet}{$packetid} = "set_custom_mode";
    if($hash->{model} ne "rockrobo.vacuum.v1") {
      $arg[0] = ($arg[0] eq "quiet") ? "101" : ($arg[0] eq "balanced") ? "102" : ($arg[0] eq "turbo") ? "103" : ($arg[0] eq "max") ? "104" : ($arg[0] eq "mop") ? "105" : "102";
      #$arg[0] = ($arg[0] eq "quiet") ? "38" : ($arg[0] eq "balanced") ? "60" : ($arg[0] eq "turbo") ? "75" : ($arg[0] eq "max") ? "100" : ($arg[0] eq "mop") ? "105" : "60";
    } else {
      $arg[0] = ($arg[0] eq "quiet") ? "38" : ($arg[0] eq "balanced") ? "60" : ($arg[0] eq "turbo") ? "77" : ($arg[0] eq "max") ? "90" : ($arg[0] eq "mop") ? "1" : "60";
    }
    XiaomiDevice_WriteJSON($hash, '{"id":'.$packetid.',"method":"set_custom_mode","params":['.$arg[0].']}' );
  }


Wenn ich den cleaning_mode über die Xiaomi-App setze, wird das fan_power-Reading richtig auf Werte zwischen 101 und 105 gesetzt. Beim Setzen des cleaning_mode per FHEM kommen leider die falschen Werte im fan_power-Reading an.

Jetzt wollte ich versuchen, fan_power direkt zu steuern und habe mal den slider aktiviert:

  elsif( defined($attr{$name}) && defined($attr{$name}{subType}) && $attr{$name}{subType} eq "VacuumCleaner"){
    $list  .=  ' start:noArg stop:noArg pause:noArg spot:noArg charge:noArg locate:noArg dnd_enabled:on,off dnd_start dnd_end move remotecontrol:start,stop,forward,left,right reset_consumable:filter,mainbrush,sidebrush,sensors timezone volume:slider,0,1,100 volume_test:noArg';
    $list  .=  ' carpet_mode:on,off';
    $list  .=  ' sleep:noArg wakeup:noArg';

    $list  .=  ' fan_power:slider,1,1,100' if(defined($hash->{model}) && $hash->{model} eq "rockrobo.vacuum.v1");
    $list  .=  ' fan_power:slider,101,1,105' if(defined($hash->{model}) && $hash->{model} eq "roborock.vacuum.s5");
    $list  .=  ' cleaning_mode:quiet,balanced,turbo,max,mop';


Trotzdem stehen, mit einer Ausnahme, nach der Auswahl die falschen Werte im fan_power-Reading:

ausgewählt  Reading
101          38
102          60
103          75
104         100
105         105


Ich komme nicht dahinter, wodurch die falschen Werte wirklich gesetzt werden und bitte nochmals um Hilfe. Der Mop-Modus funktioniert ja!

Ronny

Markus M.

Wo ist jetzt genau das Problem?
Es ist egal was man setzt. Teilweise vertauscht der Roboter das sogar selbst wieder.
Was da genau steht ist eigentlich völlig egal, sobald du fan_power anfasst, hast du natürlich Werte <= 100
Die Version im Anhang geht demnächst ins Update
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

ronny_b

Ok, Du hast recht. Egal ob da jetzt 38 oder 101 steht, die Xiaomi-App scheint das trotzdem richtig zu erkennen. Dann war doch nur die Abfrage für cleaning_mode turbo falsch. Das paßt ja jetzt, Danke!

Ronny

Markus M.

Zitat von: ronny_b am 09 Dezember 2018, 15:36:50Ok, Du hast recht. Egal ob da jetzt 38 oder 101 steht, die Xiaomi-App scheint das trotzdem richtig zu erkennen. Dann war doch nur die Abfrage für cleaning_mode turbo falsch. Das paßt ja jetzt, Danke!
Stell ihn mal auf irgendwas >100 mit der Xiaomi App und schau nach ein paar Tagen und Reinigungsvorgängen, ob das immer noch so ist oder ob er wieder auf <100 landet.
Das war ein Problem zumindest bei älteren Firmwares.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

hoppel118

#1452
Hallo Leute,

wir wollen uns auch gerade einen Saugroboter kaufen.

Eigentlich schwanke ich zw. dem iRobot 980 und einem Xiaomi, auch wenn die Geräte in völlig unterschiedlichen Preisklassen spielen. Jetzt habe ich mir hier einige Seiten des Threads durchgelesen und anscheinend läuft die Anbindung der Xiaomis an FHEM richtig gut. Fast 100 Seiten und richtig gute Eingangsposts beeindrucken mich auch erstmal! ;) Wenn ich mir im Gegensatz dazu den Roomba Thread durchlese, scheidet der gerade aus. Es gibt bei vielen Usern disconnects/reconnects oder so ähnlich.

Würdet ihr eher zu v1 oder zu v2 tendieren? Funktionieren die beide tadellos in FHEM?

Außerdem ist mir die Integration in Homebridge sehr wichtig. Über Google habe ich aber bereits die entsprechenden Module für die Xiaomis gefunden. Kann dazu nochmal jemand Feedback geben?

Gern auch in folgendem Thread antworten: https://forum.fhem.de/index.php/topic,71739.msg869757.html#msg869757

Danke euch und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

mark79

Ich habe den V1 mit Laser... Der V2 hat zusätzlich zu der Wischfunktion auch eine höhere Steighöhe, als er kommt besser über Hindernisse wie Teppiche oder Stuhlbeine rüber.
Die laufen bei Problemlos mit Fhem.

Ansonsten ist das ganze neue Modell (Xiaowa) mit einem Gyro Sensor auch nicht schlecht, da kann wenigstens nicht der Laser kaputt gehen. :D
Die Lasereinheit fällt bei manchen schon mal aus und ein Ersatzteil kostet ca. 90€.

Die Auflösung ist beim Xiaomi Roborock Xiaowa (E20 und E35) etwas geringer, aber er fährt genau so intelligent. https://www.mydealz.de/deals/xiaomi-roborock-xiaowa-plus-e35-robot-vacuum-black-1222213
Ob man den in Fhem anbinden kann, weiß ich allerdings nicht.

Nur die Youth Edition würde ich nicht kaufen, die fährt nach dem Chaos Prinzip.

Hier findest du noch mehr Input: https://www.roboter-forum.com/index.php?board/130-xiaomi/
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

hoppel118

Danke für die Infos. Es wird auf jeden Fall Xiaomi. Momentan ist noch unklar, ob v1 oder v2. Ich habe aber Tendenzen zum Roborock S50. ;)

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi