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.
    • T
      tombox @Wildbill last edited by tombox

      @wildbill Ich habe mal schnell ein Adapter geschrieben der die Geräte infos via Cloud abfragt ich bin mir jetzt unsicher ob das die richtige Richtung ist
      Steuern ist noch nicht möglich kommt drauf an ob so ein Adapter überhaupt sinnvoll ist
      https://forum.iobroker.net/topic/59636/test-adapter-mihome-cloud

      haselchen W 2 Replies Last reply Reply Quote 2
      • haselchen
        haselchen Most Active @tombox last edited by haselchen

        @tombox

        Erstmal cool, dass du dich dem Thema widmest!!

        Nur Infos lesen wird natürlich nicht reichen.
        Der User möchte ja schalten oder Einstellungen vornehmen.
        Und da sind wir dann bei den Devices, die vom Adapter unterstütz werden müssen.
        Momentan gibt es Konfigurationsdateien für die einzelnen Geräte.
        Keine Ahnung, ob man die so ohne weiteres in einen Adapter bauen kann.

        1 Reply Last reply Reply Quote 0
        • T
          tombox last edited by

          @haselchen Es würde mir erstmal reichen als Feedback ob alle Geräte gelesen und angezeigt werden dann kann man steuern noch nachziehen

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

            @tombox

            Alles klärchen. Werde ich nachher testen und Feedback geben.

            1 Reply Last reply Reply Quote 0
            • W
              Wildbill @tombox last edited by

              @tombox Von mir wird da kein Feedback kommen. Ich verwende seit Monaten für die air purifier FHEM und habe das per Adapter mit iobroker verbunden. Läuft absolut problemlos, seitdem nicht einmal das kleinste Problem und somit kein Grund für mich, das zu ändern. FHEM läuft sowieso nich für ein paar andere Dinge.
              Aber Danke trotzdem.

              Gruss, Jürgen

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

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

                @michael-mauer

                Ja, hab ich auch:

                2022-07-22 19:05:42.199  - info: javascript.0 (155217) Start javascript script.js.common.nodemihome
                2022-07-22 19:05:42.394  - info: javascript.0 (155217) script.js.common.nodemihome: Starting AllMyMi V.0.2.29
                2022-07-22 19:05:42.500  - info: javascript.0 (155217) script.js.common.nodemihome: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                2022-07-22 19:05:43.259  - info: javascript.0 (155217) script.js.common.nodemihome: Retrieving your in cn registered MiHome Devices
                2022-07-22 19:05:48.288  - error: javascript.0 (155217) An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                2022-07-22 19:05:48.290  - error: javascript.0 (155217) Error: network timeout at: https://api.io.mi.com/app/home/device_list
                2022-07-22 19:05:48.291  - error: javascript.0 (155217) FetchError: network timeout at: https://api.io.mi.com/app/home/device_list
                    at Timeout.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/lib/index.js:1484:13)
                    at listOnTimeout (node:internal/timers:564:17)
                    at processTimers (node:internal/timers:507:7)
                

                Issue angelegt:

                https://github.com/Pittini/iobroker-nodemihome/issues/61

                Hallo zusammen,
                auf Github hat jemand eine Lösung für das Timeout gepostet!

                George-Cara commented 8 days ago •
                Hi . For this error with newer JSCRIPT Adapter (>6) the developer should modify the code. until then please go to /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib and edit the file protocol-micloud.js . You will find
                this.REQUEST_TIMEOUT = that you should set to 20000

                This is the proper timeout for me. I think it will work for you also.

                Hat bei mir funktioniert, ich kann den Luftreiniger wieder steuern.

                Mike

                1 Reply Last reply Reply Quote 1
                • W
                  W0RSCHD last edited by W0RSCHD

                  [SOLVED]

                  habe hier jetzt mal soweit alles durch, aber leider nicht wirklich die Lösung gefunden...

                  Bei mir startet das Script nicht, es kommt immer folgender Fehler:

                  14:17:49.332	info	javascript.0 (28083) Start javascript script.js.MiHomeAll
                  14:17:49.342	error	javascript.0 (28083) script.js.MiHomeAll: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/yeelink.light.color2.js:8
                  14:17:49.342	error	javascript.0 (28083) at script.js.MiHomeAll:3:16
                  14:17:49.343	error	javascript.0 (28083) at script.js.MiHomeAll:1186:3
                  14:17:49.343	info	javascript.0 (28083) script.js.MiHomeAll: Starting AllMyMi V.0.2.29
                  14:17:49.344	info	javascript.0 (28083) script.js.MiHomeAll: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                  14:17:49.345	error	javascript.0 (28083) script.js.MiHomeAll: TypeError: Cannot read properties of undefined (reading 'miioProtocol')
                  14:17:49.345	error	javascript.0 (28083) at Init (script.js.MiHomeAll:863:12)
                  14:17:49.345	error	javascript.0 (28083) at script.js.MiHomeAll:35:1
                  14:17:49.345	error	javascript.0 (28083) at script.js.MiHomeAll:1186:3
                  

                  NodeJS18 und NPM9.6.2...

                  Installiert hab ichs nach Github Anleitung und auch das NPM Modul Mi-Home nochmal händisch nachinstalliert ohne Erfolg. Iobroker läuft auf einem Debian Bullseye.
                  Was kann ich noch machen um das Script zum laufen zu bekommen?

                  Lösche ich die yeelink.light.color2.js, dann startet das Script und legt die beiden Lampen an, aber es kommt dann die Fehlermeldung Yeelink.light.color2 not supported...
                  Kopiere ich die yeelink.light.color2.js wieder in den ordner, dann startet das script komplett nicht, siehe geposteten Log von oben.

                  EDIT: Problem gelöst, war mein Fehler, da hat sich die yeelink.light.color2.js irgendwie verhauen, hab die nochmal neu erstellt und den Inhalt händisch rein kopiert, jetzt läuft es 🙂

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

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

                    NodeJS18 und NPM9.6.2...

                    Von Hand herumgebastelt...
                    Die Kombination kommt so nicht von nodejs im Downstream voreingestellt.
                    Schau dir das Thema nodejs und wie man das richtig sauber installiert an.

                    1 Reply Last reply Reply Quote 0
                    • W
                      W0RSCHD last edited by

                      @thomas-braun ja hast recht, normal ist 9.5.0... lag ja aber letzten Endes nicht da dran

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

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

                        lag ja aber letzten Endes nicht da dran

                        Fix das, sonst liegt es beim nächsten Problem dann doch daran.

                        W 1 Reply Last reply Reply Quote 1
                        • W
                          W0RSCHD @Thomas Braun last edited by W0RSCHD

                          @thomas-braun downgrade durchgeführt, bin wieder bei 9.5.0... (npm install -g npm@9.5.0)

                          Ein Problem habe ich schon, die Lampen lassen sich an, aber nicht mehr ausschalten 😄 ...

                          Der Datenpunkt POWER geht auf false, die Lampen bleiben aber an

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

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

                            downgrade durchgeführt, bin wieder bei 9.5.0...

                            Schau per

                            sudo ln -s /usr/bin/node /usr/bin/nodejs &> /dev/null
                            uname -m && type -P nodejs node npm npx && nodejs -v && node -v && npm -v && npx -v && iob -v && whoami && groups && echo $XDG_SESSION_TYPE && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
                            

                            nach ob das jetzt senkrecht ist.

                            W 1 Reply Last reply Reply Quote 1
                            • W
                              W0RSCHD @Thomas Braun last edited by W0RSCHD

                              @thomas-braun

                              x86_64
                              /usr/bin/nodejs
                              /usr/bin/node
                              /usr/bin/npm
                              /usr/bin/npx
                              v18.15.0
                              v18.15.0
                              9.5.0
                              9.5.0
                              4.0.24
                              root
                              root
                              
                              /root
                              
                              nodejs:
                               Installiert:           18.15.0-deb-1nodesource1
                               Installationskandidat: 18.15.0-deb-1nodesource1
                               Versionstabelle:
                              *** 18.15.0-deb-1nodesource1 500
                                     500 https://deb.nodesource.com/node_18.x bullseye/main amd64 Packages
                                     100 /var/lib/dpkg/status
                                  12.22.5~dfsg-2~11u1 500
                                     500 http://ftp.de.debian.org/debian bullseye/main amd64 Packages
                              
                              
                              W 1 Reply Last reply Reply Quote 0
                              • W
                                W0RSCHD @W0RSCHD last edited by

                                16:13:23.049	info	javascript.0 (140952) script.js.MiHomeAll: Keyvalue=true key=0
                                16:13:23.049	info	javascript.0 (140952) script.js.MiHomeAll: {}
                                16:13:23.711	info	javascript.0 (140952) script.js.MiHomeAll: Keyvalue=true key=0
                                16:13:23.711	info	javascript.0 (140952) script.js.MiHomeAll: {}
                                16:13:26.884	info	javascript.0 (140952) script.js.MiHomeAll: Keyvalue=false key=0
                                16:13:26.884	info	javascript.0 (140952) script.js.MiHomeAll: {}
                                16:13:27.519	info	javascript.0 (140952) script.js.MiHomeAll: Keyvalue=false key=0
                                16:13:27.519	info	javascript.0 (140952) script.js.MiHomeAll: {}
                                

                                Gehen aber nur an, aber nicht mehr aus ?!?

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

                                  @w0rschd

                                  Passt, allerdings meld dich als root ab!!
                                  Nutze einen Standarduser, wie es vorgesehen ist.

                                  W 1 Reply Last reply Reply Quote 1
                                  • W
                                    W0RSCHD @Thomas Braun last edited by

                                    @thomas-braun ja, das ist klar, so hab ichs auch in der Regel.

                                    Nur hast du evtl. auch eine Lösung, dass die Lampen IMMER an gehen, das klappt jedesmal, aber AUS gehen sie nicht mehr, wenn ich den Datenpunkt POWER auf false schalte. Auf false geht er, die Lampen bleiben aber an, ich muss sie dann wieder über die APP ausschalten... Wo könnte der Fehler liegen dass das ausschalten nicht geht?

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

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

                                      so hab ichs auch in der Regel.

                                      Und warum JETZT nicht? Man wird NIE NIE NIE root, weil es einfach NIE NIE NIE dafür einen Grund gibt.

                                      Als user einloggen, root-Zugang vergessen,

                                      Mit

                                      iob stop
                                      iob fix
                                      iob start
                                      

                                      den iobroker reparieren.

                                      W 1 Reply Last reply Reply Quote 1
                                      • W
                                        W0RSCHD @Thomas Braun last edited by

                                        @thomas-braun ja, danke für den Hinweis, ich verstehe die Problematik schon, fix auch schon durchgeführt...

                                        Kann mir jemand evtl. noch bitte sagen warum die Lampen nicht mehr auszuschalten gehen? Es kommt auch kein Fehler und der Datenpunkt bleibt auf False...
                                        In der App sieht man aber dass sie noch an sind und nur über die App lassen sie sich wieder ausschalten.
                                        Mit der Yeelight App ging das an und ausschalten, die läuft ja leider unter NodeJS18 nicht mehr (was an sich auch egal wäre, wenn das schalten per Script klappen würde)

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          W0RSCHD @W0RSCHD last edited by

                                          Habs hinbekommen, jetzt läufts, habe das Script folgendermassen verändert:

                                          "power": async function (obj, val) { await device[obj].setPower(val ? 'on' : 'off') },
                                          
                                          "power": async function (obj, val) { await device[obj].setPower(val) },
                                          
                                          W 1 Reply Last reply Reply Quote 0
                                          • W
                                            W0RSCHD @W0RSCHD last edited by W0RSCHD

                                            Eine andere Frage,
                                            damit die Yeelight Color 2 mit dem Script funktionieren, muss man ja das File mit dem Profile in den "/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/yeelink.light.color2.js" Ordner kopieren.
                                            Danach Javascript und das eigentliche Script neu starten...
                                            Das funktioniert auch soweit gut, allerdings habe ich das Problem, nach einem Neustart von iobroker ist das File wieder weg.
                                            Habe gedacht ok, mach ich ein shell script, welches nach einem reboot das file direkt wieder in den Ordner kopiert, aaaaber: Den Ordner gibts nicht direkt nach
                                            Reboot, der wird erst wieder erstellt wenn iobroker gestartet ist, bzw. 1-2 Minuten nach Start von iobroker...
                                            Somit muss ich das file jedesmal nachdem iobroker gestartet ist wieder hin kopiert werden und und und...
                                            Auch wenn ich das File hin kopiere, den Besitzer auf iobroker ändere und die rechte setze, ist nach einem Neustart wieder das File weg.
                                            Hat(te) das Problem noch jemand, falls ja wie gelöst damit das dauerhaft vorhanden bleibt?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            866
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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