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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    508

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
474 Beiträge 50 Kommentatoren 102.1k 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.
  • Sebastian 0S Sebastian 0

    Hallo zusammen,

    hat jemand den Airpurifier 3H aktuell erfolgreich eingebunden?

    marcusklM Offline
    marcusklM Offline
    marcuskl
    schrieb am zuletzt editiert von
    #92

    @sebastian-0 ich habe auch einen Erfolgreich eingebunden

    Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

    Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

    1 Antwort Letzte Antwort
    0
    • P Pittini

      @haselchen Erstmal sagste mir Dein GENAUES Model, also das was das Skript unter Info bei dem ausgibt. Dann sehen wir weiter.

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

      @pittini

      4b53c89f-aa8a-4dff-97ca-b236448d06b4-grafik.png

      @Wildbill

      der Pro OHNE H

      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

      W P 2 Antworten Letzte Antwort
      0
      • haselchenH haselchen

        @pittini

        4b53c89f-aa8a-4dff-97ca-b236448d06b4-grafik.png

        @Wildbill

        der Pro OHNE H

        W Online
        W Online
        Wildbill
        schrieb am zuletzt editiert von
        #94

        @haselchen Der scheint da einiges anders zu machen, da kann ich dann leider nicht helfen, sorry.

        Gruss, Jürgen

        1 Antwort Letzte Antwort
        0
        • haselchenH haselchen

          @pittini

          4b53c89f-aa8a-4dff-97ca-b236448d06b4-grafik.png

          @Wildbill

          der Pro OHNE H

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

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

          der Pro OHNE H

          Der reine Pro ist noch absolut ungetestet und steht deshalb auch nicht auf der Liste der unterstützen Geräte bisher. Wenn Du willig bist Tester zu machen sollte der aber voll integrierbar zu sein. Geht irgendwas? Geht gar nix? Wenn was geht, was genau? Was genau geht nicht? Bei welchen Werten?

          haselchenH 1 Antwort Letzte Antwort
          0
          • P Pittini

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

            der Pro OHNE H

            Der reine Pro ist noch absolut ungetestet und steht deshalb auch nicht auf der Liste der unterstützen Geräte bisher. Wenn Du willig bist Tester zu machen sollte der aber voll integrierbar zu sein. Geht irgendwas? Geht gar nix? Wenn was geht, was genau? Was genau geht nicht? Bei welchen Werten?

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

            @pittini

            Der Pro ist doch in deinem Skript?!
            Zwar nicht 1 zu 1 namentlich aber ab Zeile 172 im Skript:

            DefineDevice[14] = { // Tested and working - 
                info: {},
                model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                description: "Mi Air Purifier",
                setter: {
                    "power": async function (obj, val) { await device[obj].setPower(val) },
                    "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                    "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                    "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                },
                common:
                    [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                    { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                    { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                    { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                    { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                    { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                    { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                    { name: "led", type: "number", read: true, write: true, min: 0, max: 2, states: { 0: "bright", 1: "dim", 2: "off" } },
                    { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                    { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                    { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                    { name: "f1_hour", type: "number", read: true, write: false },
                    { name: "f1_hour_used", type: "number", read: true, write: false },
                    { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                    { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                    { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
            

            Nur einen Mi Air Purifier, wie Du ihn oben genannt hast, gibt es nicht.
            Es wird alles angelegt und funktioniert auch alles.
            Nur der LED Datenpunkt wird als boolean angelegt , obwohl number vorgegeben wird.
            Das hatte ich aber schon im vorherigen Post geschrieben.

            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

              Der Pro ist doch in deinem Skript?!
              Zwar nicht 1 zu 1 namentlich aber ab Zeile 172 im Skript:

              DefineDevice[14] = { // Tested and working - 
                  info: {},
                  model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                  description: "Mi Air Purifier",
                  setter: {
                      "power": async function (obj, val) { await device[obj].setPower(val) },
                      "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                      "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                      "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                  },
                  common:
                      [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                      { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                      { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                      { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                      { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                      { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                      { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                      { name: "led", type: "number", read: true, write: true, min: 0, max: 2, states: { 0: "bright", 1: "dim", 2: "off" } },
                      { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                      { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                      { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                      { name: "f1_hour", type: "number", read: true, write: false },
                      { name: "f1_hour_used", type: "number", read: true, write: false },
                      { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                      { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                      { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
              

              Nur einen Mi Air Purifier, wie Du ihn oben genannt hast, gibt es nicht.
              Es wird alles angelegt und funktioniert auch alles.
              Nur der LED Datenpunkt wird als boolean angelegt , obwohl number vorgegeben wird.
              Das hatte ich aber schon im vorherigen Post geschrieben.

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

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

                { name: "led", type: "number", read: true, write: true, min: 0, max: 2, states: { 0: "bright", 1: "dim", 2: "off" } },
              

              Dann mach doch bitte mal aus obiger Zeile folgendes:

              { name: "led", type: "boolean", read: true, write: true },
              

              Und vorher bitte den Datenpunkt aus der Objektliste löschen damit er neu angelegt wird.

              Dann mal testen.

              Sollte es noch ein Problem beim setzen geben, mußt evtl auch noch aus der Zeile 179:

              "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
              

              folgendes machen:

              "led": async function (obj, val) { await device[obj].setLedBrightness(val ? 'on' : 'off') },
              
              

              Dann bitte Feedback obs und mit welcher Variante es geklappt hat.

              haselchenH 1 Antwort Letzte Antwort
              0
              • P Pittini

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

                  { name: "led", type: "number", read: true, write: true, min: 0, max: 2, states: { 0: "bright", 1: "dim", 2: "off" } },
                

                Dann mach doch bitte mal aus obiger Zeile folgendes:

                { name: "led", type: "boolean", read: true, write: true },
                

                Und vorher bitte den Datenpunkt aus der Objektliste löschen damit er neu angelegt wird.

                Dann mal testen.

                Sollte es noch ein Problem beim setzen geben, mußt evtl auch noch aus der Zeile 179:

                "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                

                folgendes machen:

                "led": async function (obj, val) { await device[obj].setLedBrightness(val ? 'on' : 'off') },
                
                

                Dann bitte Feedback obs und mit welcher Variante es geklappt hat.

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

                @pittini
                Leider mit gar keiner. Im Datenpunkt wird weiter true angezeigt.
                Geh ich mit dem Cursor drauf, kommt ein Dropdown Menue wo ich die 3 Werte aus dem eigentlichen Datenpunkt auswählen kann (bright dim off)
                Wähle ich eines steht es rot im Datenpunkt. Nach aktualisieren der Werte durch das Skript erscheint wieder true im Datenpunkt.

                5c830db0-7683-4625-8aac-64dfdbfd648e-grafik.png

                a08e0748-94b2-4a81-8651-19e76d5d191e-grafik.png

                javascript.0	2021-04-11 15:53:06.556	error	at processImmediate (internal/timers.js:461:21)
                javascript.0	2021-04-11 15:53:06.556	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                javascript.0	2021-04-11 15:53:06.556	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:387:25)
                javascript.0	2021-04-11 15:53:06.556	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1477:42)
                javascript.0	2021-04-11 15:53:06.556	error	at Object.<anonymous> (script.js.Luft:765:21)
                javascript.0	2021-04-11 15:53:06.556	error	at SetDevice (script.js.Luft:751:64)
                javascript.0	2021-04-11 15:53:06.556	error	at Object.led (script.js.Luft:188:62)
                javascript.0	2021-04-11 15:53:06.556	error	(5905) TypeError: device[obj].setLedBrightness is not a function
                javascript.0	2021-04-11 15:53:06.552	error	(5905) unhandled promise rejection: device[obj].setLedBrightness is not a function
                Unhandled	2021-04-11 15:53:06.552	error	promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                

                Was aber am Schlimmste ist, wenn ich ein Wert aus dem Dropdown Menue nehme, stürzt der Javascript Adapter ab und startet neu.

                Edit:

                Wo holt er denn dauernd "boolean" her.
                Steht nirgends im Skript bei den LED Sachen.

                javascript.0	2021-04-11 16:25:51.039	warn	(11091) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.emit (events.js:314:20)
                javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.<anonymous> (script.js.Luft:660:21)
                javascript.0	2021-04-11 16:25:51.039	warn	(11091) at RefreshDps (script.js.Luft:701:45)
                javascript.0	2021-04-11 16:25:51.037	warn	(11091) Wrong type of javascript.0.MiHomeAll.357158741.led: "boolean". Please fix, while deprecated and will not work in next versions.
                

                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
                  Leider mit gar keiner. Im Datenpunkt wird weiter true angezeigt.
                  Geh ich mit dem Cursor drauf, kommt ein Dropdown Menue wo ich die 3 Werte aus dem eigentlichen Datenpunkt auswählen kann (bright dim off)
                  Wähle ich eines steht es rot im Datenpunkt. Nach aktualisieren der Werte durch das Skript erscheint wieder true im Datenpunkt.

                  5c830db0-7683-4625-8aac-64dfdbfd648e-grafik.png

                  a08e0748-94b2-4a81-8651-19e76d5d191e-grafik.png

                  javascript.0	2021-04-11 15:53:06.556	error	at processImmediate (internal/timers.js:461:21)
                  javascript.0	2021-04-11 15:53:06.556	error	at Immediate.<anonymous> (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
                  javascript.0	2021-04-11 15:53:06.556	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:387:25)
                  javascript.0	2021-04-11 15:53:06.556	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1477:42)
                  javascript.0	2021-04-11 15:53:06.556	error	at Object.<anonymous> (script.js.Luft:765:21)
                  javascript.0	2021-04-11 15:53:06.556	error	at SetDevice (script.js.Luft:751:64)
                  javascript.0	2021-04-11 15:53:06.556	error	at Object.led (script.js.Luft:188:62)
                  javascript.0	2021-04-11 15:53:06.556	error	(5905) TypeError: device[obj].setLedBrightness is not a function
                  javascript.0	2021-04-11 15:53:06.552	error	(5905) unhandled promise rejection: device[obj].setLedBrightness is not a function
                  Unhandled	2021-04-11 15:53:06.552	error	promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                  

                  Was aber am Schlimmste ist, wenn ich ein Wert aus dem Dropdown Menue nehme, stürzt der Javascript Adapter ab und startet neu.

                  Edit:

                  Wo holt er denn dauernd "boolean" her.
                  Steht nirgends im Skript bei den LED Sachen.

                  javascript.0	2021-04-11 16:25:51.039	warn	(11091) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:73:9)
                  javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.loadProperties (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/device-miio.js:107:12)
                  javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.emit (events.js:314:20)
                  javascript.0	2021-04-11 16:25:51.039	warn	(11091) at module.exports.<anonymous> (script.js.Luft:660:21)
                  javascript.0	2021-04-11 16:25:51.039	warn	(11091) at RefreshDps (script.js.Luft:701:45)
                  javascript.0	2021-04-11 16:25:51.037	warn	(11091) Wrong type of javascript.0.MiHomeAll.357158741.led: "boolean". Please fix, while deprecated and will not work in next versions.
                  
                  P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #99

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

                  Leider mit gar keiner. Im Datenpunkt wird weiter true angezeigt.
                  Geh ich mit dem Cursor drauf, kommt ein Dropdown Menue wo ich die 3 Werte aus dem eigentlichen Datenpunkt auswählen kann (bright dim off)
                  Wähle ich eines steht es rot im Datenpunkt. Nach aktualisieren der Werte durch das Skript erscheint wieder true im Datenpunkt.

                  Wenn Du die 3 Werte auswählen kannst, hast Du entweder den Datenpunkt nicht gelöscht vor der Änderung, oder die Änderung nicht ausgeführt. Und true/false sollte schon passen, deswegen ja die Änderung von Number auf Boolean, so wie es aussieht (in der mihome Definitionsdatei) kann der nur Led an/aus

                  haselchenH 1 Antwort Letzte Antwort
                  1
                  • P Pittini

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

                    Leider mit gar keiner. Im Datenpunkt wird weiter true angezeigt.
                    Geh ich mit dem Cursor drauf, kommt ein Dropdown Menue wo ich die 3 Werte aus dem eigentlichen Datenpunkt auswählen kann (bright dim off)
                    Wähle ich eines steht es rot im Datenpunkt. Nach aktualisieren der Werte durch das Skript erscheint wieder true im Datenpunkt.

                    Wenn Du die 3 Werte auswählen kannst, hast Du entweder den Datenpunkt nicht gelöscht vor der Änderung, oder die Änderung nicht ausgeführt. Und true/false sollte schon passen, deswegen ja die Änderung von Number auf Boolean, so wie es aussieht (in der mihome Definitionsdatei) kann der nur Led an/aus

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

                    @pittini

                    Schonmal danke für Deinen Support.
                    Hab es nach deiner Anleitung gemacht.
                    Scheint tatsächlich nur an und aus zu geben.
                    Wie muss ich das Skript ändern, dass on/off oder true/false in dem Datenpunkt stehen und ich diesen dann auch schalten kann?

                    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

                      Schonmal danke für Deinen Support.
                      Hab es nach deiner Anleitung gemacht.
                      Scheint tatsächlich nur an und aus zu geben.
                      Wie muss ich das Skript ändern, dass on/off oder true/false in dem Datenpunkt stehen und ich diesen dann auch schalten kann?

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

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

                      Wie muss ich das Skript ändern, dass on/off oder true/false in dem Datenpunkt stehen und ich diesen dann auch schalten kann?

                      Hab ich Dir oben beschrieben. Zeig doch mal bitte jetzt Deinen kompletten Definitionsblock aus dem Skript nach den Änderungen.

                      haselchenH 1 Antwort Letzte Antwort
                      0
                      • P Pittini

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

                        Wie muss ich das Skript ändern, dass on/off oder true/false in dem Datenpunkt stehen und ich diesen dann auch schalten kann?

                        Hab ich Dir oben beschrieben. Zeig doch mal bitte jetzt Deinen kompletten Definitionsblock aus dem Skript nach den Änderungen.

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

                        @pittini

                        Mache ich sofort.

                        Könnte es an der Definitionsdatei liegen?
                        Weil dort LedBrightness aufgeführt ist und dieser Air Purifier nur an/aus kann.
                        Hab das Gefühl, egal was ich am Skript änder, man müsste bei der Datei vermutlich anfangen?!

                        DefineDevice[14] = { // Tested and working -
                            info: {},
                            model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                            description: "Mi Air Purifier",
                            setter: {
                                "power": async function (obj, val) { await device[obj].setPower(val) },
                                "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                                "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                                "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                            },
                            common:
                                [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                                { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                                { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                                { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                { name: "led", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                { name: "f1_hour", type: "number", read: true, write: false },
                                { name: "f1_hour_used", type: "number", read: true, write: false },
                                { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                                { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                                { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
                        

                        Hab die Zeilen so geändert, dass ein Switch draus wird, wegen an- und ausschalten. Gibt aber nur Fehlermeldungen.

                        Hatte oben mal LedBrightness in Led geändert zum Probieren.

                        2021-04-11 16:53:45.602 - error: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                        2021-04-11 16:53:45.602 - error: javascript.0 (12084) unhandled promise rejection: device[obj].setLed is not a function
                        2021-04-11 16:53:45.606 - error: javascript.0 (12084) TypeError: device[obj].setLed is not a function
                        

                        Edit:

                        Hab gerade gesehen das der Air Purifier Pro mit der gleichen Bezeichnung wie im Skript im node-mihome Ordner unter Devices ist.

                        static model = 'zhimi.airpurifier.v7';
                          static name = 'Mi Air Purifier Pro';
                          static image = 'https://static.home.mi.com/app/image/get/file/developer_1551944689505i5ubr.png';
                        

                        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 haselchenH 2 Antworten Letzte Antwort
                        0
                        • haselchenH haselchen

                          @pittini

                          Mache ich sofort.

                          Könnte es an der Definitionsdatei liegen?
                          Weil dort LedBrightness aufgeführt ist und dieser Air Purifier nur an/aus kann.
                          Hab das Gefühl, egal was ich am Skript änder, man müsste bei der Datei vermutlich anfangen?!

                          DefineDevice[14] = { // Tested and working -
                              info: {},
                              model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                              description: "Mi Air Purifier",
                              setter: {
                                  "power": async function (obj, val) { await device[obj].setPower(val) },
                                  "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                                  "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                                  "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                              },
                              common:
                                  [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                  { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                                  { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                                  { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                                  { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                  { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                  { name: "led", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                  { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "f1_hour", type: "number", read: true, write: false },
                                  { name: "f1_hour_used", type: "number", read: true, write: false },
                                  { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                                  { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                                  { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
                          

                          Hab die Zeilen so geändert, dass ein Switch draus wird, wegen an- und ausschalten. Gibt aber nur Fehlermeldungen.

                          Hatte oben mal LedBrightness in Led geändert zum Probieren.

                          2021-04-11 16:53:45.602 - error: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                          2021-04-11 16:53:45.602 - error: javascript.0 (12084) unhandled promise rejection: device[obj].setLed is not a function
                          2021-04-11 16:53:45.606 - error: javascript.0 (12084) TypeError: device[obj].setLed is not a function
                          

                          Edit:

                          Hab gerade gesehen das der Air Purifier Pro mit der gleichen Bezeichnung wie im Skript im node-mihome Ordner unter Devices ist.

                          static model = 'zhimi.airpurifier.v7';
                            static name = 'Mi Air Purifier Pro';
                            static image = 'https://static.home.mi.com/app/image/get/file/developer_1551944689505i5ubr.png';
                          
                          P Offline
                          P Offline
                          Pittini
                          Developer
                          schrieb am zuletzt editiert von
                          #103

                          @haselchen Du kannst nicht einfach Funktionsnamen ändern und hoffen das es funktioniert. Die müssen eine Entsprechung in node-mihome Definition haben, sonst gibt eben genau den Fehler den Du bekamst.
                          Das brightness Thema hat imho eh nix mit Deinem Problem zu tun, man sollte nicht an zuvielen Ecken gleichzeitig schrauben. Versuchen wirs nochmal step by step:

                          1. Du löscht jetzt bitte den kompletten Zweig dieses Gerätes aus dem Objektbaum
                          2. Du setzt DIESEN Code anstatt dem vorhandenen in Device 14 ein:
                          DefineDevice[14] = { // Tested and working - 
                              info: {},
                              model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                              description: "Mi Air Purifier",
                              setter: {
                                  "power": async function (obj, val) { await device[obj].setPower(val) },
                                  "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                                  "led": async function (obj, val) { await device[obj].setDisplay(val) },
                                  "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                              },
                              common:
                                  [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                  { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                                  { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                                  { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                                  { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                  { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                  { name: "led", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                  { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                  { name: "f1_hour", type: "number", read: true, write: false },
                                  { name: "f1_hour_used", type: "number", read: true, write: false },
                                  { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                                  { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                                  { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
                          };
                          

                          Sollte es dann immer noch nicht klappen, bitte logging im Skript aktivieren und das Log dann posten

                          1 Antwort Letzte Antwort
                          1
                          • haselchenH haselchen

                            @pittini

                            Mache ich sofort.

                            Könnte es an der Definitionsdatei liegen?
                            Weil dort LedBrightness aufgeführt ist und dieser Air Purifier nur an/aus kann.
                            Hab das Gefühl, egal was ich am Skript änder, man müsste bei der Datei vermutlich anfangen?!

                            DefineDevice[14] = { // Tested and working -
                                info: {},
                                model: "zhimi.airpurifier.v7",// https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-v7:1
                                description: "Mi Air Purifier",
                                setter: {
                                    "power": async function (obj, val) { await device[obj].setPower(val) },
                                    "mode": async function (obj, val) { await device[obj].setFanLevel(val) },
                                    "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                                    "child_lock": async function (obj, val) { await device[obj].setChildLock(val) }
                                },
                                common:
                                    [{ name: "power", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                    { name: "mode", type: "string", read: true, write: true, states: { "auto": "auto", "silent": "silent", "favorite": "favorite" } },
                                    { name: "favorite_level", type: "number", read: true, write: false, min: 0, max: 16 },
                                    { name: "temp_dec", type: "number", role: "value.temperature", read: true, write: false },
                                    { name: "humidity", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                    { name: "aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                    { name: "average_aqi", type: "number", read: true, write: false, unit: "μg/m³" },
                                    { name: "led", type: "boolean", role: "switch", read: true, write: true, min: false, max: true },
                                    { name: "bright", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                    { name: "volume", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                    { name: "filter1_life", type: "number", read: true, write: false, min: 0, max: 100, unit: "%" },
                                    { name: "f1_hour", type: "number", read: true, write: false },
                                    { name: "f1_hour_used", type: "number", read: true, write: false },
                                    { name: "motor1_speed", type: "number", read: true, write: false, unit: "rpm" },
                                    { name: "motor2_speed", type: "number", read: true, write: false, unit: "rpm" },
                                    { name: "child_lock", type: "boolean", role: "switch", read: true, write: true, min: false, max: true }]
                            

                            Hab die Zeilen so geändert, dass ein Switch draus wird, wegen an- und ausschalten. Gibt aber nur Fehlermeldungen.

                            Hatte oben mal LedBrightness in Led geändert zum Probieren.

                            2021-04-11 16:53:45.602 - error: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                            2021-04-11 16:53:45.602 - error: javascript.0 (12084) unhandled promise rejection: device[obj].setLed is not a function
                            2021-04-11 16:53:45.606 - error: javascript.0 (12084) TypeError: device[obj].setLed is not a function
                            

                            Edit:

                            Hab gerade gesehen das der Air Purifier Pro mit der gleichen Bezeichnung wie im Skript im node-mihome Ordner unter Devices ist.

                            static model = 'zhimi.airpurifier.v7';
                              static name = 'Mi Air Purifier Pro';
                              static image = 'https://static.home.mi.com/app/image/get/file/developer_1551944689505i5ubr.png';
                            
                            haselchenH Offline
                            haselchenH Offline
                            haselchen
                            Most Active
                            schrieb am zuletzt editiert von haselchen
                            #104

                            @Pittini

                            Habs gefunden.
                            Du hast

                            "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                            

                            Hinein gehört

                            "led": async function (obj, val) { await device[obj].setDisplay(val) },
                            

                            Laut Definitionsdatei:

                              /**
                               * Set display status
                               * @param {boolean} v
                               */
                              setDisplay(v) {
                                return this.miioCall('set_led', [v ? 'on' : 'off']);
                              }
                            
                            

                            Das Wort Display war es.
                            Im Grunde macht das ja Spass, wenn es nicht so viel Zeit in Anspruch nehmen würde :)

                            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 gefunden.
                              Du hast

                              "led": async function (obj, val) { await device[obj].setLedBrightness(val) },
                              

                              Hinein gehört

                              "led": async function (obj, val) { await device[obj].setDisplay(val) },
                              

                              Laut Definitionsdatei:

                                /**
                                 * Set display status
                                 * @param {boolean} v
                                 */
                                setDisplay(v) {
                                  return this.miioCall('set_led', [v ? 'on' : 'off']);
                                }
                              
                              

                              Das Wort Display war es.
                              Im Grunde macht das ja Spass, wenn es nicht so viel Zeit in Anspruch nehmen würde :)

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

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

                              Das Wort Display war es.

                              Ähm, und was steht in dem von mir geänderten Block oben? Klappt dann jetzt alles?

                              haselchenH 1 Antwort Letzte Antwort
                              0
                              • P Pittini

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

                                Das Wort Display war es.

                                Ähm, und was steht in dem von mir geänderten Block oben? Klappt dann jetzt alles?

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

                                @pittini

                                Da haben sich wohl die Antworten überschnitten :)
                                Jo, so funktioniert alles.
                                Keine Fehler mehr im Log und er schaltet an und aus.

                                So macht "Fehlersuche" Spass.
                                Danke für Deine Geduld und Hilfe!

                                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
                                • P Offline
                                  P Offline
                                  Protheus
                                  schrieb am zuletzt editiert von
                                  #107

                                  Hi,

                                  ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                  Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                  Screenshot - 2021-04-15 15_18_42-objects - ioBroker.png

                                  Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                  Im Log steht auch nichts.
                                  Ne Idee?

                                  Viele Grüße
                                  Protheus

                                  P 1 Antwort Letzte Antwort
                                  0
                                  • P Protheus

                                    Hi,

                                    ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                    Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                    Screenshot - 2021-04-15 15_18_42-objects - ioBroker.png

                                    Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                    Im Log steht auch nichts.
                                    Ne Idee?

                                    Viele Grüße
                                    Protheus

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

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

                                    Hi,

                                    ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                    Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                    Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                    Im Log steht auch nichts.
                                    Ne Idee?

                                    Ja, die Idee ist, dass Dir die Definitionsdatei fehlt. Bitte gugg mal im node-mihome Verzeichnis: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/

                                    ob da ne Datei zhimi.humidifier.ca4.js ist. Wenn nein, bitte von da holen: https://github.com/Pittini/iobroker-nodemihome/tree/main/DefinitionfilesForNode-Mihome

                                    und in das Verzeichnis kopieren. Danach JS Adapter neustarten.

                                    P 1 Antwort Letzte Antwort
                                    0
                                    • P Pittini

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

                                      Hi,

                                      ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                      Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                      Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                      Im Log steht auch nichts.
                                      Ne Idee?

                                      Ja, die Idee ist, dass Dir die Definitionsdatei fehlt. Bitte gugg mal im node-mihome Verzeichnis: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/

                                      ob da ne Datei zhimi.humidifier.ca4.js ist. Wenn nein, bitte von da holen: https://github.com/Pittini/iobroker-nodemihome/tree/main/DefinitionfilesForNode-Mihome

                                      und in das Verzeichnis kopieren. Danach JS Adapter neustarten.

                                      P Offline
                                      P Offline
                                      Protheus
                                      schrieb am zuletzt editiert von Protheus
                                      #109

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

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

                                      Hi,

                                      ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                      Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                      Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                      Im Log steht auch nichts.
                                      Ne Idee?

                                      Ja, die Idee ist, dass Dir die Definitionsdatei fehlt. Bitte gugg mal im node-mihome Verzeichnis: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/

                                      ob da ne Datei zhimi.humidifier.ca4.js ist. Wenn nein, bitte von da holen: https://github.com/Pittini/iobroker-nodemihome/tree/main/DefinitionfilesForNode-Mihome

                                      und in das Verzeichnis kopieren. Danach JS Adapter neustarten.

                                      Hm...den Ordner gibts bei mir gar nicht:

                                      /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/

                                      Aber im Adapter hab ichs eingetragen:
                                      Screenshot - 2021-04-15 18_43_06-instances - ioBroker.png

                                      Viele Grüße
                                      Protheus

                                      EDIT: Hoppla, grad gesehen das ich falschen Browsertab geschrieben habe :D

                                      P 1 Antwort Letzte Antwort
                                      0
                                      • P Protheus

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

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

                                        Hi,

                                        ich hab mir heute den "HOME Xiaomi Smartmi 2" Luftbefeuchter geholt.
                                        Dein Skript so wie beschrieben angelegt und irgendiwe scheint es zu klappen...aber nur teilweise:

                                        Device-Informationen hat er wohl ausgelesen, aber Sensoren- und Einstellungswerte bekommt er nicht ("null")

                                        Im Log steht auch nichts.
                                        Ne Idee?

                                        Ja, die Idee ist, dass Dir die Definitionsdatei fehlt. Bitte gugg mal im node-mihome Verzeichnis: /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/

                                        ob da ne Datei zhimi.humidifier.ca4.js ist. Wenn nein, bitte von da holen: https://github.com/Pittini/iobroker-nodemihome/tree/main/DefinitionfilesForNode-Mihome

                                        und in das Verzeichnis kopieren. Danach JS Adapter neustarten.

                                        Hm...den Ordner gibts bei mir gar nicht:

                                        /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/

                                        Aber im Adapter hab ichs eingetragen:
                                        Screenshot - 2021-04-15 18_43_06-instances - ioBroker.png

                                        Viele Grüße
                                        Protheus

                                        EDIT: Hoppla, grad gesehen das ich falschen Browsertab geschrieben habe :D

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

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

                                        Aber im Adapter hab ichs eingetragen:

                                        Ja klar, wäre das nicht, hätte gar nix funktioniert. Da er die Basics aus der Cloud ausgelesen hat, heißt grundsätzlich läufts und das Skript hat sich erfolgreich bei der Cloud angemeldet. Wenn Du den Ordner so nicht hast, musste halt mal suchen und verifizieren dass besagte Datei vorhanden ist. Manchmal half auch ein kompletter Neustart vom Broker. Wenn dann immer noch nicht geht, wären Logs hilfreich.

                                        P 1 Antwort Letzte Antwort
                                        0
                                        • P Pittini

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

                                          Aber im Adapter hab ichs eingetragen:

                                          Ja klar, wäre das nicht, hätte gar nix funktioniert. Da er die Basics aus der Cloud ausgelesen hat, heißt grundsätzlich läufts und das Skript hat sich erfolgreich bei der Cloud angemeldet. Wenn Du den Ordner so nicht hast, musste halt mal suchen und verifizieren dass besagte Datei vorhanden ist. Manchmal half auch ein kompletter Neustart vom Broker. Wenn dann immer noch nicht geht, wären Logs hilfreich.

                                          P Offline
                                          P Offline
                                          Protheus
                                          schrieb am zuletzt editiert von Protheus
                                          #111

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

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

                                          Aber im Adapter hab ichs eingetragen:

                                          Ja klar, wäre das nicht, hätte gar nix funktioniert. Da er die Basics aus der Cloud ausgelesen hat, heißt grundsätzlich läufts und das Skript hat sich erfolgreich bei der Cloud angemeldet. Wenn Du den Ordner so nicht hast, musste halt mal suchen und verifizieren dass besagte Datei vorhanden ist. Manchmal half auch ein kompletter Neustart vom Broker. Wenn dann immer noch nicht geht, wären Logs hilfreich.

                                          Ok ich war noch ein "node-modules"-Ordner zu hoch :) Ich habe ihn dann gefunden und die genannten dateien reinkopiert.
                                          Den Server habe ich dann auch komplett neu gestartet.

                                          Allerdings bekomme ich nun Fehler im Log:

                                          javascript.0	2021-04-15 19:27:16.259	error	at processTimers (internal/timers.js:497:7)
                                          javascript.0	2021-04-15 19:27:16.259	error	at listOnTimeout (internal/timers.js:554:17)
                                          javascript.0	2021-04-15 19:27:16.259	error	at Timeout.<anonymous> (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-fetch/lib/index.js:1454:13)
                                          javascript.0	2021-04-15 19:27:16.259	error	(1647) FetchError: network timeout at: https://de.api.io.mi.com/app/home/device_list
                                          javascript.0	2021-04-15 19:27:16.259	error	(1647) Error: network timeout at: https://de.api.io.mi.com/app/home/device_list
                                          javascript.0	2021-04-15 19:27:16.258	error	(1647) An error happened which is most likely from one of your scripts, but the originating script could not be detected.
                                          javascript.0	2021-04-15 19:27:11.254	info	(1647) script.js.common.Mi-Home-Integration: Retrieving your in de registered MiHome Devices
                                          javascript.0	2021-04-15 19:27:11.254	info	(1647) script.js.common.Mi-Home-Integration: You are already logged in, login canceled
                                          javascript.0	2021-04-15 19:27:11.254	info	(1647) script.js.common.Mi-Home-Integration: registered 0 subscriptions and 0 schedules
                                          javascript.0	2021-04-15 19:27:11.253	info	(1647) script.js.common.Mi-Home-Integration: Starting AllMyMi V.0.2.11
                                          javascript.0	2021-04-15 19:27:11.247	info	(1647) Start javascript script.js.common.Mi-Home-Integration
                                          javascript.0	2021-04-15 19:27:11.190	info	(1647) script.js.common.Mi-Home-Integration: adapterUnsubscribe(id=properties)
                                          javascript.0	2021-04-15 19:27:11.189	info	(1647) Stop script script.js.common.Mi-Home-Integration
                                          

                                          Nachdem ich das original node-mihome-Modul wieder rausgeschmissen hab (und nur noch deins drin habe) ist der Fehler weg.
                                          Aber Daten kommen trotzdem keine:

                                          javascript.0	2021-04-15 19:33:48.189	info	(1696) script.js.common.Mi-Home-Integration: Setting trigger #0 for zhimi.humidifier.ca4
                                          javascript.0	2021-04-15 19:33:48.188	info	(1696) script.js.common.Mi-Home-Integration: Init Device# 0 - device="zhimi.humidifier.ca4"
                                          scenes.0	2021-04-15 19:33:46.420	info	(10136) starting. Version 2.3.6 in /opt/iobroker/node_modules/iobroker.scenes, node: v12.21.0, js-controller: 3.2.16
                                          scenes.0	2021-04-15 19:33:46.416	info	(10136) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system
                                          host.automat01	2021-04-15 19:33:46.058	info	instance system.adapter.scenes.0 started with pid 10136
                                          javascript.0	2021-04-15 19:33:45.802	info	(1696) script.js.common.Mi-Home-Integration: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"318937516","address":"10.10.80.99","token":"71419fee627545baf4fa76c82888ae42","pro
                                          javascript.0	2021-04-15 19:33:45.801	info	(1696) script.js.common.Mi-Home-Integration: Now creating device for zhimi.humidifier.ca4 / xxxxxxxxxxx / 10.10.80.99 / xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / 10000
                                          javascript.0	2021-04-15 19:33:45.755	info	(1696) script.js.common.Mi-Home-Integration: Device Luftbefeuchter-AZ is supported, creating DataPoints
                                          javascript.0	2021-04-15 19:33:45.755	info	(1696) script.js.common.Mi-Home-Integration: Now searching for supported Devices...
                                          javascript.0	2021-04-15 19:33:45.755	info	(1696) script.js.common.Mi-Home-Integration: Luftbefeuchter-AZ
                                          javascript.0	2021-04-15 19:33:45.755	info	(1696) script.js.common.Mi-Home-Integration: Found 1 MiHome Devices, those are:
                                          javascript.0	2021-04-15 19:33:45.347	info	(1696) script.js.common.Mi-Home-Integration: Retrieving your in de registered MiHome Devices
                                          

                                          Viele Grüße
                                          Protheus

                                          Edit: Ah das könnte der Fehler sein:

                                          
                                          javascript.0	2021-04-15 20:14:10.990	error	(26468) Cannot install npm packet: Pittini/node-mihome
                                          

                                          Nur kenn ich den Grund nicht

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          746

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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