NEWS
[Neuer Adapter] Xiaomi Luftfilter
-
Oman! Ich bin ein Depp!
Also ich hatte den Token einfach aus meinem mihome-air adapter kopiert…aber zwischenzeitlich den Air Purifier resetet! Alter Token hat mit dem mihome-air adapter funktioniert und deswegen bin ich nicht davon ausgegangen, dass ein neuer Token erstellt wurde. Gerade den Token neuausgelesen (war auch ein neuer Token) und mit deinem Adapter (allerdings der "offiziele" und nicht der alternative Branch) probiert und TADA! es läuft
Nochmal vielen Dank für deine Mühe und tut mir Leid wegen meiner Unfähigkeit :lol:
-
Perfekt, kein Problem.
Werden auch alle Werte richtig ausgelesen für dein Modell?
Gesendet von meinem EML-L09 mit Tapatalk
-
Die Werte stimmen, aber:
Temp: wird nur beim Starten des Adapters ausgelesen, danach nicht mehr
Verschmutzung: wird immer mal wieder ausgelesen, allerdings nicht "live"
mode: wird wie die Verschmutzung immer mal wieder ausgelesen
favoritelevel: 100% ist nicht 100% bei mir, stelle ich über die App auf volle Leistung, steht nach Neustart des Adapters im Objekt 114% (aber ist nur eine Kleinigkeit, Turbomodus aktiv), allerdings liest er auch nur beim Start des Adapters das aktuelle Level.
Luftfeuchte: da passt alles, wird soweit ich sehe "live" ausgelesen
Auto und Fav Button: läuft
silent button: läuft
Cool wäre noch, wenn man evtl. die "Filter remaining" integrieren könnte.
Nochmal danke für die Arbeit und den Adapter!
-
Habe ein Update veröffentlicht, einfach wieder über den normalen Github Link abrufen
Fix:
-
Temperatur wurde tatsächlich falsch ausgelesen.
-
Modus, Verschmutzung, Favoritelevel, Luftfeutchte sollte eigentlich alles automatisch ausgelesen werden, die kommen so wie von der Api bereitgestellt.
-
FavoriteLevel Maximalwert ist zwischen Version 2 und 2S unterschiedlich, In der Config muss nun die Version ausgewählt werden
-
Filter Remaining habe ich bereits eingefangen, kommt whrs in der nächsten Version
-
-
Hallo, wie versprochen der neue Adapter zum Xiaomi Luftfilter.
Hierbei werden auch Temperatur, Luftfeuchtigkeit und Luftverschmutzung ausgelesen.
https://github.com/JoJ123/ioBroker.xiaomiairpurifier
Bitte von GitHub installieren und testen.
Ich habe selber nur den Luftfilter 2S.
Somit wäre es gut, wenn auch noch ein paar andere Luftfilter von Xiaomi getestet werden und ich den Adapter gegebenenfalls nochmal anpassen kann. `
Hallo JoJ123,zunächst einmal vielen Dank für den neuen und funktionierenden(!) Adapter für meinen 2S.
Einrichtung und Installation/Inbetriebnahme via Github waren hier kein Problem.
Bzgl. der Sprach-Steuerung via Alexa:
"To control the Air Purifier with the cloud adapter just add the state "manuallevel" to your Cloud Adapter."
Könntest Du diesbzgl. noch ein paar erklärende Worte schreiben, wie genau ich dies einrichte um den 2S entsprechend Deiner Beispiele zu steuern?
Dank im Voraus:
P.S. Gibt es eigentlich einen iobroker-Adapter für den "Xiaomi Smartmi Luftbefeuchter (Vers. 2 – 2018)"?
-
Hallo, wie versprochen der neue Adapter zum Xiaomi Luftfilter.
Hierbei werden auch Temperatur, Luftfeuchtigkeit und Luftverschmutzung ausgelesen.
https://github.com/JoJ123/ioBroker.xiaomiairpurifier
Bitte von GitHub installieren und testen.
Ich habe selber nur den Luftfilter 2S.
Somit wäre es gut, wenn auch noch ein paar andere Luftfilter von Xiaomi getestet werden und ich den Adapter gegebenenfalls nochmal anpassen kann. `
Hallo JoJ123,zunächst einmal vielen Dank für den neuen und funktionierenden(!) Adapter für meinen 2S.
Einrichtung und Installation/Inbetriebnahme via Github waren hier kein Problem.
Bzgl. der Sprach-Steuerung via Alexa:
"To control the Air Purifier with the cloud adapter just add the state "manuallevel" to your Cloud Adapter."
Könntest Du diesbzgl. noch ein paar erklärende Worte schreiben, wie genau ich dies einrichte um den 2S entsprechend Deiner Beispiele zu steuern?
Dank im Voraus:
P.S. Gibt es eigentlich einen iobroker-Adapter für den "Xiaomi Smartmi Luftbefeuchter (Vers. 2 – 2018)"? `
Hast du den Cloud-Adapter installiert? Wenn ja, dann musst du auf "Instanzen -> Cloud (auf den Schraubenschlüssel) ->Smart Geräte -> auf das + -> auf den Ordner "mihome-airpurifier" -> "control" -> "manuellevel" auswählen. Dann vergibst du einen Namen auf den Alexa dann hören soll. Neue Geräte suchen lassen und dann mit "Alexa, stelle 'von dir ausgewählten Namen' auf 50%… hoffe das war von mir verständlich ausgedrückt :mrgreen:
Achja, manchmal "hängt" die Anzeige bei mir beim Cloud-Adapter, also einfach dann die Seite neuladen, falls das neue Objekt nicht hinzugefügt wurde.
-
Hallo, wie versprochen der neue Adapter zum Xiaomi Luftfilter.
Hierbei werden auch Temperatur, Luftfeuchtigkeit und Luftverschmutzung ausgelesen.
https://github.com/JoJ123/ioBroker.xiaomiairpurifier
Bitte von GitHub installieren und testen.
Ich habe selber nur den Luftfilter 2S.
Somit wäre es gut, wenn auch noch ein paar andere Luftfilter von Xiaomi getestet werden und ich den Adapter gegebenenfalls nochmal anpassen kann. `
Hallo JoJ123,zunächst einmal vielen Dank für den neuen und funktionierenden(!) Adapter für meinen 2S.
Einrichtung und Installation/Inbetriebnahme via Github waren hier kein Problem.
Bzgl. der Sprach-Steuerung via Alexa:
"To control the Air Purifier with the cloud adapter just add the state "manuallevel" to your Cloud Adapter."
Könntest Du diesbzgl. noch ein paar erklärende Worte schreiben, wie genau ich dies einrichte um den 2S entsprechend Deiner Beispiele zu steuern?
Dank im Voraus:
P.S. Gibt es eigentlich einen iobroker-Adapter für den "Xiaomi Smartmi Luftbefeuchter (Vers. 2 – 2018)"? `
Hast du den Cloud-Adapter installiert? Wenn ja, dann musst du auf "Instanzen -> Cloud (auf den Schraubenschlüssel) ->Smart Geräte -> auf das + -> auf den Ordner "mihome-airpurifier" -> "control" -> "manuellevel" auswählen. Dann vergibst du einen Namen auf den Alexa dann hören soll. Neue Geräte suchen lassen und dann mit "Alexa, stelle 'von dir ausgewählten Namen' auf 50%… hoffe das war von mir verständlich ausgedrückt :mrgreen:
Achja, manchmal "hängt" die Anzeige bei mir beim Cloud-Adapter, also einfach dann die Seite neuladen, falls das neue Objekt nicht hinzugefügt wurde. ` Perfekt erklärt!
Ich habe mittlerweile noch die Einträge Auto und Night mit in den Cloud-Adapter aufgenommen und kann jetzt alle States steuern.
Gesendet von meinem EML-L09 mit Tapatalk
-
Achja, manchmal "hängt" die Anzeige bei mir beim Cloud-Adapter, also einfach dann die Seite neuladen, falls das neue Objekt nicht hinzugefügt wurde. `
Vielen Dank für die ausführliche Anleitung - genauso hatte ich es probiert. Schließlich läuft der iobroker hier schon eine ganze Weile mit diversen Szenen
Das Problem scheint das obige zu sein: nach der Auswahl von "+" und "manuallevel" erscheint schlicht kein Dialog zur Namenseingabe mehr - die bereits angelegten sind vorhanden, löschen geht auch. Grrr. :roll:
Ein Wechsel des Browsers / F5 / reload etc. bringt auch nichts.
Der Cloud-Adapter läuft hier in der neuesten Version 2.6.2.
Ideen? Vorschläge?
-
Du kannst auch zu dem State manuallevel gehen und dann auf editieren, dann ganz rechts bei raw fügst du den Teil mit "smartName" ein:
Gesendet von meinem EML-L09 mit Tapatalk
-
Du kannst auch zu dem State manuallevel gehen und dann auf editieren, dann ganz rechts bei raw fügst du den Teil mit "smartName" ein:
Gesendet von meinem EML-L09 mit Tapatalk `
Danke für den Tipp. Scheint leider was größeres im Argen zu liegen..Fehler beim Parsen des JSON-Quelltexts error_outlineSyntaxError: Unexpected token L in JSON at position 292
So'n Käse …
Gibts an den Versionen was auszusetzen?
pi@FHEM:~ $ npm -v
4.6.1
pi@FHEM:~ $ node -v
v6.14.1
pi@FHEM:~ $ iobroker admin -v
3.5.10
-
Du kannst auch zu dem State manuallevel gehen und dann auf editieren, dann ganz rechts bei raw fügst du den Teil mit "smartName" ein: `
So back ontopic.Nach einigen Mühen (s.o.) läuft's jetzt.
Hier ist mir nunmehr noch folgendes aufgefallen bzw. folgende Fragen:
a) Bei der Gerätesuche findet Alexa zwei neue Geräte nämlich "Manual Level" und in meinem Fall eines namens "Lufti" <–- Vorschlag meiner Frau 8-)
Beide werden von Alexa als Typ "Sonstige" klassifiziert und bieten neben den Einstellungen, "an" und "aus" auch "min, max, 20 ... 80%".
Allerdings lässt sich der 2S nur via "Lufti" steuern. Wozu dient "Manual Level"?
b) Während "Lufti" auf den Befehl "ein / einschalten" entsprechend reagiert, wird "aus / ausschalten" offenbar mit Einstellung "0% bzw. min." realisiert.
Erwarten würde ich hier eher -> "Power on | off" da, bei "0%" bzw. "min." der Lüfter ja nicht stehen bleibt (dreht sich ja langsam weiter) und das Display eingeschaltet bleibt.
Vermutlich ist entsprechendes Verhalten schon möglich und ich hab's nur nicht gerafft?! :oops:
c) Wie kann ich die anderen o.g. Modi wie "Auto", "Night Mode" wie Alexa realisieren? Ist die Abfrage der Infos via Alexa wie "Luftfeuchte/Temp. etc." möglich?
d) Ist es evtl. geplant den Adapter für den "Xiaomi Smartmi Luftbefeuchter (Vers. 2 – 2018)" zu erweitern?
Vielen Dank und Gruß
-
"Manuel level" wird wohl noch ne Leiche sein, kannst du über Alexa im Smart Home Bereich einfach löschen. Das "Lufti" nicht bei 0 ausgeht ist etwas doof ja, kannst du aber mit einem kleinem script leicht beheben. Evtl. ändert Jo das im Adapter.
Hier das Script:
<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="Jh.[;B/29f_kv|:xb1u!" x="-438" y="113"><field name="OID">mihome-airpurifier.0.control.manuallevel</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="sP%ZPg=Ine]pb@3Pf2~`"><value name="IF0"><block type="logic_compare" id="Nbl1WQ~gVXLt]#gRnmob"><field name="OP">EQ</field> <value name="A"><block type="get_value" id=";[2gN#}[/!wnc)c+GR!P"><field name="ATTR">val</field> <field name="OID">mihome-airpurifier.0.control.manuallevel</field></block></value> <value name="B"><block type="math_number" id="jh?Xv)m!-UC8S[R_o^S1"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id="k*ZpQez@]JE;|9]*?P/Y"><mutation delay_input="false"></mutation> <field name="OID">mihome-airpurifier.0.control.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="LSarLHs(R:QP:zH]IeNN"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block>
Dafür brauchst du einen aktiven Javascript-Adapter, dann gehst du auf "Scripte -> neues Script (ist das Blattpapier) -> wählst "blocky" aus -> neben "Blöcke prüfen" hast du einen Pfeil nach oben, auf den drücken -> den code von oben einfügen und evtl. die objekte anpassen, sollte aber eigentlich schon so funktionieren.
Was aber wichtig ist, du musst unter mihome-airpurifier.0.control.manuallevel auf den Stift gehen und das "%"-Zeichen rauslöschen, anders greift sonst das Script leider nicht.
Für die Temperaturabfrage musst du einfach im Cloud-Adapter ein neues Gerät einfügen und dort dann die Temperatur auswählen…kann wieder sein, dass du Probleme bekommst und die Temperatur erst später hinzugefügt wird, also etwas Geduld. Im Nachhinein kannst du immernoch den "smart namen" ändern. Sobald alles drin ist, sagst du einfach "Alexa, Status "dein neuer smart name"". Wie man das mit dem Smartnamen "Lufti" verbinden kann, weiß ich leider selbst noch nicht. Auch für die Luftfeuchtigkeit hab ich bis jetzt noch keine Idee, evtl. da auch mit einem Script arbeiten.
Für Auto und Night Mode, machst du auch jeweils einen eigenes Smart-Gerät im Cloud-Adapter.
-
a) Vermutlich hast du einfach zweimal den State hinzugefügt. Einfach im Cloud Adapter den einen Eintrag entfernen.
b) Ich hatte es tatsächlich Anfangs so "programmiert", dass sich der Lüfter bei 0% vollständig ausschaltet. Ich werde es am Wochenende nochmal versuchen dafür eine gute Logik zu finden. Das mit dem Display ist mir nie so aufgefallen, da ich es eh auf Auto Off gestellt habe.
c) Die States fügst du auch über den Cloud Adapter hinzu. Zum Beispiel mit dem Namen "Lufti Auto" dann kannst du in Alexa später sagen Schalte Lufti Auto an. Was jedoch nicht funktioniert ist: Schalte Lufti Auto aus, da die Modis Auto Night and so on nur Buttons sind.
d) Ich habe leider keinen Luftbefeuchtert, also kann ich das nicht so einfach integrieren.
Viele Grüße
Gesendet von meinem EML-L09 mit Tapatalk
-
Erst einmal ein großes Danke an den Adapter - super Arbeit! Ich habe den Purifier 2, damit funktioniert er auch ohne Probleme, wenn ich ihn ansteuere. Mein einziges "Problem" ist, dass sich der State nicht ändert, wenn ich das Gerät z. B. manuell einschalte (also wirklich physikalisch den Knopf drücke); dann aktualisiert sich z. B. Power On/Off bei mir nicht, der Wert bleibt auf false.
Starte ich den Adapter neu, ist der State sofort korrekt auf "true".
-
Hi, Sry für die verspätete Antwort. Sehr viel um die Ohren zur Zeit.
Das liegt vermutlich an der Bibliothek miio die ich für den Adapter verwende.
Ich werde dort Mal einen issue dafür anlegen. Der onChange Event für Power wird nicht ausgelöst.
Gesendet von meinem EML-L09 mit Tapatalk
-
Habe ein Update veröffentlicht:
https://github.com/JoJ123/ioBroker.mihome-airpurifier
Bei mir war die Verbindung ab und an immer mal wieder unterbrochen zum Luftfilter, ab jetzt verbindet sich ioBroker automatisch neu mit dem Luftfilter.
-
Klasse!
-
Hallo,
schön dass es nun einen Adapter gibt der auch die Temperatur und die Luftqualität ausliest. Leider gibt es bei mir ein paar Probleme bei der Installation. Wenn ich nach folgender Anleitung vorgehe:
npm install https://github.com/ioBroker/ioBroker.mi … all/master --production
iobroker upload mihome-airpurifier
..bekomme ich ziemlich viele Fehlermeldungen, woran könnte das liegen?
../node_modules/nan/nan_new.h: In function ‘v8::Local NanIntern::To(v8::Handle<v8::integer>) [with T = v8::Int32; v8::Handle <v8::integer>= 8::Local<v8::integer>]’: ../node_modules/nan/nan_new.h:34:64: warning: ‘v8::Local <v8::int32>v8::Value::ToInt32() const’ is deprecated: Use maybe version [-Wdeprecated-eclarations] To<v8::int32>(v8::Handle <v8::integer>i) { return i->ToInt32(); } . . . In file included from ../src/validation.cc:15:0: ../node_modules/nan/nan.h: At global scope: ../node_modules/nan/nan.h:473:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void v8::Isolate::GCEpilogueCallback callback ^~~~~~~~~~~~~~~~~~ . . . gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:285:23) gyp ERR! stack at emitTwo (events.js:126:13) gyp ERR! stack at ChildProcess.emit (events.js:214:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12) gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /opt/iobroker/node_modules/utf-8-validate gyp ERR! node -v v8.11.2 gyp ERR! node-gyp -v v3.6.0 gyp ERR! not ok</v8::integer></v8::int32></v8::int32></v8::integer></v8::integer></v8::integer>
-
Nicht mehr notwendig, der Adapter ist mittlerweile im latest repository von ioBroker integriert
Bitte um Feedback, wenn alles klappt. Dann kann er bald auch ins Stabel Repo
Gesendet von meinem EML-L09 mit Tapatalk
-
Es funktioniert alles wie es soll.