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

christian.71

Also in der app steht noch 100% bei Filter.

Hier noch das get Data deiner letzten Datei:

2020.09.15 21:42:30.748 3: Toilette: type set_cover not implemented
{
  'result' => [
                'ok'
              ],
  'id' => 4
}

2020.09.15 21:42:37.799 3: Toilette: type set_cover not implemented
{
  'result' => [
                'ok'
              ],
  'id' => 5
}

2020.09.15 21:42:47.214 3: Toilette: type toiletseat_test not implemented
{
  'result' => [
                'idle',
                undef,
                undef,
                27,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef,
                undef
              ],
  'id' => 6
}


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

christian.71

Bei 27° würde es sich ja dann um einen Temperatursensor handeln für die normale Umgebungstemperatur, da ich nirgendswo 27 ° sonst einstellen kann.

Ist es eigentlich normal, dass das Reading buzzer nur reagiert, wenn ich über fhem on oder off schalte, aber sich nicht ändert, wenn ich es über die app ausführe?

Markus M.

Zitat von: christian.71 am 15 September 2020, 22:27:34
Bei 27° würde es sich ja dann um einen Temperatursensor handeln für die normale Umgebungstemperatur, da ich nirgendswo 27 ° sonst einstellen kann.
Genau
ZitatIst es eigentlich normal, dass das Reading buzzer nur reagiert, wenn ich über fhem on oder off schalte, aber sich nicht ändert, wenn ich es über die app ausführe?
Ja, ich hab noch keine Readings implementiert


Mit dem Anhang sollten alle Readings die wir kennen 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

fhem@supergut

Moin,

diesmal bin ich aber richtig :-) Ich habe einen AirPurifier 2H und das Modul eingerichtet.

# $Id: 72_XiaomiDevice.pm 22766 2020-09-13 19:04:13Z moises $$$


Aber als State bekomme ich leider nur:
   
JSON, Digest::MD5, Crypt::CBC and either Crypt::Cipher::AES or Crypt::Rijndael_PP are required!

Die Module sind aber installiert:

root@pi-server:/opt.tmpfs/fhem/FHEM# perl -v

This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi
(with 46 registered patches, see perl -V for more detail)

Copyright 1987-2019, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

root@pi-server:/opt.tmpfs/fhem/FHEM# cpan install Crypt::Cipher::AES Crypt::Rijndael_PP JSON Digest::MD5 Crypt::CBC
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Fri, 18 Sep 2020 14:29:03 GMT
CPAN: Module::CoreList loaded ok (v5.20190522)
Crypt::Cipher::AES is up to date (0.069).
Crypt::Rijndael_PP is up to date (0.05).
JSON is up to date (4.02).
Digest::MD5 is up to date (2.55).
Crypt::CBC is up to date (2.33).


Wie kann ich den Fehler finden? OS ist Ubuntu Focal (20.04) Danke im Voraus

Markus M.

Zitat von: fhem@supergut am 18 September 2020, 18:17:42
root@pi-server:/opt.tmpfs/fhem/FHEM# cpan install Crypt::Cipher::AES Crypt::Rijndael_PP JSON Digest::MD5 Crypt::CBC

Wie kann ich den Fehler finden? OS ist Ubuntu Focal (20.04) Danke im Voraus

Auf der ersten Seite bei "Benötigte Perl Module" steht eigentlich implizit dass du Perl Module nur dann per CPAN installieren sollst, wenn es nichts anderes gibt.
Über den Package Manager libjson-perl, libdigest-md5-perl, libcrypt-cbc-perl, libcrypt-ecb-perl (bei verschlüsseltem Token)
Und mit CPAN dann nur noch Crypt::Cipher::AES oder Crypt::Rijndael_PP
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

fhem@supergut

#2136
Danke. Also aufgeräumt und nun soweit so gut, beim Schalten nun:

2020.09.18 19:51:26 2: buero_air_purifier_2h: connecting
2020.09.18 19:51:26 3: buero_air_purifier_2h: initialized
2020.09.18 19:51:26 5: buero_air_purifier_2h: initSend
2020.09.18 19:51:26 5: buero_air_purifier_2h Send SUCCESS
2020.09.18 19:51:26 5: buero_air_purifier_2h > 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

2020.09.18 19:54:12 4: buero_air_purifier_2h: write {"id":3,"method":"set_power","params":["on"]} (45)
2020.09.18 19:54:12 5: buero_air_purifier_2h: initSend
2020.09.18 19:54:12 5: buero_air_purifier_2h Send SUCCESS
2020.09.18 19:54:12 5: buero_air_purifier_2h > 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
2020.09.18 19:54:12 1: buero_air_purifier_2h: internal error, values missing


defmod buero_air_purifier_2h XiaomiDevice 192.158.178.95 2c6d5a8411586db4531b75fcaf6237bc
attr buero_air_purifier_2h stateFormat pm25 µg/m³ / speed rpm / mode
attr buero_air_purifier_2h subType AirPurifier
attr buero_air_purifier_2h verbose 5


Edit: Ich habe nochmal den Key neu erstellt (Wifi Reset) aktuelle FW des Gerätes ist:

1.4.3_23101

Noch ein Edit: Ich habe mal an der Stelle wo er aussteigt etwas mitgeloggt:

  $crypt = pack('H*', $crypt);
   
  Log3 ($name, 1, "$name: {helper} $hash->{helper}");
  Log3 ($name, 1, "$name: {helper}{sequence} $hash->{helper}{sequence}");
  Log3 ($name, 1, "$name: {helper}{dev} $hash->{helper}{dev}");
  Log3 ($name, 1, "$name: {helper}{id} $hash->{helper}{id}");
  Log3 ($name, 1, "$name: {helper}{token} $hash->{helper}{token}");
 
  if(!defined($hash->{helper}) || !defined($hash->{helper}{sequence}) || !defined($hash->{helper}{dev}) || !defined($hash->{helper}{id}) || !defined($hash->{helper}{token}) )
  {
    RemoveInternalTimer($hash);
    Log3 ($name, 1, "$name: internal error, values missing");
    $hash->{helper}{delay} += 300;
    InternalTimer( gettimeofday() + $hash->{helper}{delay}, "XiaomiDevice_connect", $hash);
    return undef;
  }


sequence, dev und id ist leer?!

2020.09.18 21:52:43 4: buero_air_purifier_2h: write {"id":29,"method":"set_power","params":["on"]} (46)
2020.09.18 21:52:43 5: buero_air_purifier_2h: initSend
2020.09.18 21:52:43 5: buero_air_purifier_2h Send SUCCESS
2020.09.18 21:52:43 5: buero_air_purifier_2h > 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
2020.09.18 21:52:43 1: buero_air_purifier_2h: Crypt::Cipher::AES
2020.09.18 21:52:43 1: buero_air_purifier_2h: {helper} HASH(0x55aa45c5c7a0)
2020.09.18 21:52:43 1: buero_air_purifier_2h: {helper}{sequence}
2020.09.18 21:52:43 1: buero_air_purifier_2h: {helper}{dev}
2020.09.18 21:52:43 1: buero_air_purifier_2h: {helper}{id}
2020.09.18 21:52:43 1: buero_air_purifier_2h: {helper}{token} e6442ba4889e7cfe17175f298e0dc5cf
2020.09.18 21:52:43 1: buero_air_purifier_2h: internal error, values missing



Markus M.

Sicher dass der Token stimmt?
Nach dem Wifi Update nochmal ausgelesen?
FHEM und Gerät sind im selben Netzwerk?
Scheint nicht mal auf das Init Packet zu antworten.
Tauchen irgendwelche Readings auf?
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

fhem@supergut

#2138
Sicher dass der Token stimmt? - Ja
Nach dem Wifi Update nochmal ausgelesen? - Ja
FHEM und Gerät sind im selben Netzwerk? - Ja
Scheint nicht mal auf das Init Packet zu antworten. - Sehe ich auch so.
Tauchen irgendwelche Readings auf? - Nein

Edit: Ich scanne mal die Ports des Airprifiers...

Markus M.

Hmm - ich würde erst mal das Netzwerk prüfen.
Bei nem falschen Token sollte zumindes irgendwas im Log ankommen.
Ping vom FHEM Rechner, wenn das funktioniert mal mit python-miio probieren.
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

fhem@supergut

Netzwerk scheint OK?!

root@pi-server:/opt.tmpfs/fhem/FHEM# miiocli device --ip 192.168.178.95 --token e6442ba4889e7cfe17175f298e0dc5cf info
Model: zhimi.airpurifier.mc2
Hardware version: MW300
Firmware version: 1.4.3_23101
Network: {'localIp': '192.168.178.95', 'mask': '255.255.255.0', 'gw': '192.168.178.1', 'gw_mac': '98:9B:CB:BE:27:57'}
AP: {'rssi': -24, 'ssid': 'SSIDvonMIR', 'bssid': '98:9B:CB:BE:27:5A'}


Nmap scan report for 192.168.178.95
Host is up (0.13s latency).

PORT      STATE         SERVICE VERSION
54321/udp open|filtered bo2k
MAC Address: 5C:E5:0C:B7:B5:BF (Unknown)

Markus M.

Dann bin ich leider erst mal ratlos, eventuell liegt es an den Perl Libs.
Neugestartet hast du alles mal?
Hast du noch andere Devices die du probieren kannst?
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

fhem@supergut

#2142
Alles neu gestartet, das Modul bekommt einfach keine Antwort. Nein, ich habe sonst nichst was mit dem Modul unterstützt würde.

Edit:
Auch auf einem frischen PI nur Basis fhem und nur https://wiki.fhem.de/wiki/Mi_vacuum kein Erfolg, leider.

2020.09.19 08:09:11 3: buero_air_purifier_2h: disconnecting
2020.09.19 08:09:11 2: buero_air_purifier_2h: connecting
2020.09.19 08:09:11 3: buero_air_purifier_2h: initialized
2020.09.19 08:09:11 5: buero_air_purifier_2h: initSend
2020.09.19 08:09:11 5: buero_air_purifier_2h Send SUCCESS
2020.09.19 08:09:11 5: buero_air_purifier_2h > 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff

2020.09.19 08:09:18 4: buero_air_purifier_2h: write {"id":5,"method":"set_power","params":["on"]} (45)
2020.09.19 08:09:18 5: buero_air_purifier_2h: initSend
2020.09.19 08:09:18 5: buero_air_purifier_2h Send SUCCESS
2020.09.19 08:09:18 5: buero_air_purifier_2h > 21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
2020.09.19 08:09:18 1: buero_air_purifier_2h: internal error, values missing

Ganglion

Danke für das tolle Modul. Läuft sehr gut bei mir...

Eine Frage bzw. ein Problem habe ich.
Es gibt die Möglichkeit via "set vaccuum segment XXX" einen bestimmten Raum zu reinigen.
Sende ich z.B. "set vaccuum segment 1" gibt mir der Roborock S5 Max akustisch aus "Zimmerreinigung gestartet". Leider endet diese nach 5 Sekunden. Ich nehme an dass er eine bestimmte Angabe für den Raum benötigt.

Wenn ich es über die mi App als "Zimmereinigung" starte, sagt er das gleiche, reinigt aber auch den Raum.

Gibt es einen Trick um die "ID" der Räume zu erhalten?
Habe schon in der App jedem Raum einen Namen gegeben aber damit geht es auch nicht.

Danke für Eure Hilfe!

Beste Grüße
Christoph

ronny_b

Hallo,

wenn Du Valetudo installiert hast bekommst Du diese mit http://<sauger>/api/segment_names

Ronny