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.
    • 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
              • B
                bluefish @Thomas Braun last edited by

                @thomas-braun ob man python3-miio mittels apt oder pip installiert, sollte eigentlich keinen Unterschied machen, das Resultat ist doch das selbe! Ich habe mir jedoch angewöhnt alles in Virtual Environments zu installieren, aber das kann jeder machen wie er will 🙂

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

                  @bluefish

                  Hält pip auch die Versionen aktuell?
                  Und zieht Dependencies nach?

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

                    @thomas-braun du meinst die Updates mittels "sudo apt update && sudo apt upgrade"!?
                    Natürlich gibt es auch Befehle, um alle pip (Python) Module zu updaten, aber das möchte man / ich eigentlich nicht. Kleines Beispiel zu diesem Beispiel. In python3-miio wurden durch ein Update Zeilen für den Humidifier2 hinzugefügt. Damit stimmte meine Zuordnung mittels "MiioList[x]" natürlich auch nicht mehr... Hätte ich das nun automatisch geupdatet, hätte ich es vermutlich nicht direkt mitbekommen. Daher update ich Python Module lieber manuell und abhängig zur entsprechenden Virtual Environment 😉

                    Ja, pip installiert auch die zugehörigen Module, aber wie gesagt, es geht auch der Weg über apt. Viele Wege führen nach Rom 😉

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

                      @canim kann es sein das es mit Iobroker v4 nicht funktioniert? Habe node 14 aktuell laufen, leider geht es nicht mehr

                      1 Reply Last reply Reply Quote 0
                      • L
                        loverz last edited by

                        funktioniert der Adapter auch mit dem runden Modell?
                        610c96af-be89-499b-801a-ab423cc20d32-image.png

                        Ich bekomme den Xiaomi MiHome Gateway Adapter nicht zum laufen. So wie es aussieht benötigt man da ein Xiaomi Gateway, ich hab aber nur diesen Luftbefeuchter, sonst nichts.

                        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

                        875
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        23
                        121
                        11755
                        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