Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    515

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

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

Scheduled Pinned Locked Moved JavaScript
474 Posts 50 Posters 110.4k Views 41 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • crunchipC crunchip

    @Pittini hab grad diese Meldung im log gesehen

    2020-12-27 12:58:12.299 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.Mode" which expects a string. Please fix your code to use a string or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.303 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.303 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:181:9)
    2020-12-27 12:58:12.303 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.303 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.304 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.304 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.304 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.304 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.304 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.FanLevel" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.305 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.305 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:185:9)
    2020-12-27 12:58:12.306 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.306 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.306 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.308 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.309 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.309 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.309 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.Buzzer" which expects a boolean. Please fix your code to use a boolean or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.310 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.310 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:189:9)
    2020-12-27 12:58:12.310 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.310 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.310 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.311 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.311 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.311 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.311 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.LcdBrightness" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.312 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.312 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:193:9)
    2020-12-27 12:58:12.312 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.312 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.313 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.313 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.313 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.313 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.313 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.Temperature" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.314 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.314 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:198:9)
    2020-12-27 12:58:12.314 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.314 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.315 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.315 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.315 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.315 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.315 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.Humidity" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.316 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.316 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:202:9)
    2020-12-27 12:58:12.316 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.316 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.317 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.317 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.317 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.317 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.317 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.PM2_5" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.318 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.318 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:206:9)
    2020-12-27 12:58:12.318 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.318 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.319 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.319 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.319 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.319 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    2020-12-27 12:58:12.319 - warn: javascript.0 (1400) You are assigning a undefined to the state "javascript.0.MiHome.308331024.FilterRemaining" which expects a number. Please fix your code to use a number or change the state type to undefined. This warning might become an error in future versions.
    2020-12-27 12:58:12.320 - warn: javascript.0 (1400) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
    2020-12-27 12:58:12.320 - warn: javascript.0 (1400) at RefreshDps (script.js.Mipurifier3H:210:9)
    2020-12-27 12:58:12.320 - warn: javascript.0 (1400) at module.exports. (script.js.Mipurifier3H:160:9)
    2020-12-27 12:58:12.320 - warn: javascript.0 (1400) at module.exports.emit (events.js:314:20)
    2020-12-27 12:58:12.321 - warn: javascript.0 (1400) at module.exports.EventEmitter.emit (domain.js:483:12)
    2020-12-27 12:58:12.321 - warn: javascript.0 (1400) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
    2020-12-27 12:58:12.321 - warn: javascript.0 (1400) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
    2020-12-27 12:58:12.321 - error: javascript.0 (1400) script.js.Mipurifier3H: setForeignState: undefined is not a valid state value
    

    P Offline
    P Offline
    Pittini
    Developer
    wrote on last edited by
    #30

    @crunchip Einmalig? Wenn nein, wie oft? Seit wann? Iwas geändert?

    crunchipC 1 Reply Last reply
    0
    • P Pittini

      @crunchip Einmalig? Wenn nein, wie oft? Seit wann? Iwas geändert?

      crunchipC Away
      crunchipC Away
      crunchip
      Forum Testing Most Active
      wrote on last edited by crunchip
      #31

      @Pittini ist mir nur jetzt einmal aufgefallen durch Zufall, weil ich das log offen hatte. Nein nichts geändert und auch nichts geschaltet
      edit: guck grad das log durch, tritt mehrmals auf
      log von heute Nacht ab

      • 02:54
      • 03:56
      • 04:09
      • 05:42
      • 12:58

      umgestiegen von Proxmox auf Unraid

      P 1 Reply Last reply
      0
      • crunchipC crunchip

        @Pittini ist mir nur jetzt einmal aufgefallen durch Zufall, weil ich das log offen hatte. Nein nichts geändert und auch nichts geschaltet
        edit: guck grad das log durch, tritt mehrmals auf
        log von heute Nacht ab

        • 02:54
        • 03:56
        • 04:09
        • 05:42
        • 12:58
        P Offline
        P Offline
        Pittini
        Developer
        wrote on last edited by
        #32

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

        @Pittini ist mir nur jetzt einmal aufgefallen durch Zufall, weil ich das log offen hatte. Nein nichts geändert und auch nichts geschaltet
        edit: guck grad das log durch, tritt mehrmals auf
        log von heute Nacht ab

        • 02:54
        • 03:56
        • 04:09
        • 05:42
        • 12:58

        Ok, danke, offenbar kommt da gelegentlich nix an von der Cloud. Werd ich abfangen in der nächsten Version. Danke für die Meldung.

        1 Reply Last reply
        1
        • P Pittini

          @Spampunk
          An die Anleitung gehalten? JS Adapter Version > 4.8.0? node-mihome im js Adapter eingetragen? Richtigen Server unter options eingetragen?

          S Offline
          S Offline
          Spampunk
          wrote on last edited by
          #33

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

          @Spampunk

          An die Anleitung gehalten? Soweit ich sie verstanden habe, ja.

          JS Adapter Version > 4.8.0? Version 4.8.4

          node-mihome im js Adapter eingetragen? Ja, habe ich.

          Richtigen Server unter options eingetragen? Den Deutschen, ja (wie in der Xiaomi App).

          Woran kann es noch liegen? Ich habe die Standard-Firewall innerhalb der Fritzbox. Mit meinem Handy kann ich im WLAN auf Xiaomi App und FloleVac App zugreifen. Kann ich unter iobroker eventuell den Xiaomi-Server anpingen? Wie müsste ich dann wohl vorgehen?

          P 1 Reply Last reply
          0
          • S Spampunk

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

            @Spampunk

            An die Anleitung gehalten? Soweit ich sie verstanden habe, ja.

            JS Adapter Version > 4.8.0? Version 4.8.4

            node-mihome im js Adapter eingetragen? Ja, habe ich.

            Richtigen Server unter options eingetragen? Den Deutschen, ja (wie in der Xiaomi App).

            Woran kann es noch liegen? Ich habe die Standard-Firewall innerhalb der Fritzbox. Mit meinem Handy kann ich im WLAN auf Xiaomi App und FloleVac App zugreifen. Kann ich unter iobroker eventuell den Xiaomi-Server anpingen? Wie müsste ich dann wohl vorgehen?

            P Offline
            P Offline
            Pittini
            Developer
            wrote on last edited by
            #34

            @Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.

            S M 2 Replies Last reply
            0
            • P Pittini

              @Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.

              S Offline
              S Offline
              Spampunk
              wrote on last edited by
              #35

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

              @Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.

              Eine Sache ist mir noch aufgefallen: im Skriptbereich wird mir rot unterschlängelt Cannot find module 'node-mihome' angezeigt, obwohl ich es im Javascript-Adapter eingetragen habe. Muss ich dieses Modul noch irgendwo installieren?

              Unbenannt.png

              crunchipC 1 Reply Last reply
              0
              • S Spampunk

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

                @Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.

                Eine Sache ist mir noch aufgefallen: im Skriptbereich wird mir rot unterschlängelt Cannot find module 'node-mihome' angezeigt, obwohl ich es im Javascript-Adapter eingetragen habe. Muss ich dieses Modul noch irgendwo installieren?

                Unbenannt.png

                crunchipC Away
                crunchipC Away
                crunchip
                Forum Testing Most Active
                wrote on last edited by
                #36

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

                Muss ich dieses Modul noch irgendwo installieren

                wenn du es dort einträgst, wird es ja installiert, wobei mir das auch schon mal passiert ist, das ein Modul nicht korrekt funktionierte und habe es dann manuell über die Konsole installiert.
                letztendlich, ein Neustart, wie zuvor schon erwähnt

                umgestiegen von Proxmox auf Unraid

                1 Reply Last reply
                0
                • P Pittini

                  @Spampunk Das einzige was mir noch einfällt und zumindest in einem Fall geholfen hat, wäre mal das komplette System neuzustarten.

                  M Offline
                  M Offline
                  m76
                  wrote on last edited by
                  #37

                  @pittini

                  Habe versucht wie folgt das Script zu installiere:

                  1. Javascript adapter 4.8.4
                  2. "node-mihome" beim Javascript Adapter unter "Zusätzliche NPM-Module" eingetragen
                  3. Das Script in raw von https://raw.githubusercontent.com/Pittini/iobroker-nodemihome/main/AllMyMi-V0.2.5.js Als neues Javascript script angelegt
                  4. user und passw eingetragen. country auf de belassen.
                    Bekomme aber folgenden Fehler:
                  2021-01-20 13:12:44.977  - info: javascript.0 (15537) Start javascript script.js.VIS.Xiaomi.AllMyMi
                  2021-01-20 13:12:45.223  - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'
                  2021-01-20 13:12:45.224  - error: javascript.0 (15537)     at script.js.VIS.Xiaomi.AllMyMi:3:16
                  2021-01-20 13:12:45.225  - error: javascript.0 (15537)     at Script.runInContext (vm.js:133:20)
                  2021-01-20 13:12:45.226  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Starting AllMyMi V.0.2.5
                  2021-01-20 13:12:45.227  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Reaching init
                  2021-01-20 13:12:45.233  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: registered 0 subscriptions and 0 schedules
                  2021-01-20 13:12:45.238  - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: TypeError: Cannot read property 'miioProtocol' of undefined
                  2021-01-20 13:12:45.239  - error: javascript.0 (15537)     at Init (script.js.VIS.Xiaomi.AllMyMi:586:12)
                  2021-01-20 13:12:45.240  - error: javascript.0 (15537)     at script.js.VIS.Xiaomi.AllMyMi:67:1
                  2021-01-20 13:12:45.240  - error: javascript.0 (15537)     at Script.runInContext (vm.js:133:20)
                  

                  inden logs habe ich gesehen, dass es so installiert wurde, läuft auch ohne Fehler wenn ich es manuell ausführe
                  npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"

                  find . -name node-mihome
                  ./node_modules/iobroker.javascript/node_modules/node-mihome
                  

                  Was habe ich übersehen?

                  M 1 Reply Last reply
                  0
                  • M m76

                    @pittini

                    Habe versucht wie folgt das Script zu installiere:

                    1. Javascript adapter 4.8.4
                    2. "node-mihome" beim Javascript Adapter unter "Zusätzliche NPM-Module" eingetragen
                    3. Das Script in raw von https://raw.githubusercontent.com/Pittini/iobroker-nodemihome/main/AllMyMi-V0.2.5.js Als neues Javascript script angelegt
                    4. user und passw eingetragen. country auf de belassen.
                      Bekomme aber folgenden Fehler:
                    2021-01-20 13:12:44.977  - info: javascript.0 (15537) Start javascript script.js.VIS.Xiaomi.AllMyMi
                    2021-01-20 13:12:45.223  - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'
                    2021-01-20 13:12:45.224  - error: javascript.0 (15537)     at script.js.VIS.Xiaomi.AllMyMi:3:16
                    2021-01-20 13:12:45.225  - error: javascript.0 (15537)     at Script.runInContext (vm.js:133:20)
                    2021-01-20 13:12:45.226  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Starting AllMyMi V.0.2.5
                    2021-01-20 13:12:45.227  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: Reaching init
                    2021-01-20 13:12:45.233  - info: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: registered 0 subscriptions and 0 schedules
                    2021-01-20 13:12:45.238  - error: javascript.0 (15537) script.js.VIS.Xiaomi.AllMyMi: TypeError: Cannot read property 'miioProtocol' of undefined
                    2021-01-20 13:12:45.239  - error: javascript.0 (15537)     at Init (script.js.VIS.Xiaomi.AllMyMi:586:12)
                    2021-01-20 13:12:45.240  - error: javascript.0 (15537)     at script.js.VIS.Xiaomi.AllMyMi:67:1
                    2021-01-20 13:12:45.240  - error: javascript.0 (15537)     at Script.runInContext (vm.js:133:20)
                    

                    inden logs habe ich gesehen, dass es so installiert wurde, läuft auch ohne Fehler wenn ich es manuell ausführe
                    npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"

                    find . -name node-mihome
                    ./node_modules/iobroker.javascript/node_modules/node-mihome
                    

                    Was habe ich übersehen?

                    M Offline
                    M Offline
                    m76
                    wrote on last edited by
                    #38

                    @m76

                    wenn ich den require ändere auf:
                    const mihome = require('iobroker.javascript/node_modules/node-mihome');

                    bekomme ich folgenden Fehler:

                    2021-01-20 13:59:22.353  - error: javascript.0 (22232) script.js.VIS.Xiaomi.testMii: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/deerma.humidifier.jsq.js:5
                    2021-01-20 13:59:22.353  - error: javascript.0 (22232)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                    2021-01-20 13:59:22.353  - error: javascript.0 (22232)     at Module.load (internal/modules/cjs/loader.js:653:32)
                    2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                    2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                    2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at Module.require (internal/modules/cjs/loader.js:692:17)
                    2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at require (internal/modules/cjs/helpers.js:25:18)
                    2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23)
                    2021-01-20 13:59:22.355  - error: javascript.0 (22232)     at Array.forEach (<anonymous>)
                    ...
                    
                    W 1 Reply Last reply
                    0
                    • M m76

                      @m76

                      wenn ich den require ändere auf:
                      const mihome = require('iobroker.javascript/node_modules/node-mihome');

                      bekomme ich folgenden Fehler:

                      2021-01-20 13:59:22.353  - error: javascript.0 (22232) script.js.VIS.Xiaomi.testMii: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/deerma.humidifier.jsq.js:5
                      2021-01-20 13:59:22.353  - error: javascript.0 (22232)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                      2021-01-20 13:59:22.353  - error: javascript.0 (22232)     at Module.load (internal/modules/cjs/loader.js:653:32)
                      2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                      2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                      2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at Module.require (internal/modules/cjs/loader.js:692:17)
                      2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at require (internal/modules/cjs/helpers.js:25:18)
                      2021-01-20 13:59:22.354  - error: javascript.0 (22232)     at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23)
                      2021-01-20 13:59:22.355  - error: javascript.0 (22232)     at Array.forEach (<anonymous>)
                      ...
                      
                      W Online
                      W Online
                      Wildbill
                      wrote on last edited by
                      #39

                      @m76 Hast Du den JS-Adapter danach einmal komplett neu gestartet?

                      Gruß, Jürgen

                      M 1 Reply Last reply
                      0
                      • W Wildbill

                        @m76 Hast Du den JS-Adapter danach einmal komplett neu gestartet?

                        Gruß, Jürgen

                        M Offline
                        M Offline
                        m76
                        wrote on last edited by
                        #40

                        @wildbill

                        hi, ja, ich hatte den erst in compact mode. Verursachte aber Probleme, startete sich immer wieder neu.
                        Ich hatte auch probiert:
                        npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"
                        (wie gesehen im log - keine Auffälligkeiten)
                        npm install node-mihome
                        Letzteres brachtre gleiche Fehlermeldung wenn ichmich nicht irre als wie mit dem "require".

                        W 1 Reply Last reply
                        0
                        • M m76

                          @wildbill

                          hi, ja, ich hatte den erst in compact mode. Verursachte aber Probleme, startete sich immer wieder neu.
                          Ich hatte auch probiert:
                          npm install node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript"
                          (wie gesehen im log - keine Auffälligkeiten)
                          npm install node-mihome
                          Letzteres brachtre gleiche Fehlermeldung wenn ichmich nicht irre als wie mit dem "require".

                          W Online
                          W Online
                          Wildbill
                          wrote on last edited by
                          #41

                          @m76 Wie sieht es bei Dir im iobroker unter "/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/" aus. Hast Du da die devices als einzelne Dateien?

                          Gruss, Jürgen

                          1 Reply Last reply
                          0
                          • A Offline
                            A Offline
                            ahzurdan
                            wrote on last edited by
                            #42

                            Hallo Gemeinde,
                            ich versuche das Skript auf meinem Pi4 laufen zu lassen (JS 4.8.4, node-mihome da drin eingetragen, user/pass im Skript)

                            Ich bekomme aber nur Fehler beim Skriptstart. Was habe ich vergessen?

                            vg
                            Sven

                            javascript.0 2021-01-28 15:17:41.974 error (2380) at Script.runInContext (vm.js:133:20)
                            javascript.0 2021-01-28 15:17:41.974 error (2380) at script.js.skripte.Allgemein.Purify:3:16
                            javascript.0 2021-01-28 15:17:41.974 error (2380) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:389:36)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                            javascript.0 2021-01-28 15:17:41.973 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/index.js:5:16)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                            javascript.0 2021-01-28 15:17:41.972 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/device.js:1:16)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                            javascript.0 2021-01-28 15:17:41.971 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/models.js:6:54)
                            javascript.0 2021-01-28 15:17:41.970 error (2380) at Array.forEach (<anonymous>:null:null)
                            javascript.0 2021-01-28 15:17:41.969 error (2380) at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/node-mihome/lib/models.js:9:23)
                            javascript.0 2021-01-28 15:17:41.969 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                            javascript.0 2021-01-28 15:17:41.969 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                            javascript.0 2021-01-28 15:17:41.969 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                            javascript.0 2021-01-28 15:17:41.969 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                            javascript.0 2021-01-28 15:17:41.968 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                            javascript.0 2021-01-28 15:17:41.968 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                            javascript.0 2021-01-28 15:17:41.968 error (2380) script.js.skripte.Allgemein.Purify: /opt/iobroker/node_modules/node-mihome/lib/devices/imibar.cooker.mbihr3.js:26

                            P 1 Reply Last reply
                            0
                            • A ahzurdan

                              Hallo Gemeinde,
                              ich versuche das Skript auf meinem Pi4 laufen zu lassen (JS 4.8.4, node-mihome da drin eingetragen, user/pass im Skript)

                              Ich bekomme aber nur Fehler beim Skriptstart. Was habe ich vergessen?

                              vg
                              Sven

                              javascript.0 2021-01-28 15:17:41.974 error (2380) at Script.runInContext (vm.js:133:20)
                              javascript.0 2021-01-28 15:17:41.974 error (2380) at script.js.skripte.Allgemein.Purify:3:16
                              javascript.0 2021-01-28 15:17:41.974 error (2380) at require (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:389:36)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                              javascript.0 2021-01-28 15:17:41.973 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/index.js:5:16)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                              javascript.0 2021-01-28 15:17:41.972 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/device.js:1:16)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                              javascript.0 2021-01-28 15:17:41.971 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at Module._compile (internal/modules/cjs/loader.js:778:30)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at Object.<anonymous> (/opt/iobroker/node_modules/node-mihome/lib/models.js:6:54)
                              javascript.0 2021-01-28 15:17:41.970 error (2380) at Array.forEach (<anonymous>:null:null)
                              javascript.0 2021-01-28 15:17:41.969 error (2380) at glob.sync.forEach.modelPath (/opt/iobroker/node_modules/node-mihome/lib/models.js:9:23)
                              javascript.0 2021-01-28 15:17:41.969 error (2380) at require (internal/modules/cjs/helpers.js:25:18)
                              javascript.0 2021-01-28 15:17:41.969 error (2380) at Module.require (internal/modules/cjs/loader.js:692:17)
                              javascript.0 2021-01-28 15:17:41.969 error (2380) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                              javascript.0 2021-01-28 15:17:41.969 error (2380) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                              javascript.0 2021-01-28 15:17:41.968 error (2380) at Module.load (internal/modules/cjs/loader.js:653:32)
                              javascript.0 2021-01-28 15:17:41.968 error (2380) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                              javascript.0 2021-01-28 15:17:41.968 error (2380) script.js.skripte.Allgemein.Purify: /opt/iobroker/node_modules/node-mihome/lib/devices/imibar.cooker.mbihr3.js:26

                              P Offline
                              P Offline
                              Pittini
                              Developer
                              wrote on last edited by
                              #43

                              @ahzurdan Wie ich grad auf Git schon schrieb:
                              (2380) at script.js.skripte.Allgemein.Purify:3:16 is das Problem, was danach kommt sind folgefehler würd ich sagen. Zeile 3 is das

                              const mihome = require('node-mihome');
                              

                              Also passt iwas mit node-mihome nicht. Auch seltsam ist der Pfad den ich im letzten Logeintrag seh, bei mir sieht der so aus,
                              /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/
                              aber evtl. is das wegen pi. Jedenfalls, das Problem is nicht das Skript, sondern die Einbindung von node-mihome

                              H 1 Reply Last reply
                              0
                              • P Pittini

                                @ahzurdan Wie ich grad auf Git schon schrieb:
                                (2380) at script.js.skripte.Allgemein.Purify:3:16 is das Problem, was danach kommt sind folgefehler würd ich sagen. Zeile 3 is das

                                const mihome = require('node-mihome');
                                

                                Also passt iwas mit node-mihome nicht. Auch seltsam ist der Pfad den ich im letzten Logeintrag seh, bei mir sieht der so aus,
                                /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/
                                aber evtl. is das wegen pi. Jedenfalls, das Problem is nicht das Skript, sondern die Einbindung von node-mihome

                                H Offline
                                H Offline
                                hilde0407
                                wrote on last edited by
                                #44

                                @pittini Habe beim Skript folgenden Fehler,,, Das hängt wohl mit dem Yeelight Bulp 2 (farbige Lampe) zusammen...

                                20:53:11.425	error	javascript.0 (11255) script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4: Error: Model yeelink.light.color2 is not supported
                                20:53:11.427	error	javascript.0 (11255) at CreateDevices (script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4:598:36)
                                20:53:11.428	error	javascript.0 (11255) at main (script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4:530:5)
                                
                                P 1 Reply Last reply
                                0
                                • H hilde0407

                                  @pittini Habe beim Skript folgenden Fehler,,, Das hängt wohl mit dem Yeelight Bulp 2 (farbige Lampe) zusammen...

                                  20:53:11.425	error	javascript.0 (11255) script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4: Error: Model yeelink.light.color2 is not supported
                                  20:53:11.427	error	javascript.0 (11255) at CreateDevices (script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4:598:36)
                                  20:53:11.428	error	javascript.0 (11255) at main (script.js.common.Wohnung_Anja_und_Volker.Heizungssteuerung.Schlafzimmer.Ventilator_4:530:5)
                                  
                                  P Offline
                                  P Offline
                                  Pittini
                                  Developer
                                  wrote on last edited by
                                  #45

                                  @hilde0407 Hm ja, das ist weil der node-mihome Entwickler nach kurzem röcheln wieder in Winterschlaf verfallen ist und weder Issue noch prs bearbeitet. Schnellste Lösung: Das hier unter dem Namen yeelink.light.color2.js ins Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/
                                  Dann Js Controller neustarten, dann sollte die funktionieren mit Ausnahme Farbe einstellen, das hab ich noch ned rausgefunden was da erwartet wird.

                                  const Device = require('../device-miio');
                                  const { withLightEffect } = require('../utils');
                                  
                                  module.exports = class extends Device {
                                  
                                    static model = 'yeelink.light.color2';
                                    static name = 'Yeelight LED Bulb (Color)';
                                    static image = 'http://static.home.mi.com/app/image/get/file/developer_15233531497uxs6o06.png';
                                  
                                    constructor(opts) {
                                      super(opts);
                                  
                                     // this._miotSpecType = 'urn:miot-spec-v2:device:light:0000A001:yeelink-color2:1';
                                      this._propertiesToMonitor = [
                                        'power',
                                        'bright',
                                        'rgb',
                                        'color_mode',
                                        'ct'];
                                    }
                                  
                                    getPower() {
                                      const { power } = this.properties;
                                      if (power === 'on') return true;
                                      if (power === 'off') return false;
                                      return undefined;
                                    }
                                  
                                    getBrightness() {
                                      const brightness = parseInt(this.properties.bright, 10);
                                      if (brightness >= 0) return brightness;
                                      return undefined;
                                    }
                                  
                                    getColorRgb() {
                                      const colorRgb = parseInt(this.properties.rgb, 10);
                                      if (colorRgb >= 1) return colorRgb;
                                      return undefined;
                                    }
                                  
                                    getMode() {
                                      const mode = parseInt(this.properties.color_mode, 10);
                                      if (mode >= 1) return mode;
                                      return undefined;
                                    }
                                  
                                    getCt() {
                                      const ct = parseInt(this.properties['color-temperature'], 10);
                                      if (ct >= 1700) return ct;
                                      return undefined;
                                    }
                                  
                                  
                                    setPower(v) {
                                      return this.miioCall('set_power', withLightEffect(v ? 'on' : 'off'));
                                    }
                                  
                                    setBrightness(v) {
                                      return this.miioCall('set_bright', withLightEffect(v));
                                    }
                                  
                                    setColorRgb(v) {
                                      this._miioCall('set_rgb', withLightEffect(v.rgb));
                                    }
                                  
                                    setMode(v) {
                                      return this.miioCall('set_color_mode', withLightEffect(v));
                                    }
                                    setCt(v) {
                                      return this.miioCall('set_color-temperature', withLightEffect(v));
                                    }
                                  
                                  };
                                  
                                  H 2 Replies Last reply
                                  1
                                  • P Pittini

                                    @hilde0407 Hm ja, das ist weil der node-mihome Entwickler nach kurzem röcheln wieder in Winterschlaf verfallen ist und weder Issue noch prs bearbeitet. Schnellste Lösung: Das hier unter dem Namen yeelink.light.color2.js ins Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/
                                    Dann Js Controller neustarten, dann sollte die funktionieren mit Ausnahme Farbe einstellen, das hab ich noch ned rausgefunden was da erwartet wird.

                                    const Device = require('../device-miio');
                                    const { withLightEffect } = require('../utils');
                                    
                                    module.exports = class extends Device {
                                    
                                      static model = 'yeelink.light.color2';
                                      static name = 'Yeelight LED Bulb (Color)';
                                      static image = 'http://static.home.mi.com/app/image/get/file/developer_15233531497uxs6o06.png';
                                    
                                      constructor(opts) {
                                        super(opts);
                                    
                                       // this._miotSpecType = 'urn:miot-spec-v2:device:light:0000A001:yeelink-color2:1';
                                        this._propertiesToMonitor = [
                                          'power',
                                          'bright',
                                          'rgb',
                                          'color_mode',
                                          'ct'];
                                      }
                                    
                                      getPower() {
                                        const { power } = this.properties;
                                        if (power === 'on') return true;
                                        if (power === 'off') return false;
                                        return undefined;
                                      }
                                    
                                      getBrightness() {
                                        const brightness = parseInt(this.properties.bright, 10);
                                        if (brightness >= 0) return brightness;
                                        return undefined;
                                      }
                                    
                                      getColorRgb() {
                                        const colorRgb = parseInt(this.properties.rgb, 10);
                                        if (colorRgb >= 1) return colorRgb;
                                        return undefined;
                                      }
                                    
                                      getMode() {
                                        const mode = parseInt(this.properties.color_mode, 10);
                                        if (mode >= 1) return mode;
                                        return undefined;
                                      }
                                    
                                      getCt() {
                                        const ct = parseInt(this.properties['color-temperature'], 10);
                                        if (ct >= 1700) return ct;
                                        return undefined;
                                      }
                                    
                                    
                                      setPower(v) {
                                        return this.miioCall('set_power', withLightEffect(v ? 'on' : 'off'));
                                      }
                                    
                                      setBrightness(v) {
                                        return this.miioCall('set_bright', withLightEffect(v));
                                      }
                                    
                                      setColorRgb(v) {
                                        this._miioCall('set_rgb', withLightEffect(v.rgb));
                                      }
                                    
                                      setMode(v) {
                                        return this.miioCall('set_color_mode', withLightEffect(v));
                                      }
                                      setCt(v) {
                                        return this.miioCall('set_color-temperature', withLightEffect(v));
                                      }
                                    
                                    };
                                    
                                    H Offline
                                    H Offline
                                    hilde0407
                                    wrote on last edited by
                                    #46

                                    @pittini Vielen Dank!

                                    1 Reply Last reply
                                    0
                                    • P Pittini

                                      @hilde0407 Hm ja, das ist weil der node-mihome Entwickler nach kurzem röcheln wieder in Winterschlaf verfallen ist und weder Issue noch prs bearbeitet. Schnellste Lösung: Das hier unter dem Namen yeelink.light.color2.js ins Verzeichnis /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/
                                      Dann Js Controller neustarten, dann sollte die funktionieren mit Ausnahme Farbe einstellen, das hab ich noch ned rausgefunden was da erwartet wird.

                                      const Device = require('../device-miio');
                                      const { withLightEffect } = require('../utils');
                                      
                                      module.exports = class extends Device {
                                      
                                        static model = 'yeelink.light.color2';
                                        static name = 'Yeelight LED Bulb (Color)';
                                        static image = 'http://static.home.mi.com/app/image/get/file/developer_15233531497uxs6o06.png';
                                      
                                        constructor(opts) {
                                          super(opts);
                                      
                                         // this._miotSpecType = 'urn:miot-spec-v2:device:light:0000A001:yeelink-color2:1';
                                          this._propertiesToMonitor = [
                                            'power',
                                            'bright',
                                            'rgb',
                                            'color_mode',
                                            'ct'];
                                        }
                                      
                                        getPower() {
                                          const { power } = this.properties;
                                          if (power === 'on') return true;
                                          if (power === 'off') return false;
                                          return undefined;
                                        }
                                      
                                        getBrightness() {
                                          const brightness = parseInt(this.properties.bright, 10);
                                          if (brightness >= 0) return brightness;
                                          return undefined;
                                        }
                                      
                                        getColorRgb() {
                                          const colorRgb = parseInt(this.properties.rgb, 10);
                                          if (colorRgb >= 1) return colorRgb;
                                          return undefined;
                                        }
                                      
                                        getMode() {
                                          const mode = parseInt(this.properties.color_mode, 10);
                                          if (mode >= 1) return mode;
                                          return undefined;
                                        }
                                      
                                        getCt() {
                                          const ct = parseInt(this.properties['color-temperature'], 10);
                                          if (ct >= 1700) return ct;
                                          return undefined;
                                        }
                                      
                                      
                                        setPower(v) {
                                          return this.miioCall('set_power', withLightEffect(v ? 'on' : 'off'));
                                        }
                                      
                                        setBrightness(v) {
                                          return this.miioCall('set_bright', withLightEffect(v));
                                        }
                                      
                                        setColorRgb(v) {
                                          this._miioCall('set_rgb', withLightEffect(v.rgb));
                                        }
                                      
                                        setMode(v) {
                                          return this.miioCall('set_color_mode', withLightEffect(v));
                                        }
                                        setCt(v) {
                                          return this.miioCall('set_color-temperature', withLightEffect(v));
                                        }
                                      
                                      };
                                      
                                      H Offline
                                      H Offline
                                      hilde0407
                                      wrote on last edited by
                                      #47

                                      @pittini Deine Anleitung hat funktioniert! Mein Problem, nicht nur bei den Lampen (auch beim Ventilator) ist, dass die aktuellen Zustände nicht auf die Datenpunkte übertragen werden. Gibt es da auch eine Lösung?

                                      P 1 Reply Last reply
                                      0
                                      • H hilde0407

                                        @pittini Deine Anleitung hat funktioniert! Mein Problem, nicht nur bei den Lampen (auch beim Ventilator) ist, dass die aktuellen Zustände nicht auf die Datenpunkte übertragen werden. Gibt es da auch eine Lösung?

                                        P Offline
                                        P Offline
                                        Pittini
                                        Developer
                                        wrote on last edited by
                                        #48

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

                                        Gibt es da auch eine Lösung?

                                        Bestimmt. Aber bestimmt nicht ohne Log und etwas genauerer Erklärung was passiert und was nicht.

                                        1 Reply Last reply
                                        0
                                        • E Offline
                                          E Offline
                                          esche
                                          wrote on last edited by
                                          #49

                                          Hallo zusammen,

                                          erstmal vielen Dank für das Script @Pittini . Ich habe es mal mit meinem 3H getestet und funktioniert soweit echt gut.

                                          Was mir aber sofort aufgefallen ist, ist die Verwendung von "setObject" im Script.
                                          Dies hatte ich bisher im JS-Adapter nicht aktiviert, da dies ja auch aus "Sicherheitsgründen" standardmäßig deaktiviert ist.

                                          Wäre es vielleicht sinnvoll/möglich dies in der Form nicht zu verwenden?
                                          Wenn ich die Object-Schemabeschreibung richtig verstehe, ist diese Funktion auch nicht für solche Scripte gedacht und "eigentlich" den Adaptern vorbehalten.
                                          https://www.iobroker.net/#de/documentation/dev/objectsschema.md#Objekttypen

                                          Gibt es ggf. einen techn. Grund, warum diese Funktion verwendet werden muss?
                                          Wenn ja, wäre es nicht etwas "sicherer" die Funktion "extendObject" zu verwenden?
                                          https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#extendObject

                                          Falls es sich wirklich nicht vermeiden lässt, sollte dies vielleicht auch in die Installationsanleitung mit aufgenommen werden.

                                          Gruß
                                          Esche

                                          P 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          648

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe