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

OliS.

Zitat von: Markus M. am 15 August 2020, 11:34:52
Hier noch ein Versuch für den 1C mit timed_off
Wenn das funktioniert, sollte der damit komplett sein.

Unsere Antworten hatten sich überschnitten. Mit der letzten Version scheint jetzt alles zu funktionieren. Vielen Dank.

LG
Oli
FHEM in Debian VM auf DS720+, HMLAN und HMUARTLGW, RFXTRX, Conbee II, Homebridge, Alexa
Geräte: Homematic, Tradfri, Shelly, IT, ESA2000, VU+, Denon-AVR, Sonos, Fritz!Box, Harmony Hub, IP-Cams, Roborock, Automower

Markus M.

Die Timer waren noch suboptimal.
Lass die Version hier mal ein paar Tage auf verbose 3 laufen und gib mit Bescheid ob irgendwelche Fehler im Log auftauchen.
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.

Zitat von: scooty am 15 August 2020, 11:29:55
Edit: Während ich schrieb hast Du auch Deinen letzten Beitrag erstellt, ist jetzt mit "dmaker fan" weiterhin der "SmartFan1C" gemeint?

Ja, probier für den P9 mal den Anhang.
Musste schnell gehen, hab mir deinen Patch daher nicht wirklich angeguckt ;)
Sag Bescheid ob das so funktioniert oder ob ich noch was vergessen hab
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

scooty

#2088
Hallo Markus,

Zitat von: Markus M. am 15 August 2020, 11:34:52
P9 sehe ich mir demnächst an.

Herzlichen Dank, hat keine Eile.

Anbei eine aktualisierte Patch-Datei mit dem Versuch, "get data" und die regelmäßigen Status-Updates abzubilden.
Scheint zu funktionieren.
Patch ist basierend auf Deiner letzten Version aus Beitrag #2087.

Viele Grüße,
Andreas

PS: Erste Version der Patch-Datei habe ich aus meinem damaligen Beitrag entfernt.

PPS: Und schon wieder eine Überschneidung, Du bist aber auch schnell  ;).
P9 hat noch ein paar mehr Funktionen, ich teste es aber mal mit Deiner letzten Version.
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

Markus M.

Was fehlt denn noch?
Move left/right und die Winkel sind drin, die Stufen nicht weil Level stufenlos gesetzt werden kann.
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

scooty

Hier alle sets, die in meinem Patch drin sind:
on / off (AirPurifier/Humidifier//TowerFanP9):
   Turn the device on or off
mode (AirPurifier/EvpHumidifier/TowerFanP9):
   Set the device mode
   AirPurifier: auto,silent,favorite
   EvpHumidifier: silent,medium,high,auto
   TowerFanP9: straight,natural,sleep
buzzer (AirPurifier/EvpHumidifier/TowerFanP9)
   Set the buzzer (on,off)
led (AirPurifier/EvpHumidifier/TowerFanP9):
   Set the LED (bright,dim,off)
   TowerFanP9: on,off
child_lock (AirPurifier/EvpHumidifier/TowerFanP9)
   Set the child lock (on,off)
angle_enable (TowerFanP9)
   Set the horizontal swing (on,off)
angle (TowerFanP9)
   Set the horizontal swing angle in degrees
   TowerFanP9: 30,60,90,120,150 degrees
level (TowerFanP9)
   Set the level of fan power
   TowerFanP9: 1,2,3,4
level_speed (TowerFanP9)
   Set the fan speed more granular then "set level"
   TowerFanP9: 1-100
motor_control (TowerFanP9)
   Set direction of the fan manually left or right in steps
   TowerFanP9: none,left,right
timed_off (TowerFanP9)
   Set the power off delay time in minutes (sleep timer)
   TowerFanP9: 0-480 minutes


Ich glaube, die Unterschiede zum 1C / mehr Funktionen beim P9 sind:
mode: straight,natural,sleep
led: Nur on/off
angle: 30,60,90,120,15
level: 1,2,3,4
level_speed: 1-100
motor_control: none,left,right
timed_off: 0-480 minutes


Generell sind auch manche "piid" anders als beim 1C, daher separate Implementierung im Code
z.B. für LED:
P9:
{"did": "led", "siid": 2, "piid": 9}
1C:
{"did": "led", "siid": 2, "piid": 12}

Ich gehe also davon aus, dass es sich lohnt, den Patch anzuschauen.
;)
Aber wie gesagt, keine Eile, bin ab morgen auch ein paar Tage weg...

Vielen Dank und Grüße,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

Markus M.

RC für SmartFan1C und TowerFanP9 im Anhang
Bitte auch testen wenn ihr nur andere Geräte habt
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

OliS.

Zitat von: Markus M. am 16 August 2020, 17:42:23
RC für SmartFan1C und TowerFanP9 im Anhang
Bitte auch testen wenn ihr nur andere Geräte habt

Guten Morgen,
mit der letzten Version und dem Slider lässt sich beim 1C kein Level mehr setzen. Mit den drei Settings "low/medium/high" funktionierte das noch.

LG
Oli
FHEM in Debian VM auf DS720+, HMLAN und HMUARTLGW, RFXTRX, Conbee II, Homebridge, Alexa
Geräte: Homematic, Tradfri, Shelly, IT, ESA2000, VU+, Denon-AVR, Sonos, Fritz!Box, Harmony Hub, IP-Cams, Roborock, Automower

Markus M.

Zitat von: OliS. am 17 August 2020, 07:14:11
Guten Morgen,
mit der letzten Version und dem Slider lässt sich beim 1C kein Level mehr setzen. Mit den drei Settings "low/medium/high" funktionierte das noch.
Sorry, da fehle irgendwie noch was.
Ich hab level nun generell über alle Devices numerisch gelassen.
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

OliS.

Zitat von: Markus M. am 17 August 2020, 18:00:51
Sorry, da fehle irgendwie noch was.
Ich hab level nun generell über alle Devices numerisch gelassen.
Funktioniert, danke.

LG
Oli
FHEM in Debian VM auf DS720+, HMLAN und HMUARTLGW, RFXTRX, Conbee II, Homebridge, Alexa
Geräte: Homematic, Tradfri, Shelly, IT, ESA2000, VU+, Denon-AVR, Sonos, Fritz!Box, Harmony Hub, IP-Cams, Roborock, Automower

scooty

Zitat von: Markus M. am 16 August 2020, 17:42:23
RC für SmartFan1C und TowerFanP9 im Anhang
Bitte auch testen wenn ihr nur andere Geräte habt
Alles schick, keine Probleme, vielen Dank, besonders auch für die schnelle Implementierung!
Getestet mit TowerFanP9 und auch weiteren XiaomiDevices.

Vielleicht möchtest Du dem "set timed_off"-Befehl des TowerFanP9 noch einen slider spendieren?

timed_off:slider,0,1,480Zeile 576 Deiner letzten Version.

Denn numerische Werte größer als 480 (Minuten) setzt er sowieso auf 480.

Die Lösung, "level" nur mit numerischen Werten zu steuern, gefällt mir gut.

Viele Grüße,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

t1me2die

Moin zusammen, leider konnte ich aus dem Wiki nicht ganz genau erkennen, ob alle Xiaomi Saugroboter unterstützt werden?
Aktuell wird das Modell "Xiaomi Robot Mop Pro" ja vermarktet (Herstellernr: XM200022).
Ich gehe mal davon aus, dass auch hier wie gewohnt der Token ausgelesen werden muss und dann sollte der Einbindung mit FHEM nichts im wege stehen?
Hat jemand diesen schon erfolgreich in FHEM eingebunden bzw. verwendet diesen erfolgreich?

Gruß
Mathze

Thyraz

Auf der vorherigen Seite steht, dass er noch nicht unterstützt wird es aber möglich ist (Mit Verweis auf den Home Assistant Quellcode wo er wohl schon implementiert ist).
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

t1me2die

Zitat von: Thyraz am 27 August 2020, 07:53:17
Auf der vorherigen Seite steht, dass er noch nicht unterstützt wird es aber möglich ist (Mit Verweis auf den Home Assistant Quellcode wo er wohl schon implementiert ist).

Alles klar, den Post hatte ich auf Seite 139 nicht gesehen gehabt.
Ich denke ich werde mir Mitte September mal einen Xiaomi Mi Robot Vacuum Mop Pro besorgen und schauen, ob ich an den Token komme und diesen einbinden kann.

Gruß

caldir65

Moin,

ich habe hier zwecks Überwachung einen noch mit originaler FW laufenden Roborok S6 eingebunden. Soweit kann ich auch schön alle Daten sehen, jedoch erscheint im Log in schöner Regelmäßigkeit folgender Eintrag (trotz Verbose 0 im Device):
2020.08.28 17:31:04.511 1: Bob.Roborock, unknown Event batteryPercent: 100
2020.08.28 17:31:04.513 1: Bob.Roborock, unknown Event batteryState: ok


Ist grundsätzlich nicht schlimm, jedoch stört das etwas die Übersichtlichkeit im Log, weil das so oft kommt.

Das Device:
Internals:
   DEF        192.168.1.158 317172344b4741624d52737531624c71
   FD         56
   FUUID      5da357fd-f33f-378b-b448-699343a3e46afdf7
   FVERSION   72_XiaomiDevice.pm:0.223580/2020-07-06
   NAME       Bob.Roborock
   NR         1634
   STATE      Docked
   TYPE       XiaomiDevice
   READINGS:
     2020-08-28 16:56:03   app_bom         A.03.0040
     2020-08-28 16:56:03   app_language    en
     2020-08-28 16:56:04   app_location    de
     2020-08-28 16:56:03   app_logserver   awsde0.fds.api.xiaomi.com
     2020-08-28 16:56:04   app_name        custom_A.03.0040_CE
     2020-08-28 16:56:03   app_timezone    Europe/Berlin
     2020-08-28 17:51:04   batteryPercent  100
     2020-08-28 17:51:04   batteryState    ok
     2020-08-28 16:56:03   carpet_high     500
     2020-08-28 16:56:03   carpet_integral 450
     2020-08-28 16:56:03   carpet_low      400
     2020-08-28 16:56:03   carpet_mode     on
     2020-08-28 16:56:03   carpet_stall_time 10
     2020-08-28 17:51:04   cleaning_mode   max
     2020-08-28 16:56:03   consumables_filter 71
     2020-08-28 16:56:03   consumables_main_brush 85
     2020-08-28 16:56:03   consumables_sensors 65
     2020-08-28 16:56:03   consumables_side_brush 78
     2020-08-27 10:47:57   device_firmware 3.5.8_2076
     2020-08-28 16:56:03   device_fw_features 111,112,113,114,115,116,117,118,119,120,122,123,124,125
     2020-08-27 10:47:57   device_uptime   7.26
     2020-08-28 17:51:04   dnd             off
     2020-08-28 16:56:03   dnd_enabled     on
     2020-08-28 16:56:03   dnd_end         08:00
     2020-08-28 16:56:03   dnd_start       22:00
     2020-08-28 17:51:04   error           none
     2020-08-28 17:51:04   error_code      None
     2020-08-28 17:51:04   fan_power       104
     2020-08-28 16:56:04   history_0       2020-08-25 10:36:18: 7.14m² in 0.12h, finished cleaning
     2020-08-28 16:56:04   history_1       2020-08-25 10:19:42: 11.23m² in 0.27h, finished cleaning
     2020-08-28 16:56:04   history_2       2020-08-23 14:22:49: 11.07m² in 0.21h, finished cleaning
     2020-08-28 16:56:04   history_3       2020-08-21 10:27:09: 11.49m² in 0.19h, finished cleaning
     2020-08-28 16:56:04   history_4       2020-08-18 11:20:03: 6.96m² in 0.11h, finished cleaning
     2020-08-28 16:56:04   history_5       2020-08-18 11:08:19: 11.09m² in 0.18h, finished cleaning
     2020-08-28 16:56:04   history_6       2020-08-17 08:51:10: 11.46m² in 0.23h, finished cleaning
     2020-08-28 16:56:04   history_7       2020-08-02 11:35:21: 11.54m² in 0.20h, finished cleaning
     2020-08-28 16:56:04   history_8       2020-08-02 11:15:53: 10.01m² in 0.29h, finished cleaning
     2020-08-28 16:56:04   history_9       2020-07-25 11:10:12: 11.38m² in 0.20h, finished cleaning
     2020-08-28 17:51:04   in_cleaning     no
     2020-08-28 17:51:04   in_fresh_state  yes
     2020-08-28 17:51:04   in_returning    no
     2020-08-28 17:51:04   lab_status      yes
     2020-08-28 17:51:04   last_clean_area 7.14
     2020-08-28 17:51:04   last_clean_time 0.12
     2020-08-28 16:56:04   last_timestamp  1598344578
     2020-08-28 17:51:04   lock_status     off
     2020-08-28 17:51:04   map_present     yes
     2020-08-28 17:51:04   mop_forbidden_enable no
     2020-08-27 10:47:57   serial_number   R0306S92601139
     2020-08-28 17:51:04   state           Docked
     2020-08-27 10:47:57   timezone        Europe/Berlin
     2020-08-28 16:56:03   total_clean_area 2333.81
     2020-08-28 16:56:03   total_clean_time 41.50
     2020-08-28 16:56:03   total_cleans    203
     2020-08-28 16:56:03   volume          100
     2020-08-28 17:51:04   water_box_status no
     2020-08-27 10:47:57   wifi_auth_fail_count 0
     2020-08-27 10:47:57   wifi_conn_fail_count 0
     2020-08-27 10:47:57   wifi_conn_success_count 1
     2020-08-27 10:47:57   wifi_dhcp_fail_count 0
     2020-08-27 10:47:57   wifi_rssi       -39
     2020-08-27 10:47:57   wifi_state      online
   helper:
     ConnectionState connected
     cleanrecord 10
     crypt      AES
     delay      60
     dev        0f8f
     historydays 10
     id         183a
     ip         192.168.1.158
     last_read  1598629864
     packetid   643
     port       54321
     sequence   1
     timers     0
     token      317172344b4741624d52737531624c71
     day:
     history:
     packet:
       640        get_status
       641        find_me
       642        get_status
Attributes:
   alias      Staubsauger-Roboter "Bob" Roborock S6
   disable    0
   icon       vacuum_top
   room       Flur
   subType    VacuumCleaner
   userReadings last_clean_time_text:last_clean_time.*\ {\ my $seconds=ReadingsNum($name,"last_clean_time",0)*60*60;\ return SecondsToTime($seconds);\ },\ total_clean_time_text:total_clean_time.*\ {\ my $seconds=ReadingsNum($name,"total_clean_time",0)*60*60;\ return SecondsToTime($seconds);\ },\ consumables_filter_h:consumables_filter.*\ {\ my $hours=round((100-ReadingsNum($name,"consumables_filter",0))/100*150,0);\ return $hours."/150h";\ },\ consumables_main_brush_h:consumables_main_brush.*\ {\ my $hours=round((100-ReadingsNum($name,"consumables_main_brush",0))/100*300,0);\ return $hours."/300h";\ },\ consumables_sensors_h:consumables_sensors.*\ {\ my $hours=round((100-ReadingsNum($name,"consumables_sensors",0))/100*30,0);\ return $hours."/30h";\ },\ consumables_side_brush_h:consumables_side_brush.*\ {\ my $hours=round((100-ReadingsNum($name,"consumables_side_brush",0))/100*200,0);\ return $hours."/200h";\ }
   verbose    0


Kann man eigentlich bei einem ungerooteten S6 trotzdem die Raumbezeichner der originalen Map herausbekommen? Dann müsste sich evtl. doch auch eine Reinigung dieser Räume möglich werden über fhem. Oder muß ich dazu tatsächlich das Ding rooten und mit Valetudo betreiben (ist ja jetzt seit einigen Wochen auch mit dem S6 möglich)

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.