Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • haselchen
      haselchen Most Active @Pittini last edited by 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 1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @haselchen last edited by Pittini

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

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

        haselchen 1 Reply Last reply Reply Quote 0
        • haselchen
          haselchen Most Active @Pittini last edited by 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 1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @haselchen last edited by

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

            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

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

              @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 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @haselchen last edited by

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

                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.

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Pittini last edited by 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 haselchen 2 Replies Last reply Reply Quote 0
                  • P
                    Pittini Developer @haselchen last edited by

                    @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 Reply Last reply Reply Quote 1
                    • haselchen
                      haselchen Most Active @haselchen last edited by 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 1 Reply Last reply Reply Quote 0
                      • P
                        Pittini Developer @haselchen last edited by

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

                        Das Wort Display war es.

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • P
                            Protheus last edited by

                            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 Reply Last reply Reply Quote 0
                            • P
                              Pittini Developer @Protheus last edited by

                              @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 Reply Last reply Reply Quote 0
                              • P
                                Protheus @Pittini last edited by 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 😄

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  Pittini Developer @Protheus last edited by 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 1 Reply Last reply Reply Quote 0
                                  • P
                                    Protheus @Pittini last edited by 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.:

                                    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 Reply Last reply Reply Quote 0
                                    • P
                                      Pittini Developer @Protheus last edited by Pittini

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

                                      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:

                                      Mach das andersrum bitte. Nimm mal nur das original node-mihome, das funktioniert genauso da Du ja jetzt die Dateien reinkopiert hast.
                                      Der erste Fehler im Log wär nach nem JS Neustart vermutlich weg gewesen. Ich weis nicht was da bei einigen quer läuft, bei anderen is das vollkommen unproblematisch. Und bei anderen gings erst auch nicht und paar Stunden später schon. Das Problem ist, das ist systemebene und hat nix mit meinem Skript an sich zu tun, deswegen kann ich da nur eingeschränkt helfen. Aber Du bist nah dran, probiers wie gesagt mit original node-mihome und kopier die Datei rein. Und immer neu starten nicht vergessen.

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

                                        @pittini

                                        Leider tut noch immer nicht:

                                        Screenshot - 2021-04-17 01_18_24-objects - ioBroker.png

                                        Im Log sehe ich jetzt auch nichts auffälliges:

                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.mode / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.dry / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.child_lock / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: No Datapoint Trigger set for humidity because its readonly.
                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: No Datapoint Trigger set for temperature because its readonly.
                                        javascript.0	2021-04-17 01:20:24.364	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.buzzer / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.363	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.led / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.363	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxxxx.limit_hum / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.363	info	(12184) script.js.common.System.Mi-Home-Integration: No Datapoint Trigger set for depth because its readonly.
                                        javascript.0	2021-04-17 01:20:24.363	info	(12184) script.js.common.System.Mi-Home-Integration: Setting Datapoint Trigger for javascript.0.MiHomeAll.xxxxxxxxxxxxxx.power / read=true write=true
                                        javascript.0	2021-04-17 01:20:24.363	info	(12184) script.js.common.System.Mi-Home-Integration: Setting DataPointTrigger #0 for zhimi.humidifier.ca4
                                        javascript.0	2021-04-17 01:20:24.362	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching CreateDpTrigger
                                        javascript.0	2021-04-17 01:20:24.362	info	(12184) script.js.common.System.Mi-Home-Integration: Setting trigger #0 for zhimi.humidifier.ca4
                                        javascript.0	2021-04-17 01:20:24.362	info	(12184) script.js.common.System.Mi-Home-Integration: Init Device# 0 - device="zhimi.humidifier.ca4"
                                        javascript.0	2021-04-17 01:20:24.136	info	(12184) script.js.common.System.Mi-Home-Integration: Created device {"_events":{},"_eventsCount":0,"_maxListeners":100,"id":"xxxxxxxxxxxxxxxx","address":"10.10.80.99","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                                        javascript.0	2021-04-17 01:20:24.135	info	(12184) script.js.common.System.Mi-Home-Integration: Now creating device for zhimi.humidifier.ca4 / xxxxxxxxxxxxx / 10.10.80.99 / xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / 10000
                                        javascript.0	2021-04-17 01:20:24.135	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching CreateDevices
                                        javascript.0	2021-04-17 01:20:24.134	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching WriteGenericDpValues()
                                        javascript.0	2021-04-17 01:20:24.133	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching main
                                        javascript.0	2021-04-17 01:20:24.133	info	(12184) script.js.common.System.Mi-Home-Integration: 17 States created, now setting up channels!
                                        javascript.0	2021-04-17 01:20:24.082	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching CreateStates()
                                        javascript.0	2021-04-17 01:20:24.082	info	(12184) script.js.common.System.Mi-Home-Integration: Reaching PrepareDeviceDps, did=xxxxxxxxxxxxxxxxx model=zhimi.humidifier.ca4
                                        javascript.0	2021-04-17 01:20:24.082	info	(12184) script.js.common.System.Mi-Home-Integration: Device Luftbefeuchter-AZ is supported, creating DataPoints
                                        javascript.0	2021-04-17 01:20:24.082	info	(12184) script.js.common.System.Mi-Home-Integration: Now searching for supported Devices...
                                        javascript.0	2021-04-17 01:20:24.082	info	(12184) script.js.common.System.Mi-Home-Integration: Luftbefeuchter-AZ
                                        javascript.0	2021-04-17 01:20:24.081	info	(12184) script.js.common.System.Mi-Home-Integration: Found 1 MiHome Devices, those are:
                                        javascript.0	2021-04-17 01:20:23.921	info	(12184) script.js.common.System.Mi-Home-Integration: Retrieving your in de registered MiHome Devices
                                        

                                        Zumindest alles nur info Lines.

                                        Nodejs habe ich auch bereits wie in einem Beitrag hier in dem Thread neu installiert.
                                        Das System (und auch den JS-Adapter) habe ich mehrfach neu gestartet.
                                        Den Ordner node-mihome habe ich auch mal umbenannt und geschaut wie er sich nach einem Neustart verhält
                                        -> Das node-mihome Modul wird neu installiert und die Device-Datei zhimi.humidifier.ca4 ist auch in dem original node-mihome Adapter dabei

                                        Hat hierzu noch jemand eine Idee?

                                        Viele Grüße
                                        Protheus

                                        haselchen P 2 Replies Last reply Reply Quote 0
                                        • haselchen
                                          haselchen Most Active @Protheus last edited by haselchen

                                          @protheus

                                          Wie sieht denn jetzt dein Eintrag im Javascript Adapter aus bezüglich NPM Module?
                                          Und hast du Nodejs12 am Laufen ?

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

                                            Hi,

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

                                            @protheus

                                            Wie sieht denn jetzt dein Eintrag im Javascript Adapter aus bezüglich NPM Module?

                                            wie von Pittini angemerkt nur noch das node-mihome Modul drin

                                            Screenshot - 2021-04-17 08_23_17-instances - ioBroker.png

                                            Und hast du Nodejs12 am Laufen ?

                                            Ja, meines Erachtens nach alles aktuell

                                            Screenshot - 2021-04-17 08_24_47-info - ioBroker.png

                                            Ist ein Debian 10 und apt update zeigt nix neues an.

                                            Viele Grüße
                                            Protheus

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            739
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            49
                                            451
                                            65101
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo