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.

Magst du es übernehmen? Oder jemand anders?
Wenn sich ein Maintainer findet, würde ich es sofort hochoffiziell abgeben ;)

Ansonsten...
Probieren wir crowdsourced QA?
Wer was hat, stellt eine Testversion hier rein die auf der jeweils aktuellen SVN Version basiert und alle Änderungen drin hat.
Eine Anzahl an Forumsteilnehmern testet das dann einige Tage lang und wenn alles funktioniert, bekommt der Post mit dem Anhang ein Like.
Sobald eine Zahl X an Zustimmungen da ist, checke ich das einfach blind ein.

Meinungen?
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

X-Byte

Mir ist klar, dass Du schon länger nach einem kompetenten Kandidaten für die Übernahme suchst.
Leider ist mein Expertenwissen zu Perl, Modulpflege und Repositoryhandling gering, bzw. nicht vorhanden. Ich würde mich daher schwer damit überheben.

Dein Ansatz mit Crowdsourced QA hört sich gut an. Mal sehen, ob damit genug Tester zusammenkommen, die genau dieses "neue" Modell Mi Smart Standing Fan 2 (dmaker.fan.p18) haben und es auch testen können.

Ich hoffe die 72_XiaomiDevice.pm ist die aktuelle SVN Version deines Moduls?

Das hier wäre dann die aktualisierte Version Du darfst diesen Dateianhang nicht ansehen.

t1me2die

Moin Zusammen,

ich habe die aktuelle (21.08.2024 - 20:00Uhr) SVN (https://svn.fhem.de/fhem/trunk/fhem/FHEM/72_XiaomiDevice.pm) um folgendes Gerät erweitert:
* Xiaomi TowerFanV2
-> Produktcode: dmaker.fan.p45

SubType: TowerFanV2

Folgende SET-Befehle habe ich getestet:
  • On / Off
  • angel (30/60/90/120/150)
  • angel_enable (swing/not swing)
  • buzzer (on/off)
  • child_lock (on/off)
  • led (on/off)
  • level (1/2/3/4) -> Natural-Mode (1=Lakeside, 2=Camping, 3=Green, 4=Terrace)
  • level_name (Lakeside/Camping/Green/Terrace)
  • mode (straight/natural/sleep)
  • speed (1...100) -> Fan Speed für den Mode "straight"

Die Anpassungen von X-Byte sind in meinem Code NICHT enthalten!


t1me2die

Moin Zusammen,

ich habe die Version von meinem Post am 22.08.2024 - 20:23Uhr um folgendes Gerät erweitert:
* Xiaomi Mijia Smart Tower Fan 2
-> Produktcode: dmaker.fan.p51

SubType: SmartFanFA2 (orientiert am SmartFanF1, der sehr ähnlich ausschaut)

Die Settings / Specs habe ich von hier entnommen:
https://home.miot-spec.com/spec/xiaomi.fan.p51

Folgende SET-Befehle habe ich getestet:
On / Off
buzzer (on/off)
child_lock (on/off)
led (on/off)
mode (straight/natural)
level (1...100) -> Fan Speed für den Mode "straight"

Bisher noch umgetestet:
angel (30/60/90/120/150)
angel_enable (swing/not swing)


Die Anpassungen von X-Byte sind in diesem Code auch NICHT enthalten!

Markus M.

RC Kandidat, bitte testen.
Neuer Code erst wenn das im SVN ist und dann bitte auch nur immer einer auf einmal ;)
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

t1me2die

Ich habe folgende beide Geräte geprüft:

* xiaomi.fan.p51
* dmaker.fan.p45

Fangen wir mit xiaomi.fan.p51 an:
  • Im Mode = "Natural Wind" gibt es nur Level 1-4 (entspricht level: 25, 50, 75 und 100), kann man drüber diskutieren, ob man das so umsetzen muss.
  • Mode -> Natural wird nicht korrekt ins Reading geschrieben, es erscheint als Reading "sleep"
  • -> Außerdem erschien beim Switch von "Natural Wind" -> "Straight" kurzzeitig "favorit" im Reading, was nach kurzer Zeit neu gelesen wurde und sich zu "straight" geändert hat
  • angle_enable funktioniert, ist bei diesem Model jedoch nur ein horizontaler Swing
  • -> Reading steht immer auf "on", kann vermutlich nicht aus der getData gelesen werden?
  • -> bei set -> off ändert sich dementsprechend das Reading auch nicht auf "off", sondern bleibt auf "on" stehen
  • angle funktioniert, jedoch wird das Reading nicht korrekt aktualisiert, ich vermute selbes Problem wie bei angle_enable

Folgende Set-Attribute gibt es nicht:
  • Move
  • Oscillate_enable
  • tilt
  • tilt_enable
   
Folgendes Set-Attribut habe ich nicht weiter getestet:
  • timed_off

Nun der dmaker.fan.p45:
  • Auch hier ist beim Modewechsel von z.B. "Natural Wind" -> "Sleep Mode" kurz im Reading "favorit" sichtbar, was sich nach einem getData korrekt auf den jeweils gesetzten Mode setzt
  • buzzer funktioniert einwandfrei, jedoch hat es keinerlei Auswirkung -> Softwarebug beim Gerät
  • led funktioniert einwandfrei, hinter der Funktion (in der App heißt der Punkt "Indicators") verbergen sich zwei Funktionalitäten: 1. LED an / aus, 2. Buzzer an / aus
  • Move left / right funktioniert nicht -> Meldung: Usage: move [direction -100..100] [velocity 0..100] [time ms]

Folgendes Set-Attribut habe ich nicht weiter getestet:
  • timed_off

Für's erste funktioniert das für die beiden Geräte aber recht gut.
An einigen Stellen müsste man noch etwas Nachsteuern bzw. testen.
Mit dem bisherigen Stand kann man aber gut "arbeiten".
Sobald ich etwas Zeit finde, schaue ich mal, ob man die ein oder andere Anpassung vornehmen kann, ich würde mich dann hier bei Dir wieder melden.
Danke für das Einpflegen des Codes.

Gruß
Mathze