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

Markus M.

Zitat von: tomahawk2015 am 01 Oktober 2017, 12:22:28ich habe das ganze jetzt noch mal parallel auf meiner Zweitumgebung (Raspberry) eingerichtet und da funktioniert es, auch ohne Token,
das wird mir auch (ist gleich dem per App ermittelten) im Log angezeigt. Ich muß noch einmal auf der Erstinstanz forschen woran es liegen
könnte aber damit ist mir jetzt erstmal geholfen.
Vielen Dank für die Hilfe!

Mögliche Ansätze: Die Kommunikation vom Luftreiniger zu FHEM oder die Verschlüsselung.
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

ahlermi

PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Kiter1988

Zitat von: Markus M. am 23 Juni 2017, 00:21:21
Indem du eines der beiden Module (bevorzugt AES) mit CPAN installierst:
sudo cpan Crypt::Cipher::AES

Ich habe diesen Schritt durchgeführt, leider ändert das bei mir nichts. Im "state" steht immer noch dass es benötigt wird.

Markus M.

Zitat von: Kiter1988 am 02 Oktober 2017, 15:05:53
Ich habe diesen Schritt durchgeführt, leider ändert das bei mir nichts. Im "state" steht immer noch dass es benötigt wird.

Hast du das disable Attribut wieder rausgenommen / danach neu gestartet?
Dann wird das Modul von deinem Perl nicht gefunden.
In dem Fall könntest du alternativ Crypt::Rijndael_PP 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

Kiter1988

Zitat von: Markus M. am 02 Oktober 2017, 16:00:36
Hast du das disable Attribut wieder rausgenommen / danach neu gestartet?
Dann wird das Modul von deinem Perl nicht gefunden.
In dem Fall könntest du alternativ Crypt::Rijndael_PP probieren

Es hat sich was getan, allerdings nichts gutes
Ich bekomme die Meldung " Encryption cipher error"

defmod Staubsauger XiaomiDevice IP Token

attr Staubsauger disable 1
attr Staubsauger room 01_Wohnzimmer
attr Staubsauger stateFormat state
attr Staubsauger subType VacuumCleaner

setstate Staubsauger Encryption cipher error

Markus M.

Zitat von: Kiter1988 am 02 Oktober 2017, 16:30:13Es hat sich was getan, allerdings nichts gutes
Ich bekomme die Meldung " Encryption cipher error"

Du hast also mittlerweile auch noch Crypt::ECB installiert und arbeitest mit einem verschlüsselten Token?!
Bitte die Logeinträge die das Modul vom Start an (disable wieder rausnehmen) ausspuckt und danach ein list vom Device, incl. komplettem Token.
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

Kiter1988

Zitat von: Markus M. am 02 Oktober 2017, 17:13:03
Du hast also mittlerweile auch noch Crypt::ECB installiert und arbeitest mit einem verschlüsselten Token?!
Bitte die Logeinträge die das Modul vom Start an (disable wieder rausnehmen) ausspuckt und danach ein list vom Device, incl. komplettem Token.

Ich hab nun mal endlich Zeit gefunden um mich dem Problem anzunehmen. Kurz und knapp.
Der Sauger funktioniert nun mit Fhem, ich hatte alles richtig gemacht.
Es gab Seitens des RPi ein Netzwerkproblem (Verbindung) welches ich heute lösen konnte.
Ich bin ein wenig erleichtert.
Danke für die Hilfe !  ;D


Esjay

Hallo Markus, kurze Frage.

Ich habe bei meinem Staubsauger event on change reading gesetzt, habe allerdings das Gefühl, das teilweise doch events erzeugt werden, ohne das es einen Wechsel gab.
Hier mal ein List.

Internals:
   DEF        xxxxxxxxxxxxxxx xxxxxxxxxxxx
   FD         55
   NAME       Roberta
   NR         160
   STATE      Cleaning
   TYPE       XiaomiDevice
   device_type
   mac        LOCALNETWORK
   model      rockrobo.vacuum
   READINGS:
     2017-10-07 14:43:44   battery         ok
     2017-10-07 14:43:44   batteryLevel    69
     2017-10-07 14:31:03   consumables_filter 74
     2017-10-07 14:31:03   consumables_main_brush 87
     2017-10-07 14:31:03   consumables_sensors 28
     2017-10-07 14:31:03   consumables_side_brush 80
     2017-06-15 17:36:50   device_firmware 3.3.6_003055
     2017-06-15 17:36:50   device_lifetime 1.35
     2017-10-07 14:43:44   dnd             on
     2017-10-07 14:31:03   dnd_enabled     on
     2017-10-07 14:31:03   dnd_end         05:30
     2017-10-07 14:31:03   dnd_start       06:00
     2017-10-07 14:43:44   error           none
     2017-10-07 14:43:44   error_code      None
     2017-10-07 14:43:44   fan_power       90
     2017-10-07 14:31:03   history_0       2017-10-05 19:47:06: 0.00m² in 0.00h, not finished
     2017-10-07 14:31:03   history_1       2017-10-05 19:46:17: 0.00m² in 0.00h, not finished
     2017-10-07 14:31:03   history_2       2017-10-05 19:35:36: 0.00m² in 0.00h, not finished
     2017-10-07 14:31:03   history_3       2017-10-05 17:21:20: 0.00m² in 0.00h, not finished
     2017-10-07 14:31:03   history_4       2017-10-05 16:59:02: 1.37m² in 0.00h, not finished
     2017-10-07 14:31:03   history_5       2017-10-05 09:30:17: 44.31m² in 0.83h, finished cleaning
     2017-10-07 14:31:03   history_6       2017-10-03 11:24:02: 45.69m² in 0.83h, finished cleaning
     2017-10-07 14:31:03   history_7       2017-09-29 15:57:07: 46.05m² in 0.88h, finished cleaning
     2017-10-07 14:31:03   history_8       2017-09-23 14:23:27: 24.99m² in 0.44h, finished cleaning
     2017-10-07 14:31:03   history_9       2017-09-23 10:39:54: 29.56m² in 0.50h, finished cleaning
     2017-10-07 14:43:44   in_cleaning     no
     2017-10-07 14:43:44   last_clean_area 35.98
     2017-10-07 14:43:44   last_clean_time 0.66
     2017-10-07 14:31:03   last_timestamp  1507225626
     2017-10-07 14:43:44   map_present     yes
     2017-10-06 23:31:00   serial_number   1387100331716
     2017-10-07 14:43:44   state           Cleaning
     2017-10-06 23:31:00   timezone        Europe/Berlin
     2017-10-07 14:31:03   total_clean_area 1965.92
     2017-10-07 14:31:03   total_clean_time 38.51
     2017-10-07 14:31:03   total_cleans    56
     2017-10-06 23:31:00   wifi_auth_fail_count 0
     2017-10-06 23:31:00   wifi_conn_fail_count 0
     2017-10-06 23:31:00   wifi_conn_success_count 1
     2017-10-06 23:31:00   wifi_dhcp_fail_count 0
     2017-06-15 17:36:50   wifi_rssi       -54
     2017-10-06 23:31:00   wifi_state      connecting
   helper:
     ConnectionState connected
     cleanrecord 10
     crypt      AES
     dev        xxx
     historydays 4
     id         xxx
     ip         xxxxxxx
     last_read  xxxxxxxxxxx
     packetid   392
     port       54321
     sequence   xxxxxxxxxx
     timers     0
     token      xxxxxxxxxx
     day:
     history:
     packet:
       2          device_info
       252        get_status
       295        get_status
       312        get_status
       335        get_status
       341        get_status
       352        get_status
       42         get_status
       52         device_info
Attributes:
   event-on-change-reading .*
   room       Flur,Home
   subType    VacuumCleaner
   verbose    0


Ich denke an folgenden readings sieht man es ganz gut. Er fährt gerade, und ist schon 0.66 Imin unterwegs.Die Aktualisierung von state kam aber zur selben Zeit.

2017-10-07 14:43:44   last_clean_area 35.98
2017-10-07 14:43:44   last_clean_time 0.66
2017-10-07 14:43:44   state           Cleaning

Ich stelle mir auch gerade die Frage, ob das Reading "in cleaning" nicht eigentlich auf yes stehen müsste.

Grüße

Markus M.

Last... ändert sich auch während einem Reinigungsvorgang.
in cleaning ist nutzlos, keine Ahnung was das eigentlich anzeigen soll. Kommt so aus dem Sauger.
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

Esjay

Zitat von: Markus M. am 07 Oktober 2017, 19:43:50
Last... ändert sich auch während einem Reinigungsvorgang.
in cleaning ist nutzlos, keine Ahnung was das eigentlich anzeigen soll. Kommt so aus dem Sauger.
Last.. macht ja auch Sinn,allerdings sollte doch state kein event bringen während er durch die Gegend fährt!?

Markus M.

Zitat von: Esjay am 08 Oktober 2017, 02:24:52Last.. macht ja auch Sinn,allerdings sollte doch state kein event bringen während er durch die Gegend fährt!?
Kann ich mir mal ansehen. Was kommt denn zwischendrin?
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

Esjay

Zitat von: Markus M. am 08 Oktober 2017, 11:12:55
Kann ich mir mal ansehen. Was kommt denn zwischendrin?

Ok, vll nochmal anders erklärt.
Mein Staubsauger ist heute noch nicht gefahren. Zuletzt ist er gestern Mittag irgendwann gefahren.
Trotzdem wurde heute für das Reading state um 12:50:10 aktualisiert, und ein Event getriggert.

state Docked 2017-10-08 12:50:10


Das führt dazu, das ein Doif von mir getriggert wird. Das macht für mich aber keinen Sinn, da ich event-on-change-reading gesetzt habe.

Ich habe jetzt parallel ein Thema im DOIF unterforum aufgemacht, da habe ich das Ganze nochmal etwas umfangreicher beschrieben.

https://forum.fhem.de/index.php/topic,77718.0.html

Grüße

Edit:
Ich habe irgendwie das Gefühl, das sobald man die Saugstufe einstellt, das reading state ein Event des aktuellen Status ausgibt, es allerdings nicht im Device aktualisiert wird.

Markus M.

Und was stand vorher in state?
Vielleicht disconnected/connected oder Charging?
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

Esjay

Zitat von: Markus M. am 08 Oktober 2017, 13:57:00
Und was stand vorher in state?
Vielleicht disconnected/connected oder Charging?

Das ist es ja!!Dauerhaft der state Cleaning.

Ich werde mal ein LogFile anlegen, welches state mitlogt und dann das Verhalten reproduzieren.

Also er ändert definitiv nicht den state. Ich vermute eher dieses Verhalten


ZitatEdit:
Ich habe irgendwie das Gefühl, das sobald man die Saugstufe einstellt, das reading state ein Event des aktuellen Status ausgibt, es allerdings nicht im Device aktualisiert wird.

Hat sich geklärt.Danke

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