Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Xiaomi Smartmi Air Humidifier2

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Xiaomi Smartmi Air Humidifier2

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      ramses @Pittini last edited by

      @pittini
      Nope, leider bisher keine Chance den da rein zu kriegen.
      Zum Glück sind die Dank indiegogo nicht so zickig wie die Xiaomi-Deppen.
      Xiaomi ist absolut Anti-API wie man an der Xiaomi Bedside Lamp 2 merken konnte.
      Ich bin vermutlich einer der 100 glücklichen Idioten die eine Firmware dafür gekriegt haben die eine LAN Steuerung ermöglichen.
      Riesiges, ganz böses Thema. (https://forum.yeelight.com/t/topic/22664/ - Hier wird auf 400 Beiträgen gebettelt Lan-Control wieder anzuschalten).

      Dieses wird nur ein Beispiel sein was uns bei Chinaprodukten-Hersteller bevorsteht. Xiaomi wird ein ganz ganz übles Thema werden.

      Whatever, das war nur Hintergrund-Info, Smartmi wird wohl irgendwie noch eine API öffnen. Und wenn ich se nerven muss bis ich sterbe 🙂
      Hoffe du kannst dann später weitere Unterstützung bieten.

      Zum Air Purifier, hatte bisher mehrere (5) 3H von Xiaomi , die Smartmi Produkte sind um so einiges besser.

      Falls es wen interessiert der P1 reinigt den Raum fast doppelt so schnell wie der Xiaomi Purifier 3H und ist halb so laut dabei. Die Größe ist vermutlich auch 1/3 kleiner.
      Über die Optik rede ich nicht. Ob jemand den hässlichen 3H schön findet überlasse ich jedem selbst. Der P1 ist sehr portabel dank schönem Lederriemen.

      Solange das Projekt auf Indiegogo noch läuft, nerve ich den Hersteller mit API API API 🙂

      1 Reply Last reply Reply Quote 0
      • S
        Stadtschloss @ramses last edited by Stadtschloss

        @ramses Hast du schon eine Lösung gefunden, den P1 einzubinden?

        Hab den Hersteller auch kontaktiert zwecks Api

        R 1 Reply Last reply Reply Quote 0
        • R
          ramses @Stadtschloss last edited by

          @stadtschloss
          Das kannst du vergessen. Du wirst keine API Informationen bekommen. Bin schon seit Wochen dabei Smartmi Infos aus der Nase zu ziehen.

          Ich habe jetzt einfach erst mal die "Minimallösung" genommen. Habe ihn via Alexa Skill eingebunden und kann somit über Iobroker zumindest an und aus steuern.
          Wenn das Gerät auf Automatikmodus steht reicht das eigentlich auch aus.

          Den "Schlafmodus" halte ich für unsinnig (entspricht Stufe 1). Das mag in China mit deren verdreckter Luft vielleicht Sinn machen, aber bei uns ist das Gerät nachts sowieso aus bzw. ruhig wenn die Luft einmal gereinigt ist.
          Ein Pollenallergiker wird zur Pollenzeit wohl kaum nachts die Fenster aufreißen und wer ne Katze hat die Nachts durchs Schlafzimmer fetzt und Staub aufwirbelt hat halt auch Pech gehabt.

          Außer wenn ich mal einen Raucher/Dampfer zu besuch habe lasse ich das Ding im manuellen Modus dauerlaufen, sonst reicht Automatik,

          Interessant ist, dass das Gerät einen ESP32 verbaut hat für die Steuerung und WLAN. Somit sollte er auch mit Tosmato-Firmware laufen und somit wunderbar im vollem Umfang via Sonoff-Adapter steuerbar sein.
          Leider reichen meine Kenntnisse nicht aus um sowas zu erstellen, aber laut Indiegogo-Kommentare, beschäftigt sich schon jemand damit.

          1 Reply Last reply Reply Quote 0
          • H
            hotze78 last edited by hotze78

            Ich scheitere am Versuch einen Xiaomi Smartmi Air Humidifier2 einzubinden. Was ist der aktuellen Stand? Was wird benötigt? Schritt für Schritt.
            Habe Adapter installiert und Instanz manuell erstellt. Für Andere Konsole: "iobroker add ioBroker.mihome-humidifier"
            Schade geschieht dies nicht automatisch. Dies ist mein erstes mal wo ich vor diesem Problem stand und schon einiges aus Git getestet.

            In der verzweiflung ioBroker.miio und iobroker-nodemihome installiert keine möglichkeit gefunden.
            Token mit diesem herausgelesen github.com/Maxmudjon/Get_MiHome_devices_token
            Einstellungen mit Name und IP ergänzt. Bleibt auf Rot ohne Verbindung.
            zhimi.humidifier.ca4
            Region: de
            Node.js v12

            Fehlermeldung: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

            unhandled promise rejection: adapter.objects.getObject is not a function

            TypeError: adapter.objects.getObject is not a function at setNameInstanceAdapter (/opt/iobroker/node_modules/iobroker.mihome-humidifier/main.js:59:21) at main (/opt/iobroker/node_modules/iobroker.mihome-humidifier/main.js:32:5) at Adapter.<anonymous> (/opt/iobroker/node_modules/iobroker.mihome-humidifier/main.js:28:5) at Adapter.emit (events.js:314:20) at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:8606:34
            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @hotze78 last edited by Thomas Braun

              @hotze78

              Etwas OT: Mein Geheimtipp für die Token ist es, den mihome-vacuum Adapter zu nehmen. Der liest alle möglichen Token aus dem mi-Umfeld aus

              H 2 Replies Last reply Reply Quote 0
              • H
                hotze78 @Thomas Braun last edited by hotze78

                @thomas-braun Wie genau? den habe ich schon länger. Damals muste ich den Token noch selber einfügen.

                1 Reply Last reply Reply Quote 0
                • H
                  hotze78 @Thomas Braun last edited by

                  @thomas-braun Hehe. ja, wenn was einfach funktioniert und die Weiterentwiklung nicht bemerkst. COOL! an dessen Coders: Habt ihr toll gemacht!

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @hotze78 last edited by

                    @hotze78
                    Ich glaube mit dem Adapter wirst du aber nicht weiterkommen. Der schaut tot aus.

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      hotze78 @Thomas Braun last edited by

                      @thomas-braun
                      oje. Alternative ioBroker.miio? aber irgendwie kapier ich es da nicht.

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        Pittini Developer @hotze78 last edited by

                        @hotze78 sagte in Xiaomi Smartmi Air Humidifier2:

                        @thomas-braun
                        oje. Alternative ioBroker.miio? aber irgendwie kapier ich es da nicht.

                        Und warum magste mein Skript nicht verwenden?
                        https://github.com/Pittini/iobroker-nodemihome

                        H S 2 Replies Last reply Reply Quote 0
                        • H
                          hotze78 @Pittini last edited by hotze78

                          @pittini
                          Hallo. komme leider nicht weiter mit dem iobroker-nodemihome. Javascript ausgeführt. Dateien in Ordner Kopiert. Zugangsdaten 100% richtig.
                          Gerät erscheint in Objekte... sobald ich einen Wert umstellen will kommt folgendes im Log

                          Error: command error at Object.reject (/opt/iobroker/node_modules/node-mihome/lib/protocol-miio.js:343:19) at MiIOProtocol._onData (/opt/iobroker/node_modules/node-mihome/lib/protocol-miio.js:239:11) at MiIOProtocol._onMessage (/opt/iobroker/node_modules/node-mihome/lib/protocol-miio.js:110:14) at Socket.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/protocol-miio.js:40:12) at Socket.emit (events.js:400:28) at UDP.onMessage (dgram.js:931:8)
                          
                          1 Reply Last reply Reply Quote 0
                          • S
                            Sammyray @Pittini last edited by

                            @pittini said in Xiaomi Smartmi Air Humidifier2:

                            @hotze78 sagte in Xiaomi Smartmi Air Humidifier2:

                            @thomas-braun
                            oje. Alternative ioBroker.miio? aber irgendwie kapier ich es da nicht.

                            Und warum magste mein Skript nicht verwenden?
                            https://github.com/Pittini/iobroker-nodemihome

                            Hi, frohes neues erstmal! 🙂
                            Ich würde gerne dein Skript verwenden, hab auch versucht mich dann die Anleitung zu halten, bekomme aber folgende Fehlermeldung, sobald ich das Skript starte:

                            javascript.0 2022-01-01 19:57:02.943 error at Init (script.js.Xiaomi:830:21)
                            javascript.0 2022-01-01 19:57:02.943 error at MiCloudProtocol.getDevices (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:121:18)
                            javascript.0 2022-01-01 19:57:02.943 error at processTicksAndRejections (internal/process/task_queues.js:95:5)
                            javascript.0 2022-01-01 19:57:02.943 error at MiCloudProtocol.request (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/protocol-micloud.js:107:13)
                            javascript.0 2022-01-01 19:57:02.942 error script.js.Xiaomi: Error: Request error with status Unauthorized
                            javascript.0 2022-01-01 19:57:02.086 info script.js.Xiaomi: Retrieving your in de registered MiHome Devices
                            javascript.0 2022-01-01 19:57:01.167 info script.js.Xiaomi: registered 0 subscriptions and 0 schedules
                            javascript.0 2022-01-01 19:57:01.150 info script.js.Xiaomi: Starting AllMyMi V.0.2.28
                            javascript.0 2022-01-01 19:57:01.058 info Start javascript script.js.Xiaom

                            Was mache ich falsch bzw. was muss ich ändern, damit es läuft? Kenne mich leider mit JS nicht wirklich aus 😞
                            Danke und beste Grüße!
                            Node.js v14.18.2
                            NPM v6.14.15
                            javascript 5.2.13

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Pittini Developer @Sammyray last edited by

                              @sammyray Da können wir beide nix machen, offenbar hat Xiaomi das Anmeldeverfahren geändert, da muß erstmal die node-mihome ein update kriegen. Siehe https://github.com/Pittini/iobroker-nodemihome/issues/56

                              Pittini created this issue in Pittini/iobroker-nodemihome

                              closed Error: Request error with status Unauthorized #56

                              S 1 Reply Last reply Reply Quote 1
                              • S
                                Sammyray @Pittini last edited by

                                @pittini
                                Mist, das ist sehr schade, sah es doch so vielversprechend aus 😧
                                Danke für die schnelle Antwort und dann hoffen wir mal, dass sich noch was tut. Schönen Sonntag noch!

                                1 Reply Last reply Reply Quote 0
                                • C
                                  canim last edited by canim

                                  Hallo @Pittini , vielen dank für deine Arbeit auf jeden fall :)! bin nach deiner Anleitung gegangen, leider werden datenpunkte überhaupt nicht Aktuallisiert =(.

                                  Javascript Adapter node-mihome hinzugefügt, deinen javascript erstellt und gestartet, datenpunkt bzw modell aus dem Objekt ausgelesen und dann die entsprechende
                                  folgender script "zhimi.airpurifier.mb3.js" in den ziel ordner " /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/ " kopiert und Javascript Adapter neugestartet. Das einzige was ich an Fehlermeldung erhalten , ist

                                  22:44:33.307	info	javascript.0 (31314) Stop script script.js.common.Luftreiniger_H3
                                  22:44:33.322	info	javascript.0 (31314) Start javascript script.js.common.Luftreiniger_H3
                                  22:44:33.329	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Starting AllMyMi V.0.2.29
                                  22:44:33.332	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: registered 0 subscriptions and 0 schedules
                                  22:44:33.333	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: You are already logged in, login canceled
                                  22:44:33.333	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Retrieving your in de registered MiHome Devices
                                  22:44:33.483	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Found 4 MiHome Devices, those are:
                                  22:44:33.484	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Luftreiniger
                                  22:44:33.485	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Küchen Led
                                  22:44:33.485	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Schlafzimmer lampe
                                  22:44:33.486	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Yakışıklı
                                  22:44:33.486	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Now searching for supported Devices...
                                  22:44:33.487	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Device Luftreiniger is supported, creating DataPoints if necessary
                                  22:44:33.487	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Device Küchen Led is supported, creating DataPoints if necessary
                                  22:44:33.488	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Device Schlafzimmer lampe is supported, creating DataPoints if necessary
                                  22:44:34.229	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Now creating device for zhimi.airpurifier.mb3 / 334775556 / 192.gelöscht / token gelöscht :) / 10000
                                  22:44:34.230	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"334775556","address":"192.gelöscht","token":"gelöscht :)","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["air-purifier:fault","air-purifier:on","air-purifier:fan-level","air-purifier:mode","environment:pm2.5-density","environment:relative-humidity","environment:temperature","filter:filter-life-level","filter:filter-used-time","alarm:alarm","indicator-light:brightness","indicator-light:on","motor-speed:motor-speed","motor-speed:motor-set-speed","motor-speed:favorite-fan-level","use-time:use-time","physical-controls-locked:physical-controls-locked"],"_miotSpec":null,"_miotSpecType":"urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-mb3:2","model":"zhimi.airpurifier.mb3","setter":{},"definition":{"info":[{"id":"localip","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Ip Adress","type":"string","role":"value","def":""}},{"id":"token","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Token","type":"string","role":"value","def":""}},{"id":"did","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Device Id","type":"string","role":"value","def":""}},{"id":"model","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Model","type":"string","role":"value","def":""}},{"id":"rssi","initial":0,"forceCreation":false,"common":{"read":true,"write":false,"name":"rssi","type":"number","role":"value.rssi","def":0}},{"id":"name","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Name","type":"string","role":"value","def":""}},{"id":"isOnline","initial":false,"forceCreation":false,"common":{"read":true,"write":true,"name":"Is online","type":"boolean","role":"value","def":false}}],"model":"zhimi.airpurifier.mb3","description":"Purifier 3H","setter":{},"common":[{"name":"air-purifier.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"air-purifier.fault","type":"number","read":true,"write":false,"min":0,"max":5,"states":{"0":"No faults","1":"m1_run","2":"m1_stuck","3":"no_sensor","4":"error_hum","5":"error_temp","6":"timer_error1","7":"timer_error2"},"role":"state"},{"name":"air-purifier.mode","type":"number","read":true,"write":true,"min":0,"max":3,"states":{"0":"auto","1":"sleep","2":"favorite","3":"fanset"},"role":"state"},{"name":"air-purifier.fan-level","type":"number","read":true,"write":true,"min":1,"max":3,"role":"state"},{"name":"alarm.alarm","type":"boolean","read":true,"write":true,"role":"state"},{"name":"indicator-light.brightness","type":"number","read":true,"write":true,"min":0,"max":2,"role":"state"},{"name":"indicator-light.on","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"environment.temperature","type":"number","role":"value.temperature","read":true,"write":false,"min":-40,"max":125,"unit":"°C"},{"name":"motor-speed.motor-speed","type":"number","read":true,"write":false,"min":0,"max":3000,"unit":"rpm","role":"state"},{"name":"motor-speed.motor-set-speed","type":"number","read":true,"write":false,"min":0,"max":3000,"unit":"rpm","role":"state"},{"name":"motor-speed.favorite-fan-level","type":"number","read":true,"write":true,"min":0,"max":14,"role":"state"},{"name":"use-time.use-time","type":"number","read":true,"write":false,"role":"state"},{"name":"environment.relative-humidity","type":"number","role":"value.humidity","read":true,"write":false,"min":0,"max":100,"unit":"%"},{"name":"environment.pm2_5-density","type":"number","read":true,"write":false,"min":0,"max":600,"unit":"μg/m³","role":"state"},{"name":"filter.filter-life-level","type":"number","read":true,"write":false,"min":0,"max":100,"unit":"%","role":"state"},{"name":"filter.filter-used-time","type":"number","read":true,"write":false,"unit":"h","role":"state"},{"name":"physical-controls-locked.physical-controls-locked","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data
                                  22:44:35.523	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Init Device# 0 - device="zhimi.airpurifier.mb3"
                                  22:44:35.524	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Now creating device for yeelink.light.strip2 / 134113732 / 192.168.3.115gelöscht{},"_eventsCount":0,"_maxListeners":100,"id":"134113732","address":"192.1gelöscht","token":"gelöscht :)","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["power","bright","ct","hue","saturation"],"_miotSpec":null,"_miotSpecType":null,"model":"yeelink.light.strip2","setter":{},"definition":{"info":[{"id":"localip","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Ip Adress","type":"string","role":"value","def":""}},{"id":"token","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Token","type":"string","role":"value","def":""}},{"id":"did","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Device Id","type":"string","role":"value","def":""}},{"id":"model","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Model","type":"string","role":"value","def":""}},{"id":"rssi","initial":0,"forceCreation":false,"common":{"read":true,"write":false,"name":"rssi","type":"number","role":"value.rssi","def":0}},{"id":"name","initial":"","forceCreation":false,"common":{"read":true,"write":true,"name":"Name","type":"string","role":"value","def":""}},{"id":"isOnline","initial":false,"forceCreation":false,"common":{"read":true,"write":true,"name":"Is online","type":"boolean","role":"value","def":false}}],"model":"yeelink.light.strip2","description":"Yeelight Lightstrip Plus","setter":{},"common":[{"name":"power","type":"boolean","role":"switch","read":true,"write":true},{"name":"bright","type":"number","read":true,"write":true,"min":1,"max":100,"role":"state"},{"name":"hue","type":"number","read":true,"write":true,"min":0,"max":16777215,"role":"state"},{"name":"sat","type":"number","read":true,"write":true,"min":0,"max":100,"role":"state"},{"name":"color_mode","type":"number","read":true,"write":true,"min":1,"max":2,"role":"state"},{"name":"ct","type":"number","read":true,"write":true,"min":1700,"max":6500,"role":"state"}]},"firstrun":true,"rssi":0,"isOnline":true} now fetching data
                                  22:44:35.533	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Init Device# 1 - device="yeelink.light.strip2"
                                  22:44:35.533	info	javascript.0 (31314) script.js.common.Luftreiniger_H3: Now creating device for yeelink.light.ceiling10 / 270781479 / 192.gelöscht / gelöscht :) / 10000
                                  22:44:35.535	error	javascript.0 (31314) script.js.common.Luftreiniger_H3: Error: Model yeelink.light.ceiling10 is not supported
                                  22:44:35.536	error	javascript.0 (31314) at CreateDevices (script.js.common.Luftreiniger_H3:910:36)
                                  22:44:35.536	error	javascript.0 (31314) at main (script.js.common.Luftreiniger_H3:842:5)
                                  

                                  d2fa3079-7f10-417d-901b-6da23947764b-grafik.png

                                  wobei ich sagen muss das die Lampe nicht unterstützt wird, ist ja für mich egal. Hab ich irgendwas falsch gemacht? Ich habe nur "node-mihome" in den Adapter hinzugefügt, oder muss man das installieren=?

                                  PS : Hat sich erledigt ;). Hab das System kompl. rebootet , läuft :), einzigster Manko, du müsstest dein script mal umschrauben, damit die Angelegten Objekte richtig da stehen.

                                  javascript.0
                                  	2022-01-19 23:28:55.575	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1027:45)
                                  javascript.0
                                  	2022-01-19 23:28:55.574	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.573	warn	You are assigning a string to the state "javascript.0.MiHomeAll.270781479.bg_hue" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                                  javascript.0
                                  	2022-01-19 23:28:55.572	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                                  javascript.0
                                  	2022-01-19 23:28:55.572	warn	at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.571	warn	at module.exports.EventEmitter.emit (domain.js:483:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.571	warn	at module.exports.emit (events.js:314:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.570	warn	at module.exports.<anonymous> (script.js.common.Luftreiniger_H3:940:21)
                                  javascript.0
                                  	2022-01-19 23:28:55.570	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1027:45)
                                  javascript.0
                                  	2022-01-19 23:28:55.569	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.568	warn	You are assigning a string to the state "javascript.0.MiHomeAll.270781479.bg_ct" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                                  javascript.0
                                  	2022-01-19 23:28:55.567	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                                  javascript.0
                                  	2022-01-19 23:28:55.566	warn	at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.566	warn	at module.exports.EventEmitter.emit (domain.js:483:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.566	warn	at module.exports.emit (events.js:314:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.565	warn	at module.exports.<anonymous> (script.js.common.Luftreiniger_H3:940:21)
                                  javascript.0
                                  	2022-01-19 23:28:55.565	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1027:45)
                                  javascript.0
                                  	2022-01-19 23:28:55.564	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.562	warn	You are assigning a string to the state "javascript.0.MiHomeAll.270781479.bg_bright" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                                  javascript.0
                                  	2022-01-19 23:28:55.562	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                                  javascript.0
                                  	2022-01-19 23:28:55.561	warn	at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.556	warn	at module.exports.EventEmitter.emit (domain.js:483:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.556	warn	at module.exports.emit (events.js:314:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.555	warn	at module.exports.<anonymous> (script.js.common.Luftreiniger_H3:940:21)
                                  javascript.0
                                  	2022-01-19 23:28:55.555	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1027:45)
                                  javascript.0
                                  	2022-01-19 23:28:55.554	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.553	warn	You are assigning a string to the state "javascript.0.MiHomeAll.270781479.active_bright" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                                  javascript.0
                                  	2022-01-19 23:28:55.552	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                                  javascript.0
                                  	2022-01-19 23:28:55.552	warn	at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.551	warn	at module.exports.EventEmitter.emit (domain.js:483:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.551	warn	at module.exports.emit (events.js:314:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.550	warn	at module.exports.<anonymous> (script.js.common.Luftreiniger_H3:940:21)
                                  javascript.0
                                  	2022-01-19 23:28:55.550	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1016:37)
                                  javascript.0
                                  	2022-01-19 23:28:55.549	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.547	warn	You are assigning a number to the state "javascript.0.MiHomeAll.270781479.color_mode" which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.
                                  javascript.0
                                  	2022-01-19 23:28:55.547	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                                  javascript.0
                                  	2022-01-19 23:28:55.546	warn	at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.546	warn	at module.exports.EventEmitter.emit (domain.js:483:12)
                                  javascript.0
                                  	2022-01-19 23:28:55.545	warn	at module.exports.emit (events.js:314:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.545	warn	at module.exports.<anonymous> (script.js.common.Luftreiniger_H3:940:21)
                                  javascript.0
                                  	2022-01-19 23:28:55.544	warn	at RefreshDps (script.js.common.Luftreiniger_H3:1027:45)
                                  javascript.0
                                  	2022-01-19 23:28:55.543	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1437:20)
                                  javascript.0
                                  	2022-01-19 23:28:55.523	warn	You are assigning a string to the state "javascript.0.MiHomeAll.270781479.moon_mode" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.
                                  
                                  C 1 Reply Last reply Reply Quote 0
                                  • D
                                    derIOalex last edited by

                                    Hallo zusammen,

                                    gibt es für den Xiaomi humidifier2 etwas neueres... oder eine anleitung wie ich das einbinden kann?

                                    Gruß
                                    alex

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      bluefish @derIOalex last edited by

                                      @derioalex Was genau suchst du bzw. willst du denn? Ich habe bei mir mittels Javascript (nicht über den MiHome Adapter) den Humidifier2 bei mir eingebunden...

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        derIOalex @bluefish last edited by

                                        @bluefish sagte in Xiaomi Smartmi Air Humidifier2:

                                        @derioalex Was genau suchst du bzw. willst du denn? Ich habe bei mir mittels Javascript (nicht über den MiHome Adapter) den Humidifier2 bei mir eingebunden...

                                        Ich wollte auch den Humidifier2 einbilden… doch leider hab ich keine Ahnung wo und wie

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          bluefish @derIOalex last edited by

                                          @derioalex
                                          Kurze Anleitung:

                                          1. Du installierst dir python-miio, am besten in eine Virtuelle Environment (z.B. Ordner "cd /opt/python/miio" dann "python3 -m venv venv" , "source venv/bin/activate" , "pip install python-miio")

                                          2. Anschließend bekommst du mit du mittels "/opt/python/miio/venv/bin/miiocli airhumidifiermiot --ip 192.168.xxx.xx --token xxxxxxxxxxxx status":
                                            Bildschirmfoto 2022-02-17 um 17.52.20.png

                                          3. Das ganze kannst du nun auch im iobroker mittels Blockly exec-Block abfragen oder mittels javascript... Die Werte kannst du dann extrahieren und in Datenpunkte schreiben 😉

                                          Zum Beispiel (natürlich musst du die Datenpunkte davor anlegen und die Variablen anpassen):

                                          schedule("*/15 * * * * *", function () {
                                          
                                              exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' status', function (error, result, stderr) {
                                          
                                                  var noconnection = result.indexOf('Error: Unable to discover the device') + 1;
                                                  
                                                  if (noconnection == 1) {setState("humidifier2.0.info.availability", false, true)};
                                          
                                                  if (noconnection == 0) {
                                          
                                                      setState("humidifier2.0.info.availability", true, true); 
                                          
                                                      var MiioList = result.split("\n");
                                          
                                                      setState("humidifier2.0.info.power", MiioList[0].split(": ")[1], true);                                        // Power: off
                                                      setState("humidifier2.0.info.error", MiioList[1].split(": ")[1], true);                                        // Error: 0
                                                      setState("humidifier2.0.info.targethumidity", parseFloat(MiioList[2].split(": ")[1].split(" %")[0]), true);    // Target Humidity: 70 %
                                                      setState("humidifier2.0.info.humidity", parseFloat(MiioList[3].split(": ")[1].split(" %")[0]), true);          // Humidity: 60 %
                                                      setState("humidifier2.0.info.temp", parseFloat(MiioList[4].split(": ")[1].split(" °C")[0]), true);             // Temperature: 23.6 °C
                                                      //setState("", MiioList[5].split(": ")[1].split(" °F")[0], true);                                              // Temperature: 74.5 °F
                                                      setState("humidifier2.0.info.depth", parseFloat(MiioList[6].split(": ")[1].split(" %")[0]), true);             // Water Level: 0 %
                                                      setState("humidifier2.0.info.waterTankDetached", MiioList[7].split(": ")[1], true);                            // Water tank detached: False
                                                      setState("humidifier2.0.info.mode", MiioList[8].split(": ")[1].split(".")[1], true);                           // Mode: OperationMode.Auto
                                                      setState("humidifier2.0.info.ledBrightnessLevel", MiioList[9].split(": ")[1].split(".")[1], true);             // LED brightness: LedBrightness.Dim
                                                      setState("humidifier2.0.info.buzzer", MiioList[10].split(": ")[1], true);                                      // Buzzer: False
                                                      setState("humidifier2.0.info.childLock", MiioList[11].split(": ")[1], true);                                   // Child lock: False
                                                      setState("humidifier2.0.info.dryMode", MiioList[12].split(": ")[1], true);                                     // Dry mode: True
                                                      //setState("", MiioList[13].split(": ")[1].split(".")[1], true);                                               // Button pressed PressedButton.No
                                                      setState("humidifier2.0.info.targetmotorspeed", parseFloat(MiioList[14].split(": ")[1].split(" rpm")[0]), true); // Target motor speed: 200 rpm
                                                      setState("humidifier2.0.info.actualmotorspeed", parseFloat(MiioList[15].split(": ")[1].split(" rpm")[0]), true); // Actual motor speed: 0 rpm
                                                      setState("humidifier2.0.info.usedTime", parseFloat(MiioList[16].split(": ")[1].split(" s")[0]), true);         // Use time: 447787 s
                                                      setState("humidifier2.0.info.powerTime", parseFloat(MiioList[17].split(": ")[1].split("s")[0]), true);         // Power time: 155905 s
                                                      setState("humidifier2.0.info.cleanMode", MiioList[18].split(": ")[1], true);                                   // Clean mode: False
                                                  }
                                              });
                                          });
                                          

                                          Und mit diesem Codebeispiel kannst du dann das Gerät ein- und ausschalten. (Kannst du natürlich auf jeden anderen benötigten Wert anpassen um z.B. LED steuern, motorSpeed etc.)

                                          on({id: "humidifier2.0.control.power", change: "ne"}, function (obj) {
                                            if ((obj.state ? obj.state.val : "")) {
                                              exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' on');
                                            } else {
                                              exec(Path + ' airhumidifiermiot --ip ' + IPaddress + ' --token ' + Token + ' off');
                                            }
                                          });
                                          

                                          Ich hoffe du bekommst es mit diesen Infos hin, ansonsten schreib mir eine PN, dann schaue ich mal, wie ich dir sonst helfen kann 😉

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @bluefish last edited by

                                            @bluefish
                                            Hinweis am Rande:
                                            Unter Debian versucht man zuerst das Paket über den Paketmanager einzuspielen.

                                            Müsste eigentlich verfügbar sein:

                                            sudo apt install python3-miio
                                            
                                            B 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            573
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            121
                                            11623
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo