Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.

    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

    [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      Pittini Developer last edited by

      Hi allerseits,
      wer alles hat die 0.2.24 laufen und KEINE Probleme? Und wer hat Probleme in denen die Meldung "Cannot read property 'rssi' of undefined" vorkommt?

      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @Pittini last edited by crunchip

        @pittini hab gerade mal die version drauf gemacht, erhalte jedoch

        14:06:45.546	info	javascript.0 (4954) Stop script script.js.MiHome
        14:06:45.614	info	javascript.0 (4954) Start javascript script.js.MiHome
        14:06:45.619	info	javascript.0 (4954) script.js.MiHome: Starting AllMyMi V.0.2.24
        14:06:45.622	info	javascript.0 (4954) script.js.MiHome: registered 0 subscriptions and 0 schedules
        14:06:45.622	info	javascript.0 (4954) script.js.MiHome: You are already logged in, login canceled
        14:06:45.623	info	javascript.0 (4954) script.js.MiHome: Retrieving your in de registered MiHome Devices
        14:06:45.730	info	javascript.0 (4954) script.js.MiHome: Found 3 MiHome Devices, those are:
        14:06:45.731	info	javascript.0 (4954) script.js.MiHome: Mi Air Purifier 3/3H
        14:06:45.732	error	javascript.0 (4954) script.js.MiHome: ReferenceError: praefix0 is not defined
        14:06:45.734	error	javascript.0 (4954) at PrepareGenericDps (script.js.MiHome:704:33)
        14:06:45.734	error	javascript.0 (4954) at Init (script.js.MiHome:770:15)
        

        edit selber gefunden🤦‍♂️ kommt davon wenn man immer nur halbe sachen hin und her kopiert

        ja die Meldung kommt bei mir

        javascript.0 (4954) script.js.MiHome: TypeError: Cannot read property 'rssi' of undefined
        14:10:06.631	error	javascript.0 (4954) at RefreshGenericDpsTicker (script.js.MiHome:860:37)
        
        javascript.0
        2021-08-12 14:10:06.632	error	at processTicksAndRejections (internal/process/task_queues.js:95:5)
        
        javascript.0
        2021-08-12 14:10:06.632	error	at runMicrotasks (<anonymous>)
        
        javascript.0
        2021-08-12 14:10:06.631	error	at RefreshGenericDpsTicker (script.js.MiHome:860:37)
        
        javascript.0
        2021-08-12 14:10:06.629	error	script.js.MiHome: TypeError: Cannot read property 'rssi' of undefined
        
        P 1 Reply Last reply Reply Quote 0
        • P
          Pittini Developer @crunchip last edited by

          @crunchip Ok, dankeschön. Es gibt bereits nen Fix (ohne neue Version), damit sollte es weg sein, pls mal testen.

          haselchen crunchip 3 Replies Last reply Reply Quote 3
          • haselchen
            haselchen Most Active @Pittini last edited by

            @pittini

            Neue Version getestet, läuft bisher.
            Keine Fehler im Log.

            Wirklich klasse wie Du das hier supportest und auf Github!
            Alle Daumen hoch.

            1 Reply Last reply Reply Quote 1
            • crunchip
              crunchip Forum Testing Most Active @Pittini last edited by

              @pittini kam gerade erst dazu, super, läuft 👍

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

                bei mir auch. Hab den 3C und die js-Datei selbst in den entsprechenden Ordner kopiert ( zhimi.airpurifier.mb4 ). Die hatte gefehlt. Mal schauen ob ich weiterhin Fehlermessages erhalte. Wenn ja, poste ich die hier mal 🙂
                Danke für das tolle Skript 👍

                1 Reply Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @Pittini last edited by

                  @pittini weiss nicht ob das schon mal gefragt/gemeldet wurde, bzw ob das nur hin und wieder vorkommt

                  javascript.0
                  2021-08-13 10:24:13.351	error	FetchError: request to https://de.api.io.mi.com/app/home/device_list failed, reason: getaddrinfo ENOTFOUND de.api.io.mi.com at ClientRequest.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/lib/index.js:1461:11) at ClientRequest.emit (events.js:412:35) at ClientRequest.emit (domain.js:470:12) at TLSSocket.socketErrorListener (_http_client.js:475:9) at TLSSocket.emit (events.js:400:28) at TLSSocket.emit (domain.js:470:12) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:82:21)
                  
                  javascript.0
                  2021-08-13 10:24:13.350	error	Error: request to https://de.api.io.mi.com/app/home/device_list failed, reason: getaddrinfo ENOTFOUND de.api.io.mi.com
                  
                  javascript.0
                  2021-08-13 10:24:13.348	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                  
                  K P 2 Replies Last reply Reply Quote 1
                  • K
                    Kueppert @crunchip last edited by

                    @crunchip diese Fehlermeldung meinte ich ^^

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

                      @crunchip sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:

                      @pittini weiss nicht ob das schon mal gefragt/gemeldet wurde, bzw ob das nur hin und wieder vorkommt

                      javascript.0
                      2021-08-13 10:24:13.351	error	FetchError: request to https://de.api.io.mi.com/app/home/device_list failed, reason: getaddrinfo ENOTFOUND de.api.io.mi.com at ClientRequest.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/lib/index.js:1461:11) at ClientRequest.emit (events.js:412:35) at ClientRequest.emit (domain.js:470:12) at TLSSocket.socketErrorListener (_http_client.js:475:9) at TLSSocket.emit (events.js:400:28) at TLSSocket.emit (domain.js:470:12) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:82:21)
                      
                      javascript.0
                      2021-08-13 10:24:13.350	error	Error: request to https://de.api.io.mi.com/app/home/device_list failed, reason: getaddrinfo ENOTFOUND de.api.io.mi.com
                      
                      javascript.0
                      2021-08-13 10:24:13.348	error	An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                      

                      Sollte nur gelegentlich vorkommen, die devicelist wurde in den alten Versionen nur bei Skriptstart abgefragt, dadurch fiel das nich auf, wird jetzt aber alle 10 Sekunden abgefragt um rssi und isOnline aktuell zu halten und deswegen kann das eher mal auftreten. Mal beobachten, wenn da zu viele Fehler kommen muß ich mir was einfallen lassen.

                      haselchen 1 Reply Last reply Reply Quote 1
                      • haselchen
                        haselchen Most Active @Pittini last edited by haselchen

                        @pittini

                        Jetzt habe ich leider doch wieder nen Problem.
                        Diesmal ist es der Smart Standing Fan Pro (dmaker.fan.p15)
                        Der Datenpunkt on ändert sich zwar in true/false, wenn man im IOT AN/AUS für Alexa eingibt, aber es passiert nichts.
                        Schalte ich den Ventilator per App aus, dann geht er auch aus, aber der Datenpunkt ändert sich nicht.

                        True obwohl er aus ist.

                        c4527259-cd45-465e-9cbd-3e641bd8808d-grafik.png

                        Mit dem 0.2.23 Script geht es.

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

                          @haselchen sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:

                          Mit dem 0.2.23 Script geht es.

                          Das is aber seltsam, denn daran wurde absolut nix geändert. Der einzige Unterschied von der .23 zur .24 is eine Funktion die rssi und IsOnline refresht. Kannst ja mal guggen obs geht wenn Du die in Zeile 841 auskommentierst, dann wird die Funktion nimmer aufgerufen und Du hast faktisch die .23

                          haselchen 1 Reply Last reply Reply Quote 0
                          • haselchen
                            haselchen Most Active @Pittini last edited by

                            @pittini

                            Dann kann ich ja auch die 23er behalten 🙂
                            Ich hab ja immer 2 Skripte.
                            Eines Produktiv (23er) und eines als Test (24er).
                            Ich probier einfach mit der 24er Version mal rum.

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

                              @haselchen sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:

                              Dann kann ich ja auch die 23er behalten

                              Ja klar, aber wir würden dann wissen ob die neue Funktion der .24 das Problem auslöst.

                              haselchen 1 Reply Last reply Reply Quote 0
                              • haselchen
                                haselchen Most Active @Pittini last edited by

                                @pittini

                                Habs hin und herprobiert. Auskommentiert und normal. Mit der 24er kann ich den Fan nicht mehr steuern.
                                Über Alexa nicht und manuell über den Datenpunkt nicht.

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

                                  @haselchen sagte in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:

                                  @pittini

                                  Habs hin und herprobiert. Auskommentiert und normal. Mit der 24er kann ich den Fan nicht mehr steuern.
                                  Über Alexa nicht und manuell über den Datenpunkt nicht.

                                  Das is ja noch seltsamer, wenn die .24 auch mit der auskommentierten Funktion den Fan nich mehr steuert (denn dann ist quasi die .23), vorallem weil ich den auch hab und alles läuft wie es soll. Hast schon mal das logging aktiviert und geguggt ob das was kommt?

                                  haselchen 1 Reply Last reply Reply Quote 0
                                  • haselchen
                                    haselchen Most Active @Pittini last edited by

                                    @pittini

                                    Ich dreh nochmal alles links.
                                    Das Smart Home nimmt langsam Überhand 🙂 🙂 🙂

                                    haselchen 1 Reply Last reply Reply Quote 0
                                    • haselchen
                                      haselchen Most Active @haselchen last edited by

                                      @pittini

                                      Vermelde Erfolg auf ganzer Linie.
                                      Habe hier und da am System bisschen optimiert.
                                      Am Ende Iobroker neu gestartet und zack, ich kann per Stimme wieder den Ventilator steuern.
                                      Die 24er Version kann ich hiermit offiziell abnicken 🙂

                                      1 Reply Last reply Reply Quote 1
                                      • F
                                        fd @fd last edited by fd

                                        @fd said in [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.:

                                        @pittini Danke sehr für die schnelle Anwort.

                                        Ich bin jetzt einen großen Schritt weiter: nachdem ich die Ländereinstellung in der Xiaomi App und im Skript von Deutschland auf Singapur geändert habe (China hat für mich nicht funktioniert, da ich den Ventilator über die App nicht finden konnte) und den Ventilator neu angelernt, klappt der Log-in nun ohne weiteres.

                                        Der Ventilator wird auch in ioBroker unter Objekte / Javascript angelegt und unter Info finde ich viele Daten zu IP Adresse usw. Leider bleiben jedoch die Fan-Einstellungen leer und Eingaben meinerseits über die Dropdowns werden nicht angenommen.

                                        Das Skipt crasht sofort nach dem Start mit dem folgenden Log (ich habe einige spezifische Daten durch XXX ersetzt, sie scheinen aber korrekt zu sein.

                                        10:37:05.651	info	javascript.0 (2053) Stop script script.js.AllMyMi
                                        10:37:06.971	info	javascript.0 (2053) Start javascript script.js.AllMyMi
                                        10:37:07.027	info	javascript.0 (2053) script.js.AllMyMi: Starting AllMyMi V.0.2.23
                                        10:37:07.036	info	javascript.0 (2053) script.js.AllMyMi: registered 0 subscriptions and 0 schedules
                                        10:37:07.037	info	javascript.0 (2053) script.js.AllMyMi: You are already logged in, login canceled
                                        10:37:07.038	info	javascript.0 (2053) script.js.AllMyMi: Retrieving your in sg registered MiHome Devices
                                        10:37:07.846	info	javascript.0 (2053) script.js.AllMyMi: Found 1 MiHome Devices, those are:
                                        10:37:07.847	info	javascript.0 (2053) script.js.AllMyMi: Mi Smart Standing Fan 2
                                        10:37:07.848	info	javascript.0 (2053) script.js.AllMyMi: Now searching for supported Devices...
                                        10:37:07.849	info	javascript.0 (2053) script.js.AllMyMi: Device Mi Smart Standing Fan 2 is supported, creating DataPoints
                                        10:37:07.870	info	javascript.0 (2053) script.js.AllMyMi: Now creating device for dmaker.fan.p18 / XXXXXXXXXXXXXX / XXXXXXXXX / XXXXXXXXXXXXX / 10000
                                        10:37:07.872	info	javascript.0 (2053) script.js.AllMyMi: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"XXXXX","address":"XXXX","token":"XXXXX","protocol":"local","refresh":10000,"_properties":{},"_propertiesToMonitor":["fan:on","fan:mode","fan:fan-level","fan:horizontal-swing","fan:horizontal-angle","fan:status","alarm:alarm","motor-controller:motor-control","physical-controls-locked:physical-controls-locked","off-delay-time:off-delay-time"],"_miotSpec":null,"_miotSpecType":"urn:miot-spec-v2:device:fan:0000A005:dmaker-p18:1","model":"dmaker.fan.p18","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":"dmaker.fan.p18","description":"Mi Smart Standing Fan 2","setter":{},"common":[{"name":"fan.on","type":"boolean","role":"switch","read":true,"write":true},{"name":"fan.mode","type":"number","role":"switch","read":true,"write":true,"min":0,"max":1,"states":{"0":"Straight Wind","1":"Natural Wind"}},{"name":"fan.fan-level","type":"number","role":"switch","read":true,"write":true,"min":1,"max":4,"states":{"1":"Slow","2":"Middle","3":"High","4":"Turbo"}},{"name":"fan.horizontal-swing","type":"boolean","role":"switch","read":true,"write":true},{"name":"fan.horizontal-angle","type":"number","role":"switch","read":true,"write":true,"min":30,"max":140,"unit":"°","states":{"30":"30°","60":"60°","90":"90°","120":"120°","140":"140°"}},{"name":"fan.status","type":"number","role":"indicator","read":true,"write":false,"min":1,"max":100},{"name":"alarm.alarm","type":"boolean","role":"switch","read":true,"write":true},{"name":"motor-controller.motor-control","type":"number","role":"switch","read":false,"write":true,"min":0,"max":2,"states":{"0":"None","1":"Left","2":"Right"}},{"name":"physical-controls-locked.physical-controls-locked","type":"boolean","role":"switch","read":true,"write":true,"min":false,"max":true},{"name":"off-delay-time.off-delay-time","type":"number","role":"switch","read":true,"write":true,"min":0,"max":480,"unit":"m"}]},"firstrun":true} now fetching data
                                        10:37:08.240	error	javascript.0 (2053) script.js.AllMyMi: TypeError: Cannot read property 'forEach' of undefined
                                        10:37:08.242	error	javascript.0 (2053) at CreateDevices (script.js.AllMyMi:845:17)
                                        10:37:08.243	error	javascript.0 (2053) at main (script.js.AllMyMi:765:5)
                                        

                                        Der Raspi wurde ein Paar mal neu gestartet um dies als Fehlerquelle auszuschließen. Irgendeine Idee?

                                        Sorry dass ich hier nochmals nachfrage aber hat sonst noch jemand probleme mit 'forEach' of undefined? Ich kenne mich leider mit Javascript nicht gut genug aus, um das selbst zu troubleshooten. Danke.

                                        PS: Ich habe auch Version 0.2.24 probiert, leider gleiches Problem...

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

                                          @fd Du hast aber schon die dmaker.fan.p18.js in Dein node-mihome Devices Verzeichnis kopiert? Und die is da auch noch? Wenn das Skript an der Stelle abkackt, kanns das Device nicht initialisieren, was eigentlich (zumindest bisher) nur bei nicht vorhandener Definitionsdatei passiert.

                                          F 1 Reply Last reply Reply Quote 0
                                          • F
                                            fd @Pittini last edited by

                                            @pittini Danke, ja, habe ich installiert und ist auch noch vorhanden und scheint unbeschädigt (gecheckt via sudo nano auf dem Raspi). Ich habe gerade testweise auch mal die Zugriffsrechte via chmod 777 voll freigegeben, keine Änderung.

                                            Das Device wird auch angelegt im JavaScript Folder und ich erhalte infos zu Token, IP Adresse usw.. Die Datenpunkte fuer die Funktionen werden auch angelegt nur bleiben sie leer.

                                            Wenn ich die Datei dmaker.fan.p18.js übrigens mal testweise wieder rauslösche und den Javascript Adapter neu starte, erhalte ich folgende (abweichende) Fehlermeldung:

                                            12:32:05.768	info	javascript.0 (5206) Stop script script.js.AllMyMi
                                            12:32:05.839	info	javascript.0 (5206) script.js.AllMyMi: Retrieving your in sg registered MiHome Devices
                                            12:32:06.597	info	javascript.0 (5206) script.js.AllMyMi: Found 1 MiHome Devices, those are:
                                            12:32:06.597	info	javascript.0 (5206) script.js.AllMyMi: Mi Smart Standing Fan 2
                                            12:32:06.598	info	javascript.0 (5206) script.js.AllMyMi: Now searching for supported Devices...
                                            12:32:06.598	info	javascript.0 (5206) script.js.AllMyMi: Device Mi Smart Standing Fan 2 is supported, creating DataPoints
                                            12:32:06.610	info	javascript.0 (5206) script.js.AllMyMi: Now creating device for dmaker.fan.p18 / xxx / xxx / xxx / 10000
                                            12:32:06.613	error	javascript.0 (5206) script.js.AllMyMi: Error: Model dmaker.fan.p18 is not supported
                                            12:32:06.614	error	javascript.0 (5206) at CreateDevices (script.js.AllMyMi:801:36)
                                            12:32:06.614	error	javascript.0 (5206) at main (script.js.AllMyMi:733:11)
                                            

                                            Wenn ich die Datei dmaker.fan.p18.js wieder zurueckkopiere, kommt wieder die gleiche Fehlermeldung wie urspruenglich.

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            554
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            49
                                            443
                                            64994
                                            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