Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Xiaomi Airpurifier 3H u.a. inkl. Token auslesen.

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
474 Beiträge 50 Kommentatoren 100.4k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Pittini

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

    crunchipC Abwesend
    crunchipC Abwesend
    crunchip
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #247

    @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.
    

    umgestiegen von Proxmox auf Unraid

    K P 2 Antworten Letzte Antwort
    1
    • crunchipC crunchip

      @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 Offline
      K Offline
      Kueppert
      schrieb am zuletzt editiert von
      #248

      @crunchip diese Fehlermeldung meinte ich ^^

      UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

      1 Antwort Letzte Antwort
      0
      • crunchipC crunchip

        @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.
        
        P Offline
        P Offline
        Pittini
        Developer
        schrieb am zuletzt editiert von
        #249

        @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.

        haselchenH 1 Antwort Letzte Antwort
        1
        • P Pittini

          @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.

          haselchenH Offline
          haselchenH Offline
          haselchen
          Most Active
          schrieb am zuletzt editiert von haselchen
          #250

          @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.

          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

          P 1 Antwort Letzte Antwort
          0
          • haselchenH 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 Offline
            P Offline
            Pittini
            Developer
            schrieb am zuletzt editiert von Pittini
            #251

            @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

            haselchenH 1 Antwort Letzte Antwort
            0
            • P 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

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von
              #252

              @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.

              Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

              P 1 Antwort Letzte Antwort
              0
              • haselchenH haselchen

                @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 Offline
                P Offline
                Pittini
                Developer
                schrieb am zuletzt editiert von
                #253

                @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.

                haselchenH 1 Antwort Letzte Antwort
                0
                • P Pittini

                  @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.

                  haselchenH Offline
                  haselchenH Offline
                  haselchen
                  Most Active
                  schrieb am zuletzt editiert von
                  #254

                  @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.

                  Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                  P 1 Antwort Letzte Antwort
                  0
                  • haselchenH haselchen

                    @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 Offline
                    P Offline
                    Pittini
                    Developer
                    schrieb am zuletzt editiert von
                    #255

                    @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?

                    haselchenH 1 Antwort Letzte Antwort
                    0
                    • P Pittini

                      @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?

                      haselchenH Offline
                      haselchenH Offline
                      haselchen
                      Most Active
                      schrieb am zuletzt editiert von
                      #256

                      @pittini

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

                      Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                      haselchenH 1 Antwort Letzte Antwort
                      0
                      • haselchenH haselchen

                        @pittini

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

                        haselchenH Offline
                        haselchenH Offline
                        haselchen
                        Most Active
                        schrieb am zuletzt editiert von
                        #257

                        @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 :)

                        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                        1 Antwort Letzte Antwort
                        1
                        • F fd

                          @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?

                          F Offline
                          F Offline
                          fd
                          schrieb am zuletzt editiert von fd
                          #258

                          @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 Antwort Letzte Antwort
                          0
                          • F 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 Offline
                            P Offline
                            Pittini
                            Developer
                            schrieb am zuletzt editiert von
                            #259

                            @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 Antwort Letzte Antwort
                            0
                            • P Pittini

                              @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 Offline
                              F Offline
                              fd
                              schrieb am zuletzt editiert von
                              #260

                              @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 Antwort Letzte Antwort
                              0
                              • F fd

                                @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 Offline
                                F Offline
                                fd
                                schrieb am zuletzt editiert von fd
                                #261

                                @fd Für alle, die ein ähnliches Problem haben, dass sie das Skript leider nicht zum Laufen bekommen: Ich habe das ganze jetzt über den ham adapter gelöst.

                                Folgendermaßen bin ich vorgegangen:

                                1. Via SSH "homebridge" und "homebridge xiaomi fan" installieren (siehe z.B. https://github.com/merdok/homebridge-xiaomi-fan für weitere Anmerkungen)
                                2. ham Adapter für den iobroker installieren
                                3. Im ham Adapter unter "Main Settings" "Local Mode (...)" wählen
                                4. Unter "Main Settings" "Additional NPM modules" "homebridge-xiaomi-fan" hinzufügen
                                5. Im ham Adapter unter "Configuration File" die in https://github.com/merdok/homebridge-xiaomi-fan beschriebenen Eintragungen vornehmen. Bei mir sieht das zB so aus (mit einigen Dummies und ohne Sonos):
                                {
                                  "bridge": {
                                    "name": "TEST",
                                    "username": "00:11:22:33:44:55",
                                    "port": 51826,
                                    "pin": "000-00-001"
                                  },
                                  "platforms": [
                                    {
                                      "name": "Config",
                                      "port": 8090,
                                      "auth": "form",
                                      "theme": "dark-mode",
                                      "tempUnits": "c",
                                      "lang": "auto",
                                      "sudo": false,
                                      "log": {
                                        "method": "file",
                                        "path": "/var/log/homebridge_ioB.log"
                                      },
                                      "platform": "config"
                                    },
                                    {
                                      "devices": [
                                        {
                                          "name": "Mi Smart Standing Fan 2",
                                          "ip": "192.xxx.xxx.xxx",
                                          "token": "xxxxx",
                                          "model": "dmaker.fan.p18",
                                          "pollingInterval": 10,
                                          "buzzerControl": true,
                                          "ledControl": true,
                                          "naturalModeControl": true,
                                          "sleepModeControl": true,
                                          "moveControl": true,
                                          "shutdownTimer": true,
                                          "angleButtons": [
                                            30,
                                            60,
                                            90,
                                            120,
                                            140
                                          ],
                                          "ioniserControl": false
                                        }
                                      ],
                                      "platform": "xiaomifan"
                                    }
                                  ],
                                  "accessories": []
                                }
                                

                                Diese Config-Datei kann mit anderen Einträgen (bei mir zB für Sonos) kombiniert werden. Den Token, das Modell und die IP Adresse des Ventilators kann einfach über die hier hinterlegte App ausgelesen werden: https://github.com/Maxmudjon/Get_MiHome_devices_token/releases
                                6. den ham Adapter neu starten (passiert eigentlich automatisch)
                                7. Unter Objects in ioBroker werden dann unter ham.0 die Ventilatorsettings und Steuermöglichkeiten angezeigt

                                Wenn der Ventilator in der Xiaomi App auftaucht, sollte er dann auch in ioBroker verfügbar sein.

                                Weitere Hinweise:

                                • Ich hatte den Ventilator testweise im Fritzbox-Gästenetz, dann funktioniert es aber leider nicht, er muss scheinbar lokal im Netz gut erreichbar sein
                                • Für mein Ventilatormodell sind alle Einstellungen in ioBroker vornehmbar, bis auf die exakte Fan Speed als Prozentangabe. Es gibt aber 4 Stufen, die gewählt werden können
                                • Der Ventilator erscheint auch ohne weiteres in der Apple Home App und kann dort auch gesteuert werden, dort kann sogar die Fan Speed in Prozent geändert werden. Hierzu muss der ham Adapter mit Apple Home verbunden werden, das müsstet Ihr nochmals googlen (bei mir liefs wegen des Sonos bereits), ist aber recht einfach.
                                • Wer der China-Cloud nicht vertraut, kann nach der Installtion des Ventilators in der Fritzbox den Internetzugang des Fans kappen. Er erscheint dann in der Xiaomi Home App als "offline"

                                @Pittini nochmals vielen herzlichen Dank für das Trouble-Shooting mit Deinem Skript, leider musste ich doch den anderen Weg gehen, da die Fehlermeldung nicht wegzubekommen war. Insbesondere die Tatsache, dass der Ventilator über ham ohne China Cloud lauffähig ist, ist m.E. ein Vorteil.

                                haselchenH Damrak2022D 2 Antworten Letzte Antwort
                                1
                                • F fd

                                  @fd Für alle, die ein ähnliches Problem haben, dass sie das Skript leider nicht zum Laufen bekommen: Ich habe das ganze jetzt über den ham adapter gelöst.

                                  Folgendermaßen bin ich vorgegangen:

                                  1. Via SSH "homebridge" und "homebridge xiaomi fan" installieren (siehe z.B. https://github.com/merdok/homebridge-xiaomi-fan für weitere Anmerkungen)
                                  2. ham Adapter für den iobroker installieren
                                  3. Im ham Adapter unter "Main Settings" "Local Mode (...)" wählen
                                  4. Unter "Main Settings" "Additional NPM modules" "homebridge-xiaomi-fan" hinzufügen
                                  5. Im ham Adapter unter "Configuration File" die in https://github.com/merdok/homebridge-xiaomi-fan beschriebenen Eintragungen vornehmen. Bei mir sieht das zB so aus (mit einigen Dummies und ohne Sonos):
                                  {
                                    "bridge": {
                                      "name": "TEST",
                                      "username": "00:11:22:33:44:55",
                                      "port": 51826,
                                      "pin": "000-00-001"
                                    },
                                    "platforms": [
                                      {
                                        "name": "Config",
                                        "port": 8090,
                                        "auth": "form",
                                        "theme": "dark-mode",
                                        "tempUnits": "c",
                                        "lang": "auto",
                                        "sudo": false,
                                        "log": {
                                          "method": "file",
                                          "path": "/var/log/homebridge_ioB.log"
                                        },
                                        "platform": "config"
                                      },
                                      {
                                        "devices": [
                                          {
                                            "name": "Mi Smart Standing Fan 2",
                                            "ip": "192.xxx.xxx.xxx",
                                            "token": "xxxxx",
                                            "model": "dmaker.fan.p18",
                                            "pollingInterval": 10,
                                            "buzzerControl": true,
                                            "ledControl": true,
                                            "naturalModeControl": true,
                                            "sleepModeControl": true,
                                            "moveControl": true,
                                            "shutdownTimer": true,
                                            "angleButtons": [
                                              30,
                                              60,
                                              90,
                                              120,
                                              140
                                            ],
                                            "ioniserControl": false
                                          }
                                        ],
                                        "platform": "xiaomifan"
                                      }
                                    ],
                                    "accessories": []
                                  }
                                  

                                  Diese Config-Datei kann mit anderen Einträgen (bei mir zB für Sonos) kombiniert werden. Den Token, das Modell und die IP Adresse des Ventilators kann einfach über die hier hinterlegte App ausgelesen werden: https://github.com/Maxmudjon/Get_MiHome_devices_token/releases
                                  6. den ham Adapter neu starten (passiert eigentlich automatisch)
                                  7. Unter Objects in ioBroker werden dann unter ham.0 die Ventilatorsettings und Steuermöglichkeiten angezeigt

                                  Wenn der Ventilator in der Xiaomi App auftaucht, sollte er dann auch in ioBroker verfügbar sein.

                                  Weitere Hinweise:

                                  • Ich hatte den Ventilator testweise im Fritzbox-Gästenetz, dann funktioniert es aber leider nicht, er muss scheinbar lokal im Netz gut erreichbar sein
                                  • Für mein Ventilatormodell sind alle Einstellungen in ioBroker vornehmbar, bis auf die exakte Fan Speed als Prozentangabe. Es gibt aber 4 Stufen, die gewählt werden können
                                  • Der Ventilator erscheint auch ohne weiteres in der Apple Home App und kann dort auch gesteuert werden, dort kann sogar die Fan Speed in Prozent geändert werden. Hierzu muss der ham Adapter mit Apple Home verbunden werden, das müsstet Ihr nochmals googlen (bei mir liefs wegen des Sonos bereits), ist aber recht einfach.
                                  • Wer der China-Cloud nicht vertraut, kann nach der Installtion des Ventilators in der Fritzbox den Internetzugang des Fans kappen. Er erscheint dann in der Xiaomi Home App als "offline"

                                  @Pittini nochmals vielen herzlichen Dank für das Trouble-Shooting mit Deinem Skript, leider musste ich doch den anderen Weg gehen, da die Fehlermeldung nicht wegzubekommen war. Insbesondere die Tatsache, dass der Ventilator über ham ohne China Cloud lauffähig ist, ist m.E. ein Vorteil.

                                  haselchenH Offline
                                  haselchenH Offline
                                  haselchen
                                  Most Active
                                  schrieb am zuletzt editiert von haselchen
                                  #262

                                  @fd

                                  Erstmal isses sowieso okay, wenn du nach einer "Ersatzlösung" guckst.
                                  Aber ich denke, in Deinen Einstellungen oder Installationen liegt der Hase im Pfeffer.
                                  Dein Workaround wird vermutlich niemand in Anspruch nehmen, weil es einfach zu @Pittini Script ein mit Kanonen auf Spatzen schiessen ist.
                                  Zusätzlicher Adapter + App auf dem Handy....

                                  Das Skript läuft. Der Entwickler und ich stehen fast in ständigem Austausch.
                                  Ich habe auch einen Smart Fan (dmaker.fan.p15)
                                  Wenn Du alles nach Anleitung machst, klappt das auch 100%.
                                  Und zur China Cloud, ich kann den Fan mit @Pittini Script auch ohne Internet steuern.
                                  Um das Argument mal zu schwächen ;)

                                  Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    SaiBot1981
                                    schrieb am zuletzt editiert von SaiBot1981
                                    #263

                                    Moin, ich hatte doch mal erwähnt das bei mir bei 3H keine Temps aktualisiert werden. Mit Admin 5 habe ich nun folgenden Log gefunden:

                                    	Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
                                    
                                    

                                    Ich habe nun auch das Skript auf Version 2.8 aktualisiert, aber leider ohne Besserung

                                    P 1 Antwort Letzte Antwort
                                    0
                                    • S SaiBot1981

                                      Moin, ich hatte doch mal erwähnt das bei mir bei 3H keine Temps aktualisiert werden. Mit Admin 5 habe ich nun folgenden Log gefunden:

                                      	Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
                                      
                                      

                                      Ich habe nun auch das Skript auf Version 2.8 aktualisiert, aber leider ohne Besserung

                                      P Offline
                                      P Offline
                                      Pittini
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #264

                                      @saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • P Pittini

                                        @saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.

                                        S Offline
                                        S Offline
                                        SaiBot1981
                                        schrieb am zuletzt editiert von SaiBot1981
                                        #265

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

                                        @saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.

                                        Sorry hatte die 0.2.8 am laufen. habe nun alle datenpunkte gelöscht und das skript auch nochmal neu erstellt mit version 0.2.24
                                        leider wieder diese meldung:

                                        Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
                                        

                                        Hier auch der Log direkt nach dem Start (Ohne meinen token):

                                        	script.js.Heizung.Xiaomi_Luftreiniger_all: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"XXXXXXXXX","address":"XXXXXXXXXX","token":"XXXXXXXXXXXXXX","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","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
                                        
                                        P 1 Antwort Letzte Antwort
                                        0
                                        • S SaiBot1981

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

                                          @saibot1981 Eine Version 2.8 gibts nicht, aktuell ist 0.2.24. Lösch mal den Datenpunkt und schau obs weiterhin kommt, ich hab den 3H nämlich auch und keine derartigen Meldungen mehr.

                                          Sorry hatte die 0.2.8 am laufen. habe nun alle datenpunkte gelöscht und das skript auch nochmal neu erstellt mit version 0.2.24
                                          leider wieder diese meldung:

                                          Read-only state "javascript.0.MiHomeAll.333271530.environment.temperature" has been written without ack-flag with value "23.7"
                                          

                                          Hier auch der Log direkt nach dem Start (Ohne meinen token):

                                          	script.js.Heizung.Xiaomi_Luftreiniger_all: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"XXXXXXXXX","address":"XXXXXXXXXX","token":"XXXXXXXXXXXXXX","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","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
                                          
                                          P Offline
                                          P Offline
                                          Pittini
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #266

                                          @saibot1981 Es gibt im ganzen Skript keinen einzigen setstate Befehl mehr welcher nicht das Ack Flag setzt, ich hab keine Ahnung woher das kommt und wie gesagt, bei mir kommts auch nicht. Du kannsts nochmal mit der 0.2.25 versuchen, da gabs paar kleinere Fixes, wenns dann immer noch kommt....müssen wir eruieren woher/warum das bei Dir kommt.

                                          K 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          774

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe