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

Andy89

Zitat von: zippo2k am 19 April 2020, 14:56:53
   subType    AirPurifier
hey,
im offizielen SVN wird der AirPurifier3H noch nicht unterstützt. Dafür musst du das hier runterladen. Die neuste Version ist von Markus.
Als subtype gibt es dann auch den AirPurifier3H
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

Markus M.

Zitat von: kotaro am 18 April 2020, 18:50:13Sorry, wenn ich nerve, wollte nur fragen, ob da irgendwas geplant ist, hinten übergefallen ist, oder irrelevant wegen Valetudo?
Man könnte ja als reading-Value Original, valetudo oder valetudore nutzen?
Valetudo Einbindung ist nicht geplant.
Wenn du da nur JSON 2 Aufrufe brauchst, solltest du das aber doch auch mit anderen Mitteln hinbekommen?


Zitat von: Andy89 am 19 April 2020, 15:33:43im offizielen SVN wird der AirPurifier3H noch nicht unterstützt.
Bitte mal allgemein testen ob die Version ok ist, dann kann ich das zeitnah ändern ;)
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

Andy89

Zitat von: Markus M. am 18 April 2020, 18:19:38
Todo: Set zwischen den Geräten angleichen und das nutzlose LED on/off Reading rausnehmen ;)

hab das LED-Reading mal angeglichen.
Es funktionert noch alles wie bisher. Im Anhang ist der Patch / das angepasste Skript.

Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

zippo2k

Zitat von: Andy89 am 19 April 2020, 15:33:43
hey,
im offizielen SVN wird der AirPurifier3H noch nicht unterstützt. Dafür musst du das hier runterladen. Die neuste Version ist von Markus.
Als subtype gibt es dann auch den AirPurifier3H


...Hi Andy, die letzte Version hatte ich schon installiert. AP3h habe ich jetzt auch ausgewählt, leider ohne Erfolg.

TWART016

Zitat von: Andy89 am 19 April 2020, 16:56:27
hab das LED-Reading mal angeglichen.
Es funktionert noch alles wie bisher. Im Anhang ist der Patch / das angepasste Skript.

Beste Grüße
Andy
Sieht gut aus. LED hat die Werte bright, dim und off. Macht nicht anstatt "bright" -> "on" Sinn?

scooty

Zitat von: Markus M. am 18 April 2020, 18:19:38
Hier ist eine Kombi eurer neuen Geräte. Bitte testen ob noch alles funktioniert.
Hallo Markus,

vielen Dank, außer zwei Dingen alles OK für den "Evaporation Humidifier":
1)
Bitte noch den set-Befehl "dry" aufnehmen, ist mir wohl im patch irgendwie durchgegangen.
Statt eines neuen patches vielleicht einfacher die Codezeilen
  elsif ($cmd eq 'dry')
  {
    my $packetid = $hash->{helper}{packetid};
    $hash->{helper}{packetid} = $packetid+1;

    $hash->{helper}{packet}{$packetid} = ($arg[0] eq "on") ? 'dry_on' : 'dry_off';
    XiaomiDevice_WriteJSON($hash, '{"id":'.$packetid.',"method":"set_dry","params":["'.$arg[0].'"]}' );
  }

in die "sub XiaomiDevice_Set($$@)" aufnehmen (wohl ab Zeile 1497 deiner in diesem Thread angehängten Version).

2)
Mit "set led bright/dim/off" funktioniert auch etwas nicht, es kommt als Rückmeldung im "error"-Reading immer "invalidarg".
Bin ehrlich gesagt überfragt, woher das rührt....

Vielen Dank nochmals,
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

TWART016

Wegen dem Powerproblem: Bei wir wird immer on angezeigt. Das steht im Log verbose 5:
{
                          'piid' => 2,
                          'siid' => 2,
                          'value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                          'did' => 'power',
                          'code' => 0
                        },


Bei speed lässt sich auch erkennen, dass er aus ist = 0
{
                          'siid' => 10,
                          'piid' => 8,
                          'code' => 0,
                          'value' => 0,
                          'did' => 'motor_speed'
                        },

Andy89

Zitat von: zippo2k am 19 April 2020, 21:58:29
...Hi Andy, die letzte Version hatte ich schon installiert. AP3h habe ich jetzt auch ausgewählt, leider ohne Erfolg.
ist dein Luftreiniger im gleichen Subnetz wie der FHEM Host?
Bei mir ging es anfangs nicht, weil ich über UDP keine Verbindung bekommen habe. Habe dann den Luftreiniger in das Subnetz des FHEM Hosts gepackt und zack ging es.

edit:
Zitat von: TWART016 am 20 April 2020, 02:54:19
Sieht gut aus. LED hat die Werte bright, dim und off. Macht nicht anstatt "bright" -> "on" Sinn?
das habe ich einfach an die bisherig vorhanden angeglichen. Aber wenn das gewünscht ist, können wir das gerne so machen. ich bin da flexibel.
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

Andy89

Zitat von: TWART016 am 20 April 2020, 13:22:46
Wegen dem Powerproblem: Bei wir wird immer on angezeigt. Das steht im Log verbose 5:

Mach mal bitte folgenden Log Eintrag
Log3 $name, 2, "$name: power: ".$json->{result}[0]{value};
vor folgende Code Zeilen(bei mir Zeile 2243 und 2283):
readingsBulkUpdate( $hash, "power", ($json->{result}[0]{value} eq "false" ? 'off' : 'on'), 1 ) if(defined($json->{result}[0]{value}));

In den genanten Zeilen wird Power ausgewertet und in die Readings übertragen. Da muss dann irgendwo der Fehler bei dir passieren.

Bei mir steht als Log-Eintrag dann folgendens:
2020.04.20 17:38:17.707 2: xz_xiaomi_airpurifier3H: power: 0
2020.04.20 17:38:28.532 2: xz_xiaomi_airpurifier3H: power: 1

eventuell müsste die Abfrage dann auch nicht auf "false" sein, sondern auf "0". Ist das vielleicht "sicherer"?

Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

TWART016

Zitat von: Andy89 am 20 April 2020, 17:33:11
ist dein Luftreiniger im gleichen Subnetz wie der FHEM Host?
Bei mir ging es anfangs nicht, weil ich über UDP keine Verbindung bekommen habe. Habe dann den Luftreiniger in das Subnetz des FHEM Hosts gepackt und zack ging es.
Mit einer Unifi Firewall?

Zitat von: Andy89 am 20 April 2020, 17:33:11
edit:das habe ich einfach an die bisherig vorhanden angeglichen. Aber wenn das gewünscht ist, können wir das gerne so machen. ich bin da flexibel.
fände ich sinnvoll. Andere Module wir Wifilight nutzen auch on/off/dim.


Zitat von: Andy89 am 20 April 2020, 17:42:39
Mach mal bitte folgenden Log Eintrag
Log3 $name, 2, "$name: power: ".$json->{result}[0]{value};
vor folgende Code Zeilen(bei mir Zeile 2243 und 2283):
readingsBulkUpdate( $hash, "power", ($json->{result}[0]{value} eq "false" ? 'off' : 'on'), 1 ) if(defined($json->{result}[0]{value}));

In den genanten Zeilen wird Power ausgewertet und in die Readings übertragen. Da muss dann irgendwo der Fehler bei dir passieren.

Bei mir steht als Log-Eintrag dann folgendens:
2020.04.20 17:38:17.707 2: xz_xiaomi_airpurifier3H: power: 0
2020.04.20 17:38:28.532 2: xz_xiaomi_airpurifier3H: power: 1

eventuell müsste die Abfrage dann auch nicht auf "false" sein, sondern auf "0". Ist das vielleicht "sicherer"?
Sobald ich das Gerät einschalte ist power nun 1, davor 0. Das Reading im Device ist aber immer auf on.

                        {
                          'piid' => 2,
                          'siid' => 2,
                          'value' => bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ),
                          'code' => 0,
                          'did' => 'power'
                        },
2020.04.20 21:01:04 2: Xiaomi_AirPurifier3: power: 1


                        {
                          'code' => 0,
                          'value' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
                          'siid' => 2,
                          'did' => 'power',
                          'piid' => 2
                        },
2020.04.20 20:56:04 2: Xiaomi_AirPurifier3: power: 0


Offtopic: @Andy was ist XiaomiMapCreator?


Andy89

Zitat von: TWART016 am 20 April 2020, 21:12:10
Mit einer Unifi Firewall?
ich habe extra versucht alle UDP Pakete durchzulassen, aber irgendwo war da wohl noch im Unifi Controller ein Fehler drin, weil es nicht ging und ich habs dann einfach aufgegeben - fürs erste

Zitat von: TWART016 am 20 April 2020, 21:12:10
fände ich sinnvoll. Andere Module wir Wifilight nutzen auch on/off/dim.
siehe patch / neue Datei ;)

Zitat von: TWART016 am 20 April 2020, 21:12:10
Sobald ich das Gerät einschalte ist power nun 1, davor 0. Das Reading im Device ist aber immer auf on.
ich habe mal die Abfragen auf 0 umgebaut statt false. vielleicht hilft dir das...

Zitat von: TWART016 am 20 April 2020, 21:12:10
Offtopic: @Andy was ist XiaomiMapCreator?
ich habe auf meinem Staubsauger valetudo laufen und im Docker dann "ICantBelieveItsNotValetudo" (https://github.com/Hypfer/ICantBelieveItsNotValetudo)
Das ist quasi ein Service, der die Karte live generiert und sobald der Staubsauger zurück ist, erstell ich ein PNG aus der Map per wget und schick mir das per Telegram. Im Anhang ist dazu ein Bild, wie ich ihn die Küche geschickt habe mit anschließender Spot Reinigung, weil beim Brötchen schneiden Krümmel auf den Boden gefallen sind  ;D

Edit: ich hab zu viel bei power von off auf 0 geändert. Beim Set muss das false bleiben. On/off geht somit gerade nicht. Reparier ich morgen früh. Deswegen nehme ich den Patch und das Skript nochmal raus.
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

hoppel118

Zitat von: Andy89 am 20 April 2020, 23:12:40
ich habe extra versucht alle UDP Pakete durchzulassen, aber irgendwo war da wohl noch im Unifi Controller ein Fehler drin, weil es nicht ging und ich habs dann einfach aufgegeben - fürs erste

Wenn du da jemals eine Lösung findest, teile die hier bitte mit. Ich habe das gleiche Problem mit meinen beiden Xiaomi SmartFans. Ich musste sie in das gleiche VLAN packen in dem sich auch mein FHEM Server befindet. Meinem Roborock S50 war das egal. Der hängt so wie es sein soll, schön brav in meinem IoT-VLAN.

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

Andy89

Zitat von: hoppel118 am 21 April 2020, 00:08:17
Wenn du da jemals eine Lösung findest, teile die hier bitte mit. Ich habe das gleiche Problem mit meinen beiden Xiaomi SmartFans. Ich musste sie in das gleiche VLAN packen in dem sich auch mein FHEM Server befindet. Meinem Roborock S50 war das egal. Der hängt so wie es sein soll, schön brav in meinem IoT-VLAN.
mache ich - aber meine Motivation, sich darum zu kümmern ist sehr gering. ???


ich habe hier den Patch und das Skript angehängt.
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

TWART016

Zitat von: Andy89 am 21 April 2020, 07:46:42
mache ich - aber meine Motivation, sich darum zu kümmern ist sehr gering. ???


ich habe hier den Patch und das Skript angehängt.
Funktioniert bei mir  :)

hoppel118

Zitat von: Andy89 am 21 April 2020, 07:46:42
mache ich - aber meine Motivation, sich darum zu kümmern ist sehr gering. ???

Ok, dann schauen wir mal, ob das irgendwann mal jemand herausfindet... ;)

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