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

Hotbird

Oha, heute und die selbe Frage :-) Ich hab vom S5 auf den S7 gewechselt. Mit Token usw hat alles geklappt allerdings weiß ich bei den Zonen nicht mehr weiter... Ich hatte beim S5 die Zonen mit der FloleVac App herausgefunden ( die Koordinaten ) . Flole unterstützt den S7 aber scheinbar nicht.... Weiß jemand wie ich an die Koordinaten herankomme? Wechsel in FHEM war simpel. Russische MiHome App über Multi-Memu aufm PC installiert und den Token ausgelesen. Musste dann in FHEM nur den DEF ändern ( neue IP und neuer Token ). Verbunden ist er jetzt mit FHEM, allerdings suche ioch mich grade wund wie ich an die Koordinaten der Karte komme :-)

hoppel118

Moin,

wer Probleme hat seine Xiaomi Geräte in einem IoT VLAN zu erreichen und einen Router der iptables beherrscht, findet hier nun die Lösung:

iptables -t nat -A POSTROUTING -s YOUR_FHEMSERVER_IP/32 -d YOUR_DEVICE_IP/32 -p UDP -j MASQUERADE --to-ports 54321

Bei mir läuft das so auf einer UDM-Pro (Unifi Dream Machine).

Die Roborocks bspw. haben dieses Problem über Subnetze hinweg zu kommunizieren nicht. Es gibt aber einige Gerätemodelle für die das der Fall ist. So auch meine beiden Xiaomi Fans:


  • Smartmi DC Pedestal Fan
  • Smartmi Standing Fan 2S

Die Lösung kommt aber nicht von mir persönlich. Ich habe sie in folgendem Github Issue gefunden und dann leicht modifiziert auch dort festgehalten:

https://github.com/rytilahti/python-miio/issues/422#issuecomment-1000574930

Viel Spaß damit und schöne Weihnachten! ;)

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

projectsun

Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

hoppel118

Hi, es gab noch einen Kommentar von syssi bei Github:

https://github.com/rytilahti/python-miio/issues/422#issuecomment-1000694786

ZitatIf this command is added to the docs please remove the /24 subnet. /32 would be correct for a single host and can be omitted in this case.

Habe den Befehl in meinem letzten Post entsprechend angepasst.

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

hoppel118

Moin,

bin gerade am Überlegen einen meiner beiden Ventilatoren ,,Xiaomi Smartmi DC Pedestal Fan" auszutauschen, da er die Verbindung mit meiner neuen WPA2/WPA3 SSID (PMF optional) nicht hält. Mit einer reinen WPA2 SSID funktioniert er tadellos. Will aber jetzt nicht extra für ein Gerät eine eigene SSID bereitstellen. Das kostet Airtime. ;)

Hat hier schon jemand einen ,,Xiaomi Smartmi Standing Fan 3" in Betrieb?

Wie stehen die Chancen das Modell eingebunden zu bekommen, wenn es nicht so sauber funktioniert?

Die Einbindung hätte keine Eile. Will mir nur einen Fehlkauf ersparen. Das Modell ,,Fan 2S" funktioniert nämlich einwandfrei. Hätte aber nichts dagegen direkt das neue Modell zu kaufen, um eine gewisse Updatesicherheit zu haben.

EDIT: Hat sich erledigt. Habe mal die letzten Seiten dieses Threads gelesen. @Dr. Smag hat den Smart Fan 3 angebunden:

https://forum.fhem.de/index.php/topic,73052.msg1170596.html#msg1170596

Ich werde mir direkt das 3. Modell holen. Super!

Wahrscheinlich braucht man mit Markus hier erstmal nicht mehr zu rechnen. Letzter Login war am 11.6.21.

Danke 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

hoppel118

Moin @Dr. Smag

ich habe gerade dein Modul installiert und meinen neuen Xiaomi Fan Gen. 3 eingerichtet.

Das Teil läuft nun in meinem IoT VLAN. Gute Arbeit! TOP!

Der gesamte Inbetriebnahmevorgang war allerdings etwas eigenartig. Nachdem ich das Gerät defined habe, ist erstmal nichts passiert. Dann habe ich festgestellt, dass der SubType auf VacuumCleaner steht und nicht auf SmartFan3. Also kurz umgestellt. Es ist dann aber immer noch nichts passiert. Erst als ich den Ventilator einmal auf SmartFan gestellt habe, wurde das Gerät "eingelesen". Dann wollte ich den ersten Befehl über das FHEM WebUI ausführen, geht nicht, "unsupported" oder so ähnlich, also nochmal auf SmartFan3 umgestellt und nun geht alles.

Ist dieses Verhalten bekannt?

Danke und viele Grüße 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

ulli

Servus!

Ich nutze einen Roborock S7. Er wird als Model "roborock.vacuum.a15" in FHEM gelistet.
Das Model hat einen Wassertank und es wird das Reading water_box_mode auch ausgelesen.

Nun würde ich gerne die Wassermenge über FHEM setzen können.
Aus dem Modul konnte ich lesen, dass das set command prinzipiel integriert ist, aber nur für das Model "roborock.vacuum.s5e" (Modul Perl Zeile 656)

Hat das einen speziellen Grund? Könntet Ihr mein Model noch mit aufnehmen?

Vielen Dank und Grüße,
  Ulli

hoppel118

Hallo in die Runde,

ich habe mir eine Elektro-Heizung "Xiaomi Smartmi Convector Heater 1S" gekauft.

https://www.amazon.de/dp/B08P61VPRC/?smid=AMUN6OW4OKOC5&tag=idealode-aw6-21&linkCode=asn&creative=6742&camp=1638&creativeASIN=B08P61VPRC&ascsubtag=N7XeYiN8CuHGwlOnvzcYUg&th=1&psc=1

Diese möchte ich nun gern einbinden. Da es das Device so noch nicht in diesem Modul gibt, stellt sich mir die Frage, was erforderlich ist, um das Gerät einzubinden?

Welche Informationen muss ich wie liefern bzw. wer kann mich unterstützen, das Gerät in das Modul zu integrieren? Ich habe keine Programmierkenntnisse. ;)

@Dr. Smag Du hast es für den Smart Fan 3 geschafft. Vielleicht kannst du mich in die richtige Richtung schupsen? :D

Wie hoch schätzt du den Aufwand ein?

Wer maintained denn eigentlich dieses Modul, wenn der Hauptentwickler verschwunden ist? Hoffentlich ist ihm nichts passiert! So wie ich das sehe, gab es kein "tschüss".

Hier noch ein list vom Device. Habe ein paar subTypes ausprobiert immer nur "commanderror".

Internals:
   CFGFN     
   DEF        xxx.xxx.xxx.xxx yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
   FD         91
   FUUID      61d773c6-f33f-5dcf-5f32-fb9b531c6d7cd3e6
   NAME       OG_Kabuff_Heizung
   NR         1406
   STATE      ???
   TYPE       XiaomiDevice
   hardware   esp32
   mac        zz:zz:zz:zz:zz:zz
   mcu_firmware 0005
   model      zhimi.heater.zb1
   token      yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
   wifi_firmware ba139e41f
   READINGS:
     2022-01-06 23:57:24   device_firmware 2.1.8
     2022-01-06 23:57:24   device_uptime   0.34
     2022-01-07 00:12:31   error           commanderror
     2022-01-06 23:57:24   wifi_rssi       -60
   helper:
     ConnectionState connected
     crypt      AES
     delay      60
     dev        1839
     id         ca37
     ip         xxx.xxx.xxx.xxx
     last_read  1641510751
     packetid   15
     port       54321
     sequence   1641508628
     token      yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
     packet:
       12         hum_data
       13         air_data
       14         air_data
Attributes:
   subType    AirPurifier


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

masterpete23

Hi,

erstmal danke für das Modul.
Nun habe ich eine Frage.
Ich nutze folgende Steuerung: attr Ferdinand.Steuerung.rG commands {'play' => 'set Ferdinand start','pause' => 'set Ferdinand pause','stop' => 'set Ferdinand charge', }
Nun ist es so, dass bei stop das Gerät in die Ladeschale soll - dies geht nur mit einem doppelten "charge".
Wie löse ich das am "saubersten"(Achtung Wortwitz) ?

Internals:
   DEF        192.168.0.217 xxxxxxxxxxxxxxxxxxx
   FD         25
   FUUID      61dabe65-f33f-53cd-314b-ee72539bb26498e3
   NAME       Ferdinand
   NR         49
   STATE      Sleeping
   TYPE       XiaomiDevice
   hardware   Linux
   mac        xxxxxxxxxxxx
   model      roborock.vacuum.s5
   token      xxxxxxxxxxxxxxxxxxxxxxxxx
   READINGS:
     2022-01-13 12:02:46   app_bom         A.03.0005
     2022-01-13 12:02:46   app_language    en
     2022-01-13 12:02:46   app_location    de
     2022-01-13 12:02:46   app_logserver   awsde0.fds.api.xiaomi.com
     2022-01-13 12:02:46   app_name        custom_A.03.0005_CE
     2022-01-13 12:02:46   app_timezone    Europe/Berlin
     2022-01-13 12:11:11   batteryPercent  71
     2022-01-13 12:11:11   batteryState    ok
     2022-01-13 12:02:46   carpet_high     500
     2022-01-13 12:02:46   carpet_integral 450
     2022-01-13 12:02:46   carpet_low      400
     2022-01-13 12:02:46   carpet_mode     on
     2022-01-13 12:02:46   carpet_stall_time 10
     2022-01-13 12:11:11   cleaning_mode   max
     2022-01-13 12:02:46   consumables_filter 97
     2022-01-13 12:02:46   consumables_main_brush 98
     2022-01-13 12:02:46   consumables_sensors 85
     2022-01-13 12:02:46   consumables_side_brush 97
     2022-01-13 04:02:43   device_firmware 3.5.8_002034
     2022-01-13 12:02:46   device_fw_features 102,103,104,105,111,112,113,114,115,116,117,118,119,122,123,125
     2022-01-13 04:02:43   device_uptime   0.42
     2022-01-13 12:11:11   dnd             off
     2022-01-13 12:02:46   dnd_enabled     on
     2022-01-13 12:02:46   dnd_end         08:00
     2022-01-13 12:02:46   dnd_start       20:00
     2022-01-13 12:11:11   error           none
     2022-01-13 12:11:11   error_code      None
     2022-01-13 12:11:11   fan_power       104
     2022-01-13 12:02:46   history_0       2022-01-13 11:04:01: 30.32m² in 0.52h, not finished
     2022-01-13 12:02:46   history_1       2022-01-12 11:04:00: 0.80m² in 0.01h, not finished
     2022-01-13 12:02:46   history_2       2022-01-11 15:40:36: 3.64m² in 0.05h, finished cleaning
     2022-01-13 12:02:46   history_3       2022-01-11 15:38:37: 0.00m² in 0.02h, not finished
     2022-01-13 12:02:46   history_4       2022-01-11 14:00:03: 31.76m² in 0.67h, not finished
     2022-01-13 12:02:46   history_5       2022-01-11 13:15:10: 17.25m² in 0.36h, not finished
     2022-01-13 12:02:46   history_6       2022-01-11 13:14:27: 0.53m² in 0.01h, not finished
     2022-01-13 12:02:46   history_7       2022-01-11 12:06:26: 2.96m² in 0.10h, finished cleaning
     2022-01-13 12:02:46   history_8       2022-01-11 11:08:20: 7.11m² in 0.26h, finished cleaning
     2022-01-13 12:02:46   history_9       2022-01-11 11:04:01: 0.00m² in 0.01h, not finished
     2022-01-13 12:11:11   in_cleaning     no
     2022-01-13 12:11:11   in_fresh_state  yes
     2022-01-13 12:11:11   in_returning    no
     2022-01-13 12:11:11   lab_status      yes
     2022-01-13 12:11:11   last_clean_area 30.32
     2022-01-13 12:11:11   last_clean_time 0.52
     2022-01-13 12:02:46   last_timestamp  1642068241
     2022-01-13 12:11:11   letzteReinigung 2022-01-13 11:04:01
     2022-01-13 12:11:11   lock_status     off
     2022-01-13 12:11:11   map_present     yes
     2022-01-13 04:02:43   serial_number   R0018S82406226
     2022-01-13 12:11:11   state           Sleeping
     2022-01-13 12:02:46   timer1          on
     2022-01-13 12:02:46   timer1_power    HASH(0x560ada8501b8)
     2022-01-13 12:02:46   timer1_program  start_clean
     2022-01-13 04:02:43   timezone        Europe/Berlin
     2022-01-13 12:02:46   total_clean_area 61374.44
     2022-01-13 12:02:46   total_clean_time 1108.41
     2022-01-13 12:02:46   total_cleans    2705
     2022-01-13 11:02:46   volume          90
     2022-01-13 12:11:11   water_box_status no
     2022-01-13 04:02:43   wifi_auth_fail_count 0
     2022-01-13 04:02:43   wifi_conn_fail_count 0
     2022-01-13 04:02:43   wifi_conn_success_count 1
     2022-01-13 04:02:43   wifi_dhcp_fail_count 0
     2022-01-13 04:02:43   wifi_rssi       -58
     2022-01-13 04:02:43   wifi_state      online
   helper:
     ConnectionState connected
     cleanrecord 10
     crypt      AES
     delay      60
     dev        05c2
     historydays 10
     id         80d5
     ip         192.168.0.217
     last_read  1642072271
     packetid   1703
     port       54321
     sequence   0
     timer1     1535037722033
     timer1_cron 411**1,2,3,4,5
     timers     1
     token      xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
     zone_names kueche,wohnzimmer,flur,kuechealt,wohnzimmeralt,fluralt
     day:
     history:
     packet:
       1700       get_status
       1701       get_status
       1702       get_status
     zones:
       flur       [21197,23781,26997,26881,1]
       fluralt    [24431,21394,28231,24544,1],[22455,21419,25005,23769,1]
       kueche     [21548,27416,25098,29466,1]
       kuechealt  [22804,25820,26204,27070,1],[22831,25557,26081,26057,1],[24769,25041,26069,25541,1]
       wohnzimmer [25281,26983,30681,29483,1],[27048,24610,30648,27010,1]
       wohnzimmeralt [26387,24638,31887,27688,1],[28370,22389,31770,24739,1]
Attributes:
   alexaName  Ferdinand
   event-on-change-reading .*
   genericDeviceType switch
   homebridgeMapping On=state,valueOn=/Cleaning|Paused|Sleeping/,valueOff=/Docked|Charging/,cmdOn=start,cmdOff=charge
RotationSpeed=fan_power,minValue=0,maxValue=90,cmd=fan_power,delay=1
BatteryLevel=batteryLevel,maxValue=100,minValue=0,minStep=1
StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL;;;;low:BATTERY_LEVEL_LOW
ChargingState=state,values=Docked:NOT_CHARGING;;;;Charging:CHARGING;;;;/Cleaning|Returning.to.base/:NOT_CHARGEABLE
OccupancyDetected=state,values=/Docked|Charging/:OCCUPANCY_DETECTED
FilterLifeLevel=consumables_filter,minValue=0,maxValue=100
FilterChangeIndication=consumables_filter,values=0:CHANGE_FILTER
   intervalData 60
   room       Saugroboter
   stateFormat state
   subType    VacuumCleaner
   userReadings letzteReinigung {ReadingsVal("Ferdinand","history_0","")=~ m/\b\d{4}\W\d{2}\W\d{2}\s\d{2}\W\d{2}\W\d{2}\b/;;;; return $&;;;;}
   zone_names kueche:[21548,27416,25098,29466,1] wohnzimmer:[25281,26983,30681,29483,1],[27048,24610,30648,27010,1] flur:[21197,23781,26997,26881,1] kuechealt:[22804,25820,26204,27070,1],[22831,25557,26081,26057,1],[24769,25041,26069,25541,1] wohnzimmeralt:[26387,24638,31887,27688,1],[28370,22389,31770,24739,1] fluralt:[24431,21394,28231,24544,1],[22455,21419,25005,23769,1]


EDIT: Desweiteren hatte ich gerade zum ersten Mal diese Meldung im Log:
2022.01.13 12:02:46 2: Ferdinand: Message type for ID 1680 not found
Kennt sie wer?

hauwech

Hallo zusammen,
erstmal vorweg: Ich habe noch nicht alle 160 Seiten gelesen, ich bin noch bei 2017, vielleicht steht da schon irgendwo eine Lösung, würde mich aber über Hilfe freuen  :)
Wir haben letzte Woche unseren Roborock S7+ bekommen.
- Ich habe ihn auf zwei Handys mit der Roborock App verbunden.
- Firmware laut App: aktuell: 01.13.20, neueste Version: 02.13.98, Update empfohlen, aber noch nicht gemacht.
Wohnung ist kartiert, die Begeisterung groß. Jetzt soll die Begeisterung mit fhem gesteigert werden.
Wie komme ich nun bei diesem Stand am besten an den Token? Mein Kenntnisstand bis jetzt: Alte MiHome-App (habe 4.2.0 installiert) und MiToolkit.
- Sind die Karten/Einstellungen weg, wenn ich ihn mit der MiHome App verbinde?
- Ist die Verbindung mit der Roborock App dann weg?

Danke und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

masterpete23

Zitat von: hauwech am 17 Januar 2022, 10:19:33
Hallo zusammen,
erstmal vorweg: Ich habe noch nicht alle 160 Seiten gelesen, ich bin noch bei 2017, vielleicht steht da schon irgendwo eine Lösung, würde mich aber über Hilfe freuen  :)
Wir haben letzte Woche unseren Roborock S7+ bekommen.
- Ich habe ihn auf zwei Handys mit der Roborock App verbunden.
- Firmware laut App: aktuell: 01.13.20, neueste Version: 02.13.98, Update empfohlen, aber noch nicht gemacht.
Wohnung ist kartiert, die Begeisterung groß. Jetzt soll die Begeisterung mit fhem gesteigert werden.
Wie komme ich nun bei diesem Stand am besten an den Token? Mein Kenntnisstand bis jetzt: Alte MiHome-App (habe 4.2.0 installiert) und MiToolkit.
- Sind die Karten/Einstellungen weg, wenn ich ihn mit der MiHome App verbinde?
- Ist die Verbindung mit der Roborock App dann weg?

Danke und Gruß
Roland

Ich habe mir letzte Woche erst den Token mit der russischen App geholt. (für Roborock S50)
Das schaut auch recht easy aus: https://github.com/Maxmudjon/Get_MiHome_devices_token .
Zu den Karten kann ich nichts sagen da mein S50 eh nicht mehrere speichern kann.

Die Verbindung zur Roborock App war bei mir weiterhin da.


Esjay

Es gibt ein Fhem Modul, mit dem man die Token auslesen kann..Nennt sich xiaomi_tokens und basiert auf PythonBinding.
Zumindest vertrauenserweckender als irgendeine veränderte App aus Russland.

Grüße.

hauwech

Zitat von: Esjay am 17 Januar 2022, 21:38:46
Es gibt ein Fhem Modul, mit dem man die Token auslesen kann..Nennt sich xiaomi_tokens und basiert auf PythonBinding.
Zumindest vertrauenserweckender als irgendeine veränderte App aus Russland.
Danke, das muß ich mir mal anschauen, mit der APK Installation von Russenapps habe ich auch Bauchschmerzen gerade erst gelesen: ist gar keine Handy-App ;D
Wenn die Verbindung zur Roborock App erhalten bleibt, auch wenn man ihn mit MiHome verbindet, werde ich den Weg auch verfolgen. Ich möchte halt vermeiden, daß die Roborock App anschließend leer ist, weil dann die erwachte Begeisterung bei meiner Frau den Bach runtergeht.
Am besten wäre, wenn man der Roborock App den Token entlocken könnte.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Thyraz

Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

hauwech

Zitat von: masterpete23 am 17 Januar 2022, 21:20:33
...
Die Verbindung zur Roborock App war bei mir weiterhin da.

Das ist interessant, das würde bedeuten, daß man den Robbi zur gleichen Zeit mit beiden Apps steuern könnte. Nach meinem bisherigen Kenntnisstand ändert sich der Token, wenn ich den Robbi mit MiHome verbinde. Demzufolge müßte die Roborock App eigentlich raus sein, es sei denn, man lernt ihn mit der Roborock App nochmal neu an, dann ist MiHome wieder raus.
Momentan stelle ich mir den Ablauf so vor:
- Ich verbinde den Robbi mit MiHome (Token ändert sich)
- Lese den Token mit MiToolkit, Backup oder mit der russischen Online-App
- definiere das Fhem device
- Verbinde den Robbi wieder mit der Roborock App (Token ändert sich wieder)
- Frage: geht fhem dann noch?
- mache das empfohlene Firmware Update
Zitat- Firmware laut App: aktuell: 01.13.20, neueste Version: 02.13.98, Update empfohlen, aber noch nicht gemacht.
- steuere den Robbi mit fhem und Roborock App auf zwei Handys (beide mit dem gleichen Roborock account angemeldet)

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS