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
    485

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • 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.0k 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.
  • H hilde0407

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

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

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

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

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

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

      @pittini Vielen Dank!

      1 Antwort Letzte Antwort
      0
      • P Pittini

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

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

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

        P 1 Antwort Letzte Antwort
        0
        • H hilde0407

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

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

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

          Gibt es da auch eine Lösung?

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

          1 Antwort Letzte Antwort
          0
          • E Offline
            E Offline
            esche
            schrieb am zuletzt editiert von
            #49

            Hallo zusammen,

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

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

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

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

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

            Gruß
            Esche

            P 1 Antwort Letzte Antwort
            0
            • E esche

              Hallo zusammen,

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

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

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

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

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

              Gruß
              Esche

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

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

              Hallo zusammen,

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

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

              Ja, das sollte ich evtl. mal in der Doku dazu schreiben.

              Wäre es vielleicht sinnvoll/möglich dies in der Form nicht zu verwenden?
              Wenn Du einen anderen/besseren Weg kennst aus einem Ordner der beim Datenpunktanlegen miterstellt wird, einen Channel oder Device zu machen und nen Namen zu geben....bitte ich höre.

              Wenn ich die Object-Schemabeschreibung richtig verstehe, ist diese Funktion auch nicht für solche Scripte gedacht und "eigentlich" den Adaptern vorbehalten.
              https://www.iobroker.net/#de/documentation/dev/objectsschema.md#Objekttypen

              Es gibt tatsächlich Funktionen welche Adaptern vorbehalten sind. Diese sind auch nur in Adaptern zugänglich. setObjekt is zugänglich also legitim zu verwenden und auch nötig einzusetzen.

              E 1 Antwort Letzte Antwort
              0
              • P Pittini

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

                Hallo zusammen,

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

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

                Ja, das sollte ich evtl. mal in der Doku dazu schreiben.

                Wäre es vielleicht sinnvoll/möglich dies in der Form nicht zu verwenden?
                Wenn Du einen anderen/besseren Weg kennst aus einem Ordner der beim Datenpunktanlegen miterstellt wird, einen Channel oder Device zu machen und nen Namen zu geben....bitte ich höre.

                Wenn ich die Object-Schemabeschreibung richtig verstehe, ist diese Funktion auch nicht für solche Scripte gedacht und "eigentlich" den Adaptern vorbehalten.
                https://www.iobroker.net/#de/documentation/dev/objectsschema.md#Objekttypen

                Es gibt tatsächlich Funktionen welche Adaptern vorbehalten sind. Diese sind auch nur in Adaptern zugänglich. setObjekt is zugänglich also legitim zu verwenden und auch nötig einzusetzen.

                E Offline
                E Offline
                esche
                schrieb am zuletzt editiert von
                #51

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

                ….auch nötig einzusetzen.

                Darf ich fragen warum es unbedingt nötig ist? Warum muss das Objekt unbedingt ein Channel/Device sein und kein State?

                P 1 Antwort Letzte Antwort
                0
                • E esche

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

                  ….auch nötig einzusetzen.

                  Darf ich fragen warum es unbedingt nötig ist? Warum muss das Objekt unbedingt ein Channel/Device sein und kein State?

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

                  @esche Die Antwort steht in dem von Dir propagierten Link https://www.iobroker.net/#de/documentation/dev/objectsschema.md#Objekttypen

                  Objekttypen

                  state - Datenpunkt. Eltern sollten vom Typ Kanal, Gerät, Instanz oder Host sein
                  channel - Objekt zum Gruppieren eines oder mehrerer Datenpunkte. Eltern sollten Gerät sein.
                  device - Objekt zum Gruppieren eines oder mehrerer Kanäle oder Datenpunkte. Sollte außer dem Adapterinstanz-Namespace kein übergeordnetes Element haben.

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    MrLee
                    schrieb am zuletzt editiert von
                    #53

                    Moin!

                    Habe leider auch das Problem auf meinem Hauptsystem mi-home zum laufen zu bekommen...

                    • mi-home im JavaScript Adapter eingefügt, Script gestartet

                    -> Fehler im Log:

                    javascript.0	2021-02-15 10:20:24.169	error	(179) script.js._Testing.mihome: Error: Cannot find module '/usr/local/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'
                    

                    mi-home liegt bei mir allerdings unter:
                    '/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

                    Kann man den Pfad umbiegen?

                    Danke Euch!
                    Mr.Lee

                    M Thomas BraunT 2 Antworten Letzte Antwort
                    0
                    • M MrLee

                      Moin!

                      Habe leider auch das Problem auf meinem Hauptsystem mi-home zum laufen zu bekommen...

                      • mi-home im JavaScript Adapter eingefügt, Script gestartet

                      -> Fehler im Log:

                      javascript.0	2021-02-15 10:20:24.169	error	(179) script.js._Testing.mihome: Error: Cannot find module '/usr/local/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'
                      

                      mi-home liegt bei mir allerdings unter:
                      '/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

                      Kann man den Pfad umbiegen?

                      Danke Euch!
                      Mr.Lee

                      M Offline
                      M Offline
                      MrLee
                      schrieb am zuletzt editiert von
                      #54

                      Nachtrag:

                      Wenn ich den pfad im require auf:

                      const mihome = require('iobroker.javascript/node_modules/node-mihome/');
                      
                      

                      dann kommt im log:

                      javascript.2	2021-02-15 10:40:12.688	error	(7570) at Object.<anonymous> (/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:6:54)
                      javascript.2	2021-02-15 10:40:12.688	error	(7570) at Array.forEach (<anonymous>:null:null)
                      javascript.2	2021-02-15 10:40:12.688	error	(7570) at glob.sync.forEach.modelPath (/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23)
                      javascript.2	2021-02-15 10:40:12.687	error	(7570) at require (internal/modules/cjs/helpers.js:25:18)
                      javascript.2	2021-02-15 10:40:12.687	error	(7570) at Module.require (internal/modules/cjs/loader.js:692:17)
                      javascript.2	2021-02-15 10:40:12.687	error	(7570) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                      javascript.2	2021-02-15 10:40:12.686	error	(7570) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                      javascript.2	2021-02-15 10:40:12.686	error	(7570) at Module.load (internal/modules/cjs/loader.js:653:32)
                      javascript.2	2021-02-15 10:40:12.686	error	(7570) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                      javascript.2	2021-02-15 10:40:12.685	error	(7570) script.js._Testing.mihome: /usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/deerma.humidifier.jsq.js:5```
                      Christian MaurerC 1 Antwort Letzte Antwort
                      0
                      • M MrLee

                        Nachtrag:

                        Wenn ich den pfad im require auf:

                        const mihome = require('iobroker.javascript/node_modules/node-mihome/');
                        
                        

                        dann kommt im log:

                        javascript.2	2021-02-15 10:40:12.688	error	(7570) at Object.<anonymous> (/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:6:54)
                        javascript.2	2021-02-15 10:40:12.688	error	(7570) at Array.forEach (<anonymous>:null:null)
                        javascript.2	2021-02-15 10:40:12.688	error	(7570) at glob.sync.forEach.modelPath (/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/models.js:9:23)
                        javascript.2	2021-02-15 10:40:12.687	error	(7570) at require (internal/modules/cjs/helpers.js:25:18)
                        javascript.2	2021-02-15 10:40:12.687	error	(7570) at Module.require (internal/modules/cjs/loader.js:692:17)
                        javascript.2	2021-02-15 10:40:12.687	error	(7570) at Function.Module._load (internal/modules/cjs/loader.js:585:3)
                        javascript.2	2021-02-15 10:40:12.686	error	(7570) at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
                        javascript.2	2021-02-15 10:40:12.686	error	(7570) at Module.load (internal/modules/cjs/loader.js:653:32)
                        javascript.2	2021-02-15 10:40:12.686	error	(7570) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
                        javascript.2	2021-02-15 10:40:12.685	error	(7570) script.js._Testing.mihome: /usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome/lib/devices/deerma.humidifier.jsq.js:5```
                        Christian MaurerC Offline
                        Christian MaurerC Offline
                        Christian Maurer
                        schrieb am zuletzt editiert von
                        #55

                        @mrlee
                        Habe leider das gleiche Problem. Testweise habe ich eine neue VM aufgesetzt und iobroker frisch installiert, dann gehts ohne Probleme. Meine Installation hat schon einige Zeit auf dem Buckel, kann es vielleicht ein das durch die ganzen Updates irgend wo mal was "hängen" geblieben ist?

                        Vielleicht kommt ja hier noch eine Lösung, ich denke ich werd aber jetzt mal versuchen wie es sich verhält wenn man ein Backup vom nicht funktionierenden System in die VM einspielt.

                        P 1 Antwort Letzte Antwort
                        0
                        • Christian MaurerC Christian Maurer

                          @mrlee
                          Habe leider das gleiche Problem. Testweise habe ich eine neue VM aufgesetzt und iobroker frisch installiert, dann gehts ohne Probleme. Meine Installation hat schon einige Zeit auf dem Buckel, kann es vielleicht ein das durch die ganzen Updates irgend wo mal was "hängen" geblieben ist?

                          Vielleicht kommt ja hier noch eine Lösung, ich denke ich werd aber jetzt mal versuchen wie es sich verhält wenn man ein Backup vom nicht funktionierenden System in die VM einspielt.

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

                          @christian-maurer Wie schon erwähnt, weder kann ichs reproduzieren noch isses ein Skriptfehler an sich. Ich hab absolut keine Ahnung warum das bei einigen vollkommen problemlos geht und bei anderen son Gedöns ist, evtl. hat @apollon77 oder @Dutchman ne spontane Idee dazu?
                          Aber wir können ja derweil mal ne blöde Idee ausprobieren, was passiert denn wenn Du meine Fork, statt der orig. node-mihome im Adapteradmin angibst?
                          108407301-dbae7f00-7223-11eb-9754-f4be9d077eed.png

                          W 2 Antworten Letzte Antwort
                          0
                          • P Pittini

                            @christian-maurer Wie schon erwähnt, weder kann ichs reproduzieren noch isses ein Skriptfehler an sich. Ich hab absolut keine Ahnung warum das bei einigen vollkommen problemlos geht und bei anderen son Gedöns ist, evtl. hat @apollon77 oder @Dutchman ne spontane Idee dazu?
                            Aber wir können ja derweil mal ne blöde Idee ausprobieren, was passiert denn wenn Du meine Fork, statt der orig. node-mihome im Adapteradmin angibst?
                            108407301-dbae7f00-7223-11eb-9754-f4be9d077eed.png

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

                            @pittini Ich habe es eben mal getestet, weil es mich genervt hat, immer wieder die devices von hand zu kopieren. in Deinem fork sind sie ja drin. Wusste gar nicht, dass das geht. ich habe im JS-Adapter dann aber den kompletten Pfad zu Github eintragen müssen.

                            Es funktioniert, er holt sich beim Starten des JS-Adapters sauber alle devices. Allerdings habe ich dann jedesmal uch einen Error im log:

                            javascript.0	2021-02-22 14:31:24.034	info	(6240) received all states
                            javascript.0	2021-02-22 14:31:23.801	info	(6240) received all objects
                            javascript.0	2021-02-22 14:31:21.471	info	(6240) requesting all objects
                            javascript.0	2021-02-22 14:31:21.470	info	(6240) requesting all states
                            javascript.0	2021-02-22 14:31:21.433	error	(6240) Cannot install npm packet: https://github.com/Pittini/node-mihome
                            javascript.0	2021-02-22 14:31:21.378	info	(6240) found 0 vulnerabilities
                            javascript.0	2021-02-22 14:31:21.298	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.238s
                            javascript.0	2021-02-22 14:31:15.284	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                            javascript.0	2021-02-22 14:31:15.257	info	(6240) found 0 vulnerabilities
                            javascript.0	2021-02-22 14:31:15.183	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.396s
                            javascript.0	2021-02-22 14:31:09.171	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                            javascript.0	2021-02-22 14:31:09.144	info	(6240) found 0 vulnerabilities
                            javascript.0	2021-02-22 14:31:09.055	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.941s
                            javascript.0	2021-02-22 14:31:02.479	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                            javascript.0	2021-02-22 14:31:02.458	info	(6240) starting. Version 4.8.4 in /opt/iobroker/node_modules/iobroker.javascript, node: v12.20.2, js-controller: 3.2.16
                            host.iobroker-vlan100	2021-02-22 14:31:00.878	info	instance system.adapter.javascript.0 started with pid 6240
                            

                            Keine Ahnung, warum die meldung kommt, das npm packet könne nicht installiert werden. Die devices habe ich drin (bis auf die 3 airpurifier nutze ich nichts anderes aus node-mihome) und alles in Javascript scheint korrekt zu laufen. Auch das Script für Xiaomi. Steuern und auslesen problemlos.
                            Hast Du einen Tipp wegen des error?

                            Gruss, Jürgen

                            P 1 Antwort Letzte Antwort
                            0
                            • W Wildbill

                              @pittini Ich habe es eben mal getestet, weil es mich genervt hat, immer wieder die devices von hand zu kopieren. in Deinem fork sind sie ja drin. Wusste gar nicht, dass das geht. ich habe im JS-Adapter dann aber den kompletten Pfad zu Github eintragen müssen.

                              Es funktioniert, er holt sich beim Starten des JS-Adapters sauber alle devices. Allerdings habe ich dann jedesmal uch einen Error im log:

                              javascript.0	2021-02-22 14:31:24.034	info	(6240) received all states
                              javascript.0	2021-02-22 14:31:23.801	info	(6240) received all objects
                              javascript.0	2021-02-22 14:31:21.471	info	(6240) requesting all objects
                              javascript.0	2021-02-22 14:31:21.470	info	(6240) requesting all states
                              javascript.0	2021-02-22 14:31:21.433	error	(6240) Cannot install npm packet: https://github.com/Pittini/node-mihome
                              javascript.0	2021-02-22 14:31:21.378	info	(6240) found 0 vulnerabilities
                              javascript.0	2021-02-22 14:31:21.298	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.238s
                              javascript.0	2021-02-22 14:31:15.284	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                              javascript.0	2021-02-22 14:31:15.257	info	(6240) found 0 vulnerabilities
                              javascript.0	2021-02-22 14:31:15.183	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.396s
                              javascript.0	2021-02-22 14:31:09.171	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                              javascript.0	2021-02-22 14:31:09.144	info	(6240) found 0 vulnerabilities
                              javascript.0	2021-02-22 14:31:09.055	info	(6240) + node-mihome@0.0.32 updated 1 package and audited 43 packages in 5.941s
                              javascript.0	2021-02-22 14:31:02.479	info	(6240) npm install https://github.com/Pittini/node-mihome --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
                              javascript.0	2021-02-22 14:31:02.458	info	(6240) starting. Version 4.8.4 in /opt/iobroker/node_modules/iobroker.javascript, node: v12.20.2, js-controller: 3.2.16
                              host.iobroker-vlan100	2021-02-22 14:31:00.878	info	instance system.adapter.javascript.0 started with pid 6240
                              

                              Keine Ahnung, warum die meldung kommt, das npm packet könne nicht installiert werden. Die devices habe ich drin (bis auf die 3 airpurifier nutze ich nichts anderes aus node-mihome) und alles in Javascript scheint korrekt zu laufen. Auch das Script für Xiaomi. Steuern und auslesen problemlos.
                              Hast Du einen Tipp wegen des error?

                              Gruss, Jürgen

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

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

                              Hast Du einen Tipp wegen des error?

                              Leider nein. Das is Systemebene, da hab ich wenig Ahnung von. Evtl. hat @apollon77 oder @Dutchman nen Tipp oder ne Idee?

                              1 Antwort Letzte Antwort
                              1
                              • M MrLee

                                Moin!

                                Habe leider auch das Problem auf meinem Hauptsystem mi-home zum laufen zu bekommen...

                                • mi-home im JavaScript Adapter eingefügt, Script gestartet

                                -> Fehler im Log:

                                javascript.0	2021-02-15 10:20:24.169	error	(179) script.js._Testing.mihome: Error: Cannot find module '/usr/local/iobroker/node_modules/iobroker.javascript/lib/../../node-mihome'
                                

                                mi-home liegt bei mir allerdings unter:
                                '/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

                                Kann man den Pfad umbiegen?

                                Danke Euch!
                                Mr.Lee

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #59

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

                                mi-home liegt bei mir allerdings unter:
                                '/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

                                Das riecht wieder nach einer 'krummen' node-Installation.

                                which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
                                

                                anschauen.
                                Oder bei der Installation im falschen Verzeichnis gestanden.

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                Christian MaurerC 1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

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

                                  mi-home liegt bei mir allerdings unter:
                                  '/usr/local/iobroker/node_modules/iobroker.javascript/node_modules/node-mihome

                                  Das riecht wieder nach einer 'krummen' node-Installation.

                                  which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
                                  

                                  anschauen.
                                  Oder bei der Installation im falschen Verzeichnis gestanden.

                                  Christian MaurerC Offline
                                  Christian MaurerC Offline
                                  Christian Maurer
                                  schrieb am zuletzt editiert von
                                  #60

                                  @pittini hat leider nix gebracht, gleicher Fehler, aber der tipp von @thomas-braun wars, ich weis nicht warum, aber apt hat anscheinend mein nodejs nicht aktualisiert (ist bei version 10 stehen geblieben).
                                  =>
                                  iobroker gestoppt, nodejs mit apt purge runter geschmissen und anschließend neu installiert, dann iobroker wieder gestartet = funktioniert einwandfrei.

                                  DANKE, vielleicht hilfts anderen ja auch.

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • Christian MaurerC Christian Maurer

                                    @pittini hat leider nix gebracht, gleicher Fehler, aber der tipp von @thomas-braun wars, ich weis nicht warum, aber apt hat anscheinend mein nodejs nicht aktualisiert (ist bei version 10 stehen geblieben).
                                    =>
                                    iobroker gestoppt, nodejs mit apt purge runter geschmissen und anschließend neu installiert, dann iobroker wieder gestartet = funktioniert einwandfrei.

                                    DANKE, vielleicht hilfts anderen ja auch.

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #61

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

                                    apt hat anscheinend mein nodejs nicht aktualisiert

                                    Dann ist dein Quellen-Verzeichnis nicht richtig.
                                    Das Update von node via Paketmanager ist eigentlich absolut narrensicher.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    Christian MaurerC 1 Antwort Letzte Antwort
                                    0
                                    • Thomas BraunT Thomas Braun

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

                                      apt hat anscheinend mein nodejs nicht aktualisiert

                                      Dann ist dein Quellen-Verzeichnis nicht richtig.
                                      Das Update von node via Paketmanager ist eigentlich absolut narrensicher.

                                      Christian MaurerC Offline
                                      Christian MaurerC Offline
                                      Christian Maurer
                                      schrieb am zuletzt editiert von
                                      #62

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

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

                                      apt hat anscheinend mein nodejs nicht aktualisiert

                                      Dann ist dein Quellen-Verzeichnis nicht richtig.
                                      Das Update von node via Paketmanager ist eigentlich absolut narrensicher.

                                      dachte ich bis jetzt auch, wie oben mal erwähnt ist es ein uraltes system das schon über zig debian versionen geupdatet wurde, ich kann mir nur vorstellen das da irgend wo mal was "hängen" geblieben ist. Habs grad nochmal kontroliert und das nodejs installscript hat die Dateien sauber bereinigt/neu angelegt.

                                      Thomas BraunT 1 Antwort Letzte Antwort
                                      0
                                      • Christian MaurerC Christian Maurer

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

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

                                        apt hat anscheinend mein nodejs nicht aktualisiert

                                        Dann ist dein Quellen-Verzeichnis nicht richtig.
                                        Das Update von node via Paketmanager ist eigentlich absolut narrensicher.

                                        dachte ich bis jetzt auch, wie oben mal erwähnt ist es ein uraltes system das schon über zig debian versionen geupdatet wurde, ich kann mir nur vorstellen das da irgend wo mal was "hängen" geblieben ist. Habs grad nochmal kontroliert und das nodejs installscript hat die Dateien sauber bereinigt/neu angelegt.

                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #63

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

                                        bis jetzt auch, wie oben mal erwähnt ist es ein uraltes system das schon über zig debian versionen geupdatet wurde, ich kann mir nur vorstellen das da irgend wo mal was "hängen" geblieben ist. Habs gra

                                        Wie schaut denn das nun da aus bei dir?

                                        sudo apt update
                                        

                                        Linux-Werkzeugkasten:
                                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                        NodeJS Fixer Skript:
                                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                        Christian MaurerC 1 Antwort Letzte Antwort
                                        0
                                        • Thomas BraunT Thomas Braun

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

                                          bis jetzt auch, wie oben mal erwähnt ist es ein uraltes system das schon über zig debian versionen geupdatet wurde, ich kann mir nur vorstellen das da irgend wo mal was "hängen" geblieben ist. Habs gra

                                          Wie schaut denn das nun da aus bei dir?

                                          sudo apt update
                                          
                                          Christian MaurerC Offline
                                          Christian MaurerC Offline
                                          Christian Maurer
                                          schrieb am zuletzt editiert von
                                          #64

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

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

                                          bis jetzt auch, wie oben mal erwähnt ist es ein uraltes system das schon über zig debian versionen geupdatet wurde, ich kann mir nur vorstellen das da irgend wo mal was "hängen" geblieben ist. Habs gra

                                          Wie schaut denn das nun da aus bei dir?

                                          sudo apt update
                                          

                                          denke so wies sein sollte

                                          OK:1 http://security.debian.org/debian-security stretch/updates InRelease
                                          Ign:2 http://deb.debian.org/debian stretch InRelease
                                          OK:3 http://deb.debian.org/debian stretch-updates InRelease
                                          OK:4 http://deb.debian.org/debian stretch Release
                                          OK:5 https://repos.influxdata.com/debian stretch InRelease
                                          OK:6 https://deb.nodesource.com/node_12.x stretch InRelease
                                          Paketlisten werden gelesen... Fertig
                                          Abhängigkeitsbaum wird aufgebaut.
                                          Statusinformationen werden eingelesen.... Fertig
                                          Alle Pakete sind aktuell.
                                          
                                          
                                          Thomas BraunT 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

                                          770

                                          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