Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Adapter] - Mihome

    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

    [Adapter] - Mihome

    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xbow42 last edited by

      Wieso Schande, es funktioniert für dich das ist die Hauptsache.

      Damit du es leichter hast deine eigenen Scripte zu warten, als Tip

      *codeblöcke entsprechend der {Klammern} einrücken

      *KONSTANTEN groß

      *variablen klein

      Debugausgaben und Kommentare hast du ja schon drin alles gut.

      2.script Batteriecheck mit den fix eingetragenen ObjektIDs ist es schwer zu pflegen, wenn man Geräte hinzufügt/austauscht.

      Hier mal mein angepasstes script, was ich auch hier aus dem Forum habe. Hab mir angewöht die Quelle immer mit als Kommentar abzulegen. Somit sollte klar sein dass ich mich nicht mit fremden Federn schmücken will. Hoffe mal die Links funktionieren auch noch denn im Februar der Umzug auf die neue Plattform gemacht wurde.

      ! /**
      ! Quelle: viewtopic.php?f=21&t=15203&start=20
      ! Beschreibung: Script zum erfassen von Geräten mit niedrigem Batteriestatus
      ! Vorbereitung: unter den iobroker.Objekten muss bei den "Batteriestatus-Prozenten" ein sinnvoller Name eingetragen werden,
      ! um die Geräte zu identifizieren
      ! todo:
      ! - Benachrichtigung (in welcher Art auch immer) noch einbauen
      ! - wenn MiHome-Geräte auf dem DeConz-Stick angelernt sind "KONSTANTEN - Deklaration" anpassen
      ! **/
      ! //===================================================================================================================================
      ! //Datenpunkte erstellen; werden unterhalb von "javascript.0." angelegt.
      ! createState('monitoring.Batteriestatus.Schwellwert', 15, {type: 'number'}); // ab war die Battereistatus aus krittisch angesehen wird
      ! createState('monitoring.Batteriestatus.Geraete_Total', 0, {type: 'number'}); // Anzahl der BAtteriegräte
      ! createState('monitoring.Batteriestatus.Geraete_LowBat', 0, {type: 'number'}); // Anzahl der tatsächlichen LOWBAT
      ! createState('monitoring.Batteriestatus.Geraete_Namen', " ", {type: 'string'}); // Anzeige der LOWBAT-Geräte, Text s. Vorbereitung
      ! //===================================================================================================================================
      ! //KONSTANTEN - Deklaration
      ! const OID_HOMATIC_BAT = $('hm-rpc.:0.LOWBAT'); //Objekt_IDs für Homatic-Geräte
      ! const OID_MIHOME_BAT = $('mihome.
      .percent'); //Objekt_IDs für MiHome-Geräte
      ! //todo: const OID_DECONZ_MIHOME_BAT = $('deconz.*.percent????????'); //Objekt_IDs für MiHome-Geräte an DeConz
      ! const LOGGEN = true; // = false, wenn kein Logging gewünscht
      ! //===================================================================================================================================
      ! //(globale) Variablen - Deklaration
      ! var arrLowBat;
      ! //===================================================================================================================================
      ! //Funktionen
      ! function fkt_lowbat(id) {
      ! var name = getObject(id).common.name;
      ! if(name.indexOf(':0.LOWBAT') != -1) name = name.substring(0, name.indexOf(':0.LOWBAT'));
      ! arrLowBat.push(name); // Zu Array hinzufügen
      ! if(LOGGEN) log("Gerät: " + name);
      ! }
      ! function fkt_countLowbat() {
      ! // Setzt die Zähler vor dem Durchlauf aller Elemente .LOWBAT auf 0
      ! var intGeraete_Total = 0;
      ! arrLowBat = [];
      ! /
      //!!! hier kann ich nicht prüfen ob man auch den Schwellwert abfragen kann da ich keine Homatic-Geräte habe
      ! OID_HOMATIC_BAT.each(function (id, i) { // Schleife für jedes gefundenen Element *.LOWBAT
      ! if(getState(id).val) fkt_lowbat(id);
      ! ++intGeraete_Total; // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
      ! });
      ! */
      ! OID_MIHOME_BAT.each(function (id, i) { // Schleife für jedes gefundenen Element .percent
      ! if(getState(id).val < getState("monitoring.Batteriestatus.Schwellwert").val) fkt_lowbat(id);
      ! ++intGeraete_Total; // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
      ! });
      ! // Schleifen sind durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon LOWBAT zutreffend) ausgegeben
      ! if(LOGGEN) {
      ! log("Batterie-Geräte (Anzahl): " + intGeraete_Total + " # davon LOWBAT erkannt: " + arrLowBat.length);
      ! log("Batterie-Geräte (Namen): " + arrLowBat.join(', '));
      ! }
      ! // die ermittelten Werte werden als javascript.0. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
      ! setState("monitoring.Batteriestatus.Geraete_Total", intGeraete_Total); // Schreibt die Anzahl der vorhandene Geräte
      ! setState("monitoring.Batteriestatus.Geraete_LowBat",arrLowBat.length); // Schreibt die Anzahl der LOWBAT-Meldungen
      ! setState("monitoring.Batteriestatus.Geraete_Namen", arrLowBat.join(',
      ')); // Schreibt die Namen der Geräte mit LOWBAT Meldung
      ! }
      ! //===================================================================================================================================
      ! //Funktionsaufrufe (main)
      ! fkt_countLowbat(); //Ausführung bei Skriptstart
      ! schedule("
      /60 * * * *", fkt_countLowbat); //Ausführung alle 60 Minuten
      telegramm/mail-nachricht kannst ja jetzt selbst einbauen.

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

        @xbow42

        Funktioniert scheinbar noch nicht wie ich es mir gewünscht habe. Zum ersten mal wurde der 60 Minuten Zeitrahmen überschritten und ich hab direkt überalle Alarm gekriegt 😞

        Im Telegram sogar 3 mal.. hab ich bestimmt irgendwo ne Klammer falsch gesetzt.

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

          16:13:00.022 info javascript.0 script.js.common.Ueberwachung_Akkustand_sensoren1: Batterieüberwachung ausgeführt!

          16:13:00.023 info javascript.0 script.js.common.Ueberwachung_Akkustand_sensoren1: Batterieüberwachung ausgeführt!

          16:13:00.024 info javascript.0 script.js.common.Ueberwachung_Akkustand_sensoren1: Batterieüberwachung ausgeführt!

          16:13:00.024 info javascript.0 script.js.common.Ueberwachung_Akkustand_sensoren1: Batterieüberwachung ausgeführt!

          16:13:00.024 info javascript.0 script.js.common.Ueberwachung_Akkustand_sensoren1: Batterieüberwachung ausgeführt!

          mich interessiert eher warum das batterie-script scheinbar 5 mal bei jeder runde ausgeführt wird. sehe dafür nix im code

          so verhält sich leider jedes script..auch direkt nach dem start:

          javascript.0 2019-01-27 16:17:44.201 info Stop script script.js.common.Cube_Motion

          javascript.0 2019-01-27 16:17:44.201 info Stop script script.js.common.Cube_Motion

          javascript.0 2019-01-27 16:17:44.201 info Stop script script.js.common.Cube_Motion

          javascript.0 2019-01-27 16:17:44.201 info Stop script script.js.common.Cube_Motion

          javascript.0 2019-01-27 16:17:44.201 info Stop script script.js.common.Cube_Motion

          seufz

          mal alles neustarten

          PS: Scheinbar hat das Script den kompletten Adapter aus dem Tritt gebracht. Nach nem reboot war alles normal. Jetzt provozieren wir den Fehler noch mal.

          1 Reply Last reply Reply Quote 0
          • X
            xbow42 last edited by

            rechnest du überhaupt mit den richtigen Zahlen

            var DATUM2 = new Date().getTime();// Datum in Millisekunden //gibt ein Objekt zurück

            zu

            var tsJetzt = (new Date().getMilliseconds());

            benenne die Variablen sinnvoll, dann sind manche Kommentare überflüssig

            Wenn ich eine Funktion nicht weiß, klicke ich mit erst mal ein Bsp. in Blockly zusammen und sehe mir den code an. so kam ich auch auf das .getMilliseconds() 😄

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

              @xbow42:

              rechnest du überhaupt mit den richtigen Zahlen

              var DATUM2 = new Date().getTime();// Datum in Millisekunden //gibt ein Objekt zurück

              zu

              var tsJetzt = (new Date().getMilliseconds());

              benenne die Variablen sinnvoll

              Wenn ich eine Funktion nicht weiß, klicke ich mit erst mal ein Bsp. in Blockly zusammen und sehe mir den code an. so kam ich auch auf das .getMilliseconds() 😄 `
              ja, die rechnung stimmt 🙂 Alles gut. Date().getTime() wirft immer passend aus.

              hab jetzt dem rauchmelder mal die batterie entnommen..bin mir sicher in 30minuten lässt sich das reproduzieren 😄

              PS: so nach neustart klappt script auch normal. nix 5 mal mehr:

              javascript.0 2019-01-27 17:30:00.072 info script.js.common.Verfuegbarkeit.Ueberwachung_Rauchmelder: Warnung: Gerät Rauchmelder ist nicht erreichbar. Nächste Telegram Warnung erfolgt in 110 Minuten.

              javascript.0 2019-01-27 17:30:00.072 info script.js.common.Verfuegbarkeit.Ueberwachung_Rauchmelder: Warnung: Gerät Rauchmelder ist nicht erreichbar. Nächste Email Warnung erfolgt in 510 Minuten.

              javascript.0 2019-01-27 17:30:00.071 info script.js.common.Verfuegbarkeit.Ueberwachung_Rauchmelder: Warnung: Gerät Rauchmelder ist nicht erreichbar. Nächste Alexa Warnung erfolgt in 541 Minuten.

              nur mit den zeitwerten für alarm muss ich scheinbar noch arbeiten

              1 Reply Last reply Reply Quote 0
              • K
                Keulex last edited by

                Hallo,

                ich bin recht neu hier. Ich habe mich bisher hauptsächlich mit dem Thema Zigbee-Stick und Anbindung der Komponenten auseinandergesetzt, war mit der Stabilität aber nicht zufrieden. Deswegen habe ich mir testweise mal ein Gateway geholt und habe gemerkt, das die Sensoren merklich zuverlässiger in iobroker laufen.

                Nun zu meinem Anliegen:

                Ich habe gesehen, dass das Gateway auch Ikea-Tradfri-Lampen unterstützt, davon hatte ich noch welche. Ich konnte sie auch über die App ans Gateway anlernen. Leider tauchen diese nicht als Objekte im iobroker auf. Müsste der Adapter dahingehend erweitert werden?

                1 Reply Last reply Reply Quote 0
                • Diginix
                  Diginix last edited by

                  Genau. Hier ist die https://github.com/ioBroker/ioBroker.mihome#supported-devices.

                  Kannst ja das Loglevel mal auf Debug stellen und dann per App die Lampen an/aus schalten und schauen ob im ioB Log dazu Einträge auftauchen.

                  Falls nicht, kann der Adapter auch nicht erweitert werden, weil das Gateway keine Informationen sendet.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Superdad last edited by Superdad

                    Hallo,

                    über die Aqara-App ist ein Update für das Aqara-Gateway verfügbar.
                    Damit lässt sich jetzt der Key auslesen.
                    Nur leider habe ich es nach dem Update nicht mehr geschafft das Gateway in der Mihome-App verfügbar zu machen.
                    Vielleicht hat ja Jemand mehr Ahnung oder Glück.

                    P.S. In der Aqara-App Key aulesen, dann auf Mihome Connection drücken.
                    Dann habe ich die Mihome-App deinstalliert und anschließend wieder installiert.
                    Beim starten der App wird das Gateway dann hinzugefügt.
                    Erscheint aber noch nicht in IoBroker. Muss mal neu starten.

                    P.P.S Aqara Gateway erscheint nicht in IoBrober.mihome.

                    Moe 1 Reply Last reply Reply Quote 0
                    • Moe
                      Moe @Superdad last edited by

                      @Superdad wo kriege ich den Key in der Aqara App ausgelesen ??

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Superdad @Moe last edited by

                        @Moe
                        Wenn du auf den Aqara_Hub gehst und dann oben rechts die drei Punkte.
                        Dann war es glaube ich unter Netzwerkverbindung oder so.
                        Musst mal schauen.

                        Moe 1 Reply Last reply Reply Quote 0
                        • Moe
                          Moe @Superdad last edited by

                          @Superdad oder so !

                          Ja leider nichts zu finden vielleicht nutze ich auch eine andere Aqara App.

                          Ja nach dem Update versuche ich schon ganze Zeit den Hub wieder unter Mi Home zu bekommen aber das funktioniert auch nicht wie beschrieben

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Superdad last edited by

                            Das Gateway ist dann in der Mihome-App vorhanden und du kannst auch bei iobroker-mihome den Key eingeben, aber es passiert nichts.
                            Ich denke, es liegt daran, dass man die Lan-Funktion nicht aktivieren kann wie bei den anderen Gateways.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Superdad @Moe last edited by

                              @Moe
                              geh mal in der Aqara_App auf Accessories.
                              Da ist doch dann der Hub drin oder nicht?
                              Den antippen und dann rechts oben auf die drei Punkte.
                              Hast du für den Hub die neueste Firmware installiert?

                              1 Reply Last reply Reply Quote 0
                              • Moe
                                Moe last edited by

                                Auf der IOS App ist dort nichts zu finden.

                                Firmware des Hubs ist aktuell 1.5.7

                                Nach denn update aktuell das einbinden in die Mi Home App auch nicht mehr möglich. Bereits auch alles probiert.

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Superdad @Moe last edited by

                                  @Moe
                                  Ich habe es doch auch mit der IOS-App gemacht.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Superdad last edited by

                                    Unter Accessories ist dann unter den drei Punkten auch eine Auswahl "mit mihome verbinden".
                                    Dann habe ich die mihome-App auf dem iPhone einmal deinstalliert und dann wieder installiert.
                                    Dann war der Aqara Hub wieder zur Auswahl um ihn mit der mihome-App zu verbinden.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Superdad last edited by Superdad

                                      So, habe es jetzt noch einmal mit der Aqara-App verbunden.
                                      Unter Accessories Aqara Hub ( vielleicht heisst es bei die anders?) - Aqara Hub auswählen.
                                      Dann rechts oben auf die drei Punkte drücken.
                                      Dann nach unten scrollen.
                                      Da steht dann Serial Number - 16 stelliger Code!
                                      Firmware ist 1.5.7!

                                      Unter den drei Punkten ist auch eine Auswahl "Support Mi Home App".
                                      Die muss auf Yes stehen! Ansonsten drauf klicken und Abfrage bestätigen.

                                      1 Reply Last reply Reply Quote 0
                                      • Moe
                                        Moe last edited by

                                        Die Seriennummer hatte ich vor dem Update auch stehen. Glaube irgendwie nicht das es der Serial zum Verbinden ist.

                                        Ok bisher ohne Erfolg 😟 hattest du vorher deinen Adapter aus der Mii App gelöscht ? Bei mir ist dieser erst offline gewesen dann war er automatisch weg nun bekomme ich ihn nicht wieder rein 😞

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Superdad last edited by Superdad

                                          Nach mehrmaligen starten der App kommt dann eine Meldung ob du verbinden möchtest.
                                          Hatte ihn aber auch schon deinstalliert und wieder installiert. Geht auch.

                                          Was soll es aber sonst für ein Key sein?

                                          Moe 1 Reply Last reply Reply Quote 0
                                          • Moe
                                            Moe @Superdad last edited by Moe

                                            @Superdad denke einfach nur die Seriennummer deines Gerätes wie zb die IMEI bei einem Handy oder eben die Seriennummer eines PCs, Handys etc.

                                            Edit: Lerne mal ein Geräte an das Aqara Gateway und gehe dann in dieses Gerät dort wirst du sehen dieses Gerät hat dort seine spezifische Seriennummer dann stehen.

                                            Somit ist das nur eine Nummer für die Zuordnung wie meine Mac Adresse oder eben eine IMEI etc

                                            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

                                            452
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            mihome
                                            111
                                            559
                                            140676
                                            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