Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js-controller 3.2 jetzt im Latest!

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    js-controller 3.2 jetzt im Latest!

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      w00dy @apollon77 last edited by

      @apollon77 Nein, leider nicht. Ein komisches Gefühl bleibt trotzdem zurück 😔

      1 Reply Last reply Reply Quote 0
      • M
        man10to @amg_666 last edited by

        @amg_666 nach dem Update zeigt bei mir der Plenticore adapter auch warnungen im log, und nicht wenig

        plenticore.0	2021-03-02 16:00:38.072	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:36.563	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:36.562	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:36.561	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:34.798	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:34.797	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:34.797	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:33.176	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:33.174	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:33.174	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:31.450	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:31.449	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:31.449	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:29.783	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:29.783	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        plenticore.0	2021-03-02 16:00:29.781	warn	(362561) State "plenticore.0.forecast.day1.power.9h.generated" has no existing object, this might lead to an error in future versions
        
        foxriver76 amg_666 2 Replies Last reply Reply Quote 0
        • foxriver76
          foxriver76 Developer @man10to last edited by

          @man10to Bitte Issue beim Adapter eröffnen.

          1 Reply Last reply Reply Quote 0
          • amg_666
            amg_666 @man10to last edited by

            @man10to hmm, ich habe eben auf die 2.1.8 upgedatet, keine Probleme:

            plenticore.0	2021-03-02 16:14:35.183	info	(32361) Using forecast of day 2 for MinSoC calculation.
            plenticore.0	2021-03-02 16:14:35.182	info	(32361) calcMinSoC for day 2.
            plenticore.0	2021-03-02 16:14:34.579	info	(32361) calcMinSoC for day 1.
            plenticore.0	2021-03-02 16:14:32.806	info	(32361) Read forecast data before calcMinSoC.
            plenticore.0	2021-03-02 16:14:32.796	info	(32361) Using daswetter.0 in weather forcast.
            plenticore.0	2021-03-02 16:14:32.794	info	(32361) Still 1 adapters to check.
            plenticore.0	2021-03-02 16:14:32.567	info	(32361) Still 2 adapters to check.
            plenticore.0	2021-03-02 16:14:32.564	info	(32361) Enabling MinSoC forecast data.
            plenticore.0	2021-03-02 16:14:32.539	info	(32361) Enabling forecast data.
            plenticore.0	2021-03-02 16:14:29.178	info	(32361) [INFO] Configured polling interval: 20000
            plenticore.0	2021-03-02 16:14:29.175	info	(32361) Configured Wp of panel(s) is 7296
            plenticore.0	2021-03-02 16:14:29.171	info	(32361) Got all internal forecast data and made it available to main process.
            plenticore.0	2021-03-02 16:14:29.075	info	(32361) Requested alternative weather data from kachelmannwetter.com
            plenticore.0	2021-03-02 16:14:28.928	info	(32361) Requested weather data from kachelmannwetter.com
            plenticore.0	2021-03-02 16:14:28.821	info	(32361) City id for coordinates 8.771570193429486/50.28758620000001 is 2862709
            plenticore.0	2021-03-02 16:14:28.098	info	(32361) got weather data from met.no with 90 elements.
            plenticore.0	2021-03-02 16:14:27.075	info	(32361) [START] Starting adapter plenticore v2.1.8r232
            plenticore.0	2021-03-02 16:14:26.999	info	(32361) starting. Version 2.1.8 in /opt/iobroker/node_modules/iobroker.plenticore, node: v12.20.1, js-controller: 3.2.16
            host.iostrom	2021-03-02 16:14:20.178	info	instance system.adapter.plenticore.0 started with pid 32361
            host.iostrom	2021-03-02 16:14:15.650	info	iobroker exit 0
            host.iostrom	2021-03-02 16:14:15.308	info	instance system.adapter.plenticore.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
            host.iostrom	2021-03-02 16:14:14.586	info	iobroker Adapter "plenticore" updated
            host.iostrom	2021-03-02 16:14:14.513	info	iobroker upload [0] plenticore.admin /opt/iobroker/node_modules/iobroker.plenticore/admin/index_m.html index_m.html text/html
            host.iostrom	2021-03-02 16:14:14.445	info	iobroker upload [1] plenticore.admin /opt/iobroker/node_modules/iobroker.plenticore/admin/plenticore.png plenticore.png image/png
            plenticore.0	2021-03-02 16:14:14.389	info	(13190) Logged out from API
            host.iostrom	2021-03-02 16:14:14.377	info	iobroker upload [2] plenticore.admin /opt/iobroker/node_modules/iobroker.plenticore/admin/style.css style.css text/css
            plenticore.0	2021-03-02 16:14:14.286	info	(13190) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
            plenticore.0	2021-03-02 16:14:14.284	info	(13190) terminating
            plenticore.0	2021-03-02 16:14:14.282	info	(13190) [END] Stopping plenticore adapter...
            
            M 1 Reply Last reply Reply Quote 0
            • M
              man10to @amg_666 last edited by

              @amg_666 irgendwie kommt beim Neustart mal ein Wert rein aber nicht mehr so wie vorher immer

              ich habs mal auf 605 Sekunden gestellt..

              Hier meine Versionen: (oder was meinst du mit 2.1.8

              iobroker
              
              Platform
                  linux
              Betriebssystem
                  linux
              Architektur
                  x64
              CPUs
                  6
              Geschwindigkeit
                  1799 MHz
              Modell
                  Intel(R) Xeon(R) CPU E5-2630L v3 @ 1.80GHz
              RAM
                  4.7 GB
              System Betriebszeit
                  5 T. 21:16:30
              Node.js
                  v14.16.0 (Empfohlene Version v12.21.0)
              NPM
                  6.14.11
              Festplatte Größe
                  195.86 GB
              Festplatte frei
                  185.27 GB
              Anzahl der Adapter
                  332
              Betriebszeit
                  5 T. 21:16:09
              Aktive Instanzen
                  25
              Hostname
                  iobroker
              
              Thomas Braun 1 Reply Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @man10to last edited by

                @man10to @amg_666
                Mit dem plenticore seid ihr schwer OT.

                1 Reply Last reply Reply Quote 0
                • amg_666
                  amg_666 last edited by amg_666

                  @thomas-braun was heisst OT ? Off Topic? Ok, aber @man10to hat angefangen 🙂

                  @man10to mach mal einen getrennten Post auf, das hat hier wirklich nix zu suchen, ich kann dann da ausführlich antworten...

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

                    Hallo,

                    ich bekomme den controller gar nicht upgedated. Es kommt die Meldung:

                    pi@raspberrypi:~ $ cd /opt/iobroker
                    pi@raspberrypi:/opt/iobroker $ sudo iobroker stop
                    sudo: iobroker: Befehl nicht gefunden
                    

                    Scheinbar befindet sich iobroker nicht da wo er sein sollte. Wie finde ich das raus wo iobroker installiert ist?

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

                      @waterchill

                      Du sollst ja auch nicht mit sudo da rummurksen.

                      which iobroker
                      
                      W 1 Reply Last reply Reply Quote 0
                      • W
                        waterchill @Thomas Braun last edited by

                        @thomas-braun

                        Bei dem Befehl kommt leider gar nix raus

                        pi@raspberrypi:/ $ which iobroker
                        pi@raspberrypi:/ $
                        
                        Thomas Braun 1 Reply Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @waterchill last edited by Thomas Braun

                          @waterchill
                          Du stehst ohnehin in 'komischen' Verzeichnissen.

                          cd ~
                          

                          Kann es sein, dass du den iobroker als root direkt in das Wurzelverzeichnis / oder in /root geballert hast?

                          Ist aber auch Off Topic, bitte eigenen Thread eröffnen.

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 last edited by

                            ich wäre ja bei fixer ausführen mit dem manuellen curl Befehl wie im Eingangspost genannt

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

                              @apollon77

                              In dem ganzen Topic hier ist von curl nichts zu finden

                              Neuschwansteini 1 Reply Last reply Reply Quote 0
                              • Latzi
                                Latzi @apollon77 last edited by

                                @apollon77 sagte in js-controller 3.2 jetzt im Latest!:

                                Bei Fehlern:
                                Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fix wer schon einen js-controller 2.x oder höher hat, alternativ weiterhin manuell via curl -sL https://iobroker.net/fix.sh | bash -) nutzen und die Installation wiederholen.

                                1 Reply Last reply Reply Quote 1
                                • Neuschwansteini
                                  Neuschwansteini @waterchill last edited by

                                  @waterchill

                                  27f6b3aa-e818-4bda-ba76-3e0481816ab7-grafik.png

                                  W 1 Reply Last reply Reply Quote 1
                                  • W
                                    waterchill @Neuschwansteini last edited by

                                    @ilovegym @Latzi

                                    Das geht damit natürlich auch nicht, denn es muss zuerst der iobroker beendet werden. Und iobroker stop geht ja nicht

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • Neuschwansteini
                                      Neuschwansteini @waterchill last edited by

                                      @waterchill Hi, also da ist anscheinend mehr faul .. bitte eigenen Thread öffnen, dann schauen wir detalliert mal weiter.
                                      Dankeschön.

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        homecineplexx @apollon77 last edited by homecineplexx

                                        @apollon77 said in js-controller 3.2 jetzt im Latest!:

                                        @homecineplexx Falls du globale Scripts hast werden die ja davorgehängt. du versuchst auf irgendetwas zuzugreifen was falsch ist. von solchen Javascripts hab ich auch einiges im Sentry wo versucht wird ein state zuzugreifen mit nem "." am ende - das ist jetzt verboten. Muss im javascript adapter wohl noch abgefangen werden

                                        ich hab den fehler jetzt gefunden.
                                        ich verwende scripts die mir quasi virtuelle Devices anlegt (ähnlich wie alias) sieht code und ich bekomme zb den Error für Calculation.JahresVerbrauch_7 also immer wenn ein Datenpunkt angelegt weden soll, wo ein "." dazwischen ist (sprich ein anderes "Verzeichnis"). kann ich das irgendwie umgehen?

                                        //generic virtual device        
                                        function VirtualDevice(config) {
                                            //sanity check
                                            if (typeof config !== 'object' || typeof config.namespace !== 'string' || typeof config.name !== 'string' || typeof config.states !== 'object') {
                                                log('sanity check failed, no device created', 'warn');
                                                return;
                                            }
                                         
                                            this.config = config;
                                            this.namespace = 'VirtualDevice.0.' + config.namespace + '.' + config.name;
                                            this.name = config.name;
                                         
                                            //create virtual device
                                            log('creating virtual device ' + this.namespace);
                                            this.createDevice(function () {
                                                this.createStates(function () {
                                                    log('created virtual device ' + this.namespace);
                                                }.bind(this));
                                            }.bind(this));
                                        }
                                         
                                        VirtualDevice.prototype.createDevice = function (callback) {
                                            log('creating object for device ' + this.namespace, 'debug');
                                            //create device object
                                            var obj = this.config.copy ? getObject(this.config.copy) : {common: {}, native: {}};
                                            delete obj.common.custom;
                                            if (typeof this.config.common === 'object') {
                                                obj.common = Object.assign(obj.common, this.config.common);
                                            }
                                            if (typeof this.config.native === 'object') {
                                                obj.native = Object.assign(obj.native, this.config.native);
                                            }
                                            extendObject(this.namespace, {
                                                //type: 'device',
                                                type: 'channel',
                                                common: obj.common,
                                                native: obj.native
                                            }, function (err) {
                                                if (err) {
                                                    log('could not create virtual device: ' + this.namespace, 'warn');
                                                    return;
                                                }
                                                log('created object for device ' + this.namespace, 'debug');
                                                if (typeof this.config.onCreate === 'function') {
                                                    this.config.onCreate(this, callback);
                                                } else {
                                                    callback();
                                                }
                                            }.bind(this));
                                        };
                                          
                                        VirtualDevice.prototype.createStates = function (callback) {
                                            'use strict';
                                            log('creating states for device ' + this.namespace, 'debug');
                                            var stateIds = Object.keys(this.config.states);
                                            log('creating states ' + JSON.stringify(stateIds), 'debug');
                                            var countCreated = 0;
                                            for (var i = 0; i < stateIds.length; i++) {
                                                let stateId = stateIds[i];
                                                this.normalizeState(stateId);
                                                var id = this.namespace + '.' + stateId;
                                                log('creating state ' + id, 'debug');
                                                var obj = this.config.states[stateId].copy ? getObject(this.config.states[stateId].copy) : {
                                                    type: 'state',
                                                    common: {},
                                                    native: {}
                                                };
                                                delete obj.common.custom;
                                                if (typeof this.config.states[stateId].common === 'object') {
                                                    obj.common = Object.assign(obj.common, this.config.states[stateId].common);
                                                }
                                                if (typeof this.config.states[stateId].native === 'object') {
                                                    obj.native = Object.assign(obj.native, this.config.states[stateId].native);
                                                }
                                        
                                               // var checkObj = getObject(id);
                                        
                                            	//if (!checkObj) {
                                            		setObject(id, obj, function(err, checkObj) {
                                            			if (err) {
                                                            log('skipping creation of state ' + id, 'debug');
                                                        } else {
                                                            log('created state ' + id, 'debug');
                                                        }
                                                        if (!err && checkObj) {
                                                            //setTimeout(function(){
                                                                this.connectState(stateId);
                                                                countCreated++;
                                                                if (countCreated >= stateIds.length) {
                                                                    log('created ' + countCreated + ' states for device ' + this.namespace, 'debug');
                                                                    callback();
                                                                }
                                        
                                                                var newId = checkObj.id;
                                                                var helper = newId.substr(newId.lastIndexOf('.') + 1, newId.length);
                                        
                                                                var stateValueNew = this.config.states[helper].stateValue;
                                                                
                                                                if (stateValueNew !== undefined) {
                                                                    setStateDelayed(newId, stateValueNew, 1000);
                                                                    log('set default: ' + stateValueNew + ' for ' + newId);
                                                                }
                                                            //}.bind(this), 500);
                                                        }
                                            		}.bind(this)); 
                                            	//} 
                                            }
                                        };
                                         
                                        VirtualDevice.prototype.normalizeState = function (state) {
                                            log('normalizing state ' + state, 'debug');
                                            if (typeof this.config.states[state].read !== 'object') {
                                                this.config.states[state].read = {};
                                            }
                                            if (typeof this.config.states[state].write !== 'object') {
                                                this.config.states[state].write = {};
                                            }
                                         
                                            var readIds = Object.keys(this.config.states[state].read);
                                            for (var i = 0; i < readIds.length; i++) {
                                                var readId = this.config.states[state].read[readIds[i]];
                                                if (typeof readId.before !== 'function') {
                                                    this.config.states[state].read[readIds[i]].before = function (device, value, callback) {
                                                        callback();
                                                    };
                                                }
                                                if (typeof readId.after !== 'function') {
                                                    this.config.states[state].read[readIds[i]].after = function (device, value) {
                                                    };
                                                }
                                            }
                                            var writeIds = Object.keys(this.config.states[state].write);
                                            for (i = 0; i < writeIds.length; i++) {
                                                var writeId = this.config.states[state].write[writeIds[i]];
                                                if (typeof writeId.before !== 'function') {
                                                    this.config.states[state].write[writeIds[i]].before = function (device, value, callback) {
                                                        callback()
                                                    };
                                                }
                                                if (typeof writeId.after !== 'function') {
                                                    this.config.states[state].write[writeIds[i]].after = function (device, value) {
                                                    };
                                                }
                                            }
                                            log('normalized state ' + state, 'debug');
                                        };
                                         
                                        
                                        VirtualDevice.prototype.connectState = function (state) {
                                            setTimeout(function(){
                                                log('connecting state ' + state, 'debug');
                                                var id = this.namespace + '.' + state;
                                            
                                                //subscribe to read ids
                                                var readIds = Object.keys(this.config.states[state].read);
                                                for (var i = 0; i < readIds.length; i++) {
                                                    if (readIds[i] === null || readIds[i] === undefined || readIds[i] === '') {
                                                        continue;
                                                    }
                                                    if (getState(readIds[i]).notExist === true) { //check if state exists
                                                        log('cannot connect to not existing state: ' + readIds[i], 'warn');
                                                        continue;
                                                    }
                                                    var readObj = this.config.states[state].read[readIds[i]];
                                                    var trigger = readObj.trigger || {change: 'any'};
                                                    trigger.ack = true;
                                                    trigger.id = readIds[i];
                                                    this.subRead(trigger, readObj, state);
                                                    log('connected ' + readIds[i] + ' to ' + id, 'debug');
                                                }
                                            
                                                //subscribe to this state and write to write ids
                                                var writeIds = Object.keys(this.config.states[state].write);
                                                var trigger = {id: this.namespace + '.' + state, change: 'any', ack: false};
                                                //original var trigger = {id: 'javascript.' + instance + '.' + this.namespace + '.' + state, change: 'any', ack: false};
                                                on(trigger, function (obj) {
                                                    'use strict';
                                                    log('detected change of ' + state, 'debug');
                                                    for (var i = 0; i < writeIds.length; i++) {
                                                        let writeObj = this.config.states[state].write[writeIds[i]];
                                                        let val = this.convertValue(obj.state.val, writeObj.convert);
                                                        let writeId = writeIds[i];
                                                        log('executing function before for ' + writeId, 'debug');
                                                        writeObj.before(this, val, function (newVal, newDelay) {
                                                            if (newVal !== undefined && newVal !== null) val = newVal;
                                                            var delay = writeObj.delay;
                                                            if (newDelay !== undefined && newDelay !== null) delay = newDelay;
                                                            log(newVal + 'writing value ' + val + ' to ' + writeId + ' with delay ' + delay, 'debug');
                                                            setStateDelayed(writeId, val, false, delay || 0, true, function () {
                                                                log('executing function after for ' + writeId, 'debug');
                                                                writeObj.after(this, val);
                                                            }.bind(this));
                                                        }.bind(this));
                                                    }
                                                }.bind(this));
                                        
                                                log('connected ' + state + ' to ' + JSON.stringify(writeIds), 'debug');
                                            }.bind(this), 500);
                                        };
                                          
                                        VirtualDevice.prototype.subRead = function (trigger, readObj, state) {
                                            var func = function (obj) {
                                                var val = this.convertValue(obj.state.val, readObj.convert);
                                         
                                                //@todo aggregations
                                         
                                                log('executing function before for ' + trigger.id, 'debug');
                                                readObj.before(this, val, function (newVal, newDelay) {
                                                    if (newVal !== undefined && newVal !== null) val = newVal;
                                                    if (newDelay !== undefined && newDelay !== null) writeObj.delay = newDelay;
                                                    log('reading value ' + val + ' to ' + this.namespace + '.' + state, 'debug');
                                                    setStateDelayed(this.namespace + '.' + state, val, true, readObj.delay || 0, true, function () {
                                                        log('executing function after for ' + trigger.id, 'debug');
                                                        readObj.after(this, val);
                                                    }.bind(this));
                                                }.bind(this));
                                            }.bind(this);
                                            func({state: getState(trigger.id)});
                                            on(trigger, func);
                                        };
                                         
                                        VirtualDevice.prototype.convertValue = function (val, func) {
                                            if (typeof func !== 'function') {
                                                return val;
                                            }
                                            return func(val);
                                        };
                                        
                                        var deviceId = 'watermeter';
                                        
                                        new VirtualDevice({
                                            namespace: 'ESP',
                                            name: deviceId,
                                            states: {
                                                'isTelegramInfo': {
                                                    common: {name: 'TelegramInfo wird durch JavaScript gesetzt', role: 'state', type: 'boolean', desc: 'TelegramInfo', read: true, write: true, def: true},
                                                    stateValue: true
                                                },
                                                'name': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId, role: 'text', type: 'string', desc: 'name', read: true, write: false, def: 'Keller Waschraum - Wasserzähler'},
                                                    stateValue: 'Keller Waschraum - Wasserzähler'
                                                },
                                                'Zaehlerstand': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Zaehlerstand', role: 'variable', type: 'number', desc: 'Zaehlerstand', read: true, write: false, def: '0', 'unit': 'm³',
                                                        custom: {
                                                            'influxdb.0': {
                                                                'enabled': true,
                                                                'changesOnly': true,
                                                                'debounce': 0,
                                                                'maxLength': 10,
                                                                'retention': 0,
                                                                'changesRelogInterval': 0,
                                                                'changesMinDelta': 0,
                                                                'storageType': '',
                                                                'aliasId': ''
                                                            }
                                                        }
                                                    },
                                                    read: {
                                                        'mqtt.0.wasserzaehler.zaehlerstand': {
                                                            convert: function (val) {
                                                                return Number(val);
                                                            },
                                                        },
                                                    },
                                                },
                                                'online': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.online', role: 'variable', type: 'boolean', desc: 'online', read: true, write: false, def: false,
                                                        custom: {
                                                                'influxdb.0': {
                                                                    'enabled': true,
                                                                    'changesOnly': true,
                                                                    'debounce': 0,
                                                                    'maxLength': 10,
                                                                    'retention': 0,
                                                                    'changesRelogInterval': 30,
                                                                    'changesMinDelta': 0,
                                                                    'storageType': '',
                                                                    'aliasId': ''
                                                                }
                                                            }
                                                    },
                                                    read: {
                                                        'mqtt.0.wasserzaehler.error': {
                                                            convert: function (val) {
                                                                return val != 'connection lost';
                                                            },
                                                            trigger: setTimeout(function(){
                                                                    on({id:'VirtualDevice.0.ESP.' + deviceId + '.online', change: 'ne'}, function (obj) {
                                                                        var value = obj.state.val;
                                        
                                                                        if (getState('VirtualDevice.0.ESP.' + deviceId + '.isTelegramInfo').val === true) {
                                                                            var name = getState('VirtualDevice.0.ESP.' + deviceId + '.name').val;
                                        
                                                                            _sendLogToTelegram(_findCorrectEmoji('OnlineStatus: ' + name + ' ist ' + (value === true ? 'wieder' : 'nicht') + ' erreichbar.'));
                                                                        } 
                                                                    })
                                                                }, 500)
                                                        },
                                                    },
                                                    write: {}
                                                },
                                                'error': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.error', role: 'text', type: 'string', desc: 'error', read: true, write: false, def: ''},
                                                    read: {
                                                        'mqtt.0.wasserzaehler.error': {
                                                        },
                                                    },
                                                    write: {}
                                                },
                                                'Calculation.TageszaehlStand': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TageszaehlStand', role: 'variable', type: 'number', desc: 'TageszaehlStand', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.aktuellerTagesVerbrauch': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.aktuellerTagesVerbrauch', role: 'variable', type: 'number', desc: 'aktuellerTagesVerbrauch', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_1': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_1', role: 'variable', type: 'number', desc: 'TagesVerbrauch_1', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_2': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_2', role: 'variable', type: 'number', desc: 'TagesVerbrauch_2', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_3': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_3', role: 'variable', type: 'number', desc: 'TagesVerbrauch_3', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_4': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_4', role: 'variable', type: 'number', desc: 'TagesVerbrauch_4', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_5': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_5', role: 'variable', type: 'number', desc: 'TagesVerbrauch_5', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_6': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_6', role: 'variable', type: 'number', desc: 'TagesVerbrauch_6', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.TagesVerbrauch_7': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.TagesVerbrauch_7', role: 'variable', type: 'number', desc: 'TagesVerbrauch_7', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                        
                                                'Calculation.WochenzaehlStand': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenzaehlStand', role: 'variable', type: 'number', desc: 'WochenzaehlStand', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                 'Calculation.aktuellerWochenVerbrauch': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.aktuellerWochenVerbrauch', role: 'variable', type: 'number', desc: 'aktuellerWochenVerbrauch', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_1': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_1', role: 'variable', type: 'number', desc: 'WochenVerbrauch_1', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_2': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_2', role: 'variable', type: 'number', desc: 'WochenVerbrauch_2', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_3': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_3', role: 'variable', type: 'number', desc: 'WochenVerbrauch_3', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_4': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_4', role: 'variable', type: 'number', desc: 'WochenVerbrauch_4', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_5': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_5', role: 'variable', type: 'number', desc: 'WochenVerbrauch_5', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_6': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_6', role: 'variable', type: 'number', desc: 'WochenVerbrauch_6', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.WochenVerbrauch_7': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.WochenVerbrauch_7', role: 'variable', type: 'number', desc: 'WochenVerbrauch_7', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                        
                                                'Calculation.MonatzaehlStand': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatzaehlStand', role: 'variable', type: 'number', desc: 'MonatzaehlStand', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                 'Calculation.aktuellerMonatVerbrauch': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.aktuellerMonatVerbrauch', role: 'variable', type: 'number', desc: 'aktuellerMonatVerbrauch', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_1': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_1', role: 'variable', type: 'number', desc: 'MonatVerbrauch_1', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_2': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_2', role: 'variable', type: 'number', desc: 'MonatVerbrauch_2', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_3': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_3', role: 'variable', type: 'number', desc: 'MonatVerbrauch_3', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_4': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_4', role: 'variable', type: 'number', desc: 'MonatVerbrauch_4', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_5': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_5', role: 'variable', type: 'number', desc: 'MonatVerbrauch_5', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_6': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_6', role: 'variable', type: 'number', desc: 'MonatVerbrauch_6', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_7': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_7', role: 'variable', type: 'number', desc: 'MonatVerbrauch_7', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_8': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_8', role: 'variable', type: 'number', desc: 'MonatVerbrauch_8', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_9': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_9', role: 'variable', type: 'number', desc: 'MonatVerbrauch_9', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_10': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_10', role: 'variable', type: 'number', desc: 'MonatVerbrauch_10', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_11': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_11', role: 'variable', type: 'number', desc: 'MonatVerbrauch_11', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.MonatVerbrauch_12': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.MonatVerbrauch_12', role: 'variable', type: 'number', desc: 'MonatVerbrauch_12', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                        
                                                'Calculation.JahreszaehlStand': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahreszaehlStand', role: 'variable', type: 'number', desc: 'JahreszaehlStand', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                 'Calculation.aktuellerJahresVerbrauch': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.aktuellerJahresVerbrauch', role: 'variable', type: 'number', desc: 'aktuellerJahresVerbrauch', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_1': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_1', role: 'variable', type: 'number', desc: 'JahresVerbrauch_1', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_2': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_2', role: 'variable', type: 'number', desc: 'JahresVerbrauch_2', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_3': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_3', role: 'variable', type: 'number', desc: 'JahresVerbrauch_3', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_4': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_4', role: 'variable', type: 'number', desc: 'JahresVerbrauch_4', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_5': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_5', role: 'variable', type: 'number', desc: 'JahresVerbrauch_5', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_6': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_6', role: 'variable', type: 'number', desc: 'JahresVerbrauch_6', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                                'Calculation.JahresVerbrauch_7': {
                                                    common: {name: 'VirtualDevice.0.ESP.' + deviceId + '.Calculation.JahresVerbrauch_7', role: 'variable', type: 'number', desc: 'JahresVerbrauch_7', read: true, write: true, def: 0, min: 0, max: 999999, 'unit': 'm³'},
                                                },
                                            }
                                        });
                                        
                                        
                                        
                                        

                                        Könnte mir da bitte jemand weiterhelfen, wäre sehr dankbar.
                                        lg

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          ChristianS last edited by

                                          Hallo zusammen,

                                          leider klappt mein Update von 3.1.6 auf 3.2.16 nicht.
                                          Hab´s ausprobiert, wie beschrieben, aber auch nach dem fix funktioniert es genaus wenig wie mit "sudo -H -u iobroker npm install iobroker.js-controller":

                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $ curl -sL https://iobroker.net/f                                                                                                                               ix.sh | bash -
                                          library: loaded
                                          Library version=2021-01-23
                                          
                                          ==========================================================================
                                          
                                              Welcome to the ioBroker installation fixer!
                                              Script version: 2020-12-07
                                          
                                              You might need to enter your password a couple of times.
                                          
                                          ==========================================================================
                                          
                                          
                                          ==========================================================================
                                              Installing prerequisites (1/3)
                                          ==========================================================================
                                          
                                          Holen:1 http://archive.raspberrypi.org/debian stretch InRelease [25,3 kB]
                                          Holen:2 http://mirrordirector.raspbian.org/raspbian stretch InRelease [15,0 kB]
                                          Holen:3 http://archive.raspberrypi.org/debian stretch/main armhf Packages [192 k                                                                                                                               B]
                                          Holen:4 http://archive.raspberrypi.org/debian stretch/ui armhf Packages [44,6 kB                                                                                                                               ]
                                          Holen:5 https://deb.nodesource.com/node_10.x stretch InRelease [4.585 B]
                                          Holen:6 http://mirrordirector.raspbian.org/raspbian stretch/main armhf Packages                                                                                                                                [11,7 MB]
                                          Holen:7 https://deb.nodesource.com/node_10.x stretch/main armhf Packages [765 B]
                                          Holen:8 http://mirrordirector.raspbian.org/raspbian stretch/non-free armhf Packa                                                                                                                               ges [98,9 kB]
                                          Es wurden 12,0 MB in 15 s geholt (766 kB/s).
                                          Paketlisten werden gelesen... Fertig
                                          Installed gcc-c++
                                          Installed libcairo2-dev
                                          Installed libpango1.0-dev
                                          Installed libjpeg-dev
                                          Installed libgif-dev
                                          Installed librsvg2-dev
                                          
                                          ==========================================================================
                                              Checking ioBroker user and directory permissions (2/3)
                                          ==========================================================================
                                          
                                          Created /etc/sudoers.d/iobroker
                                          Fixing directory permissions...
                                          
                                          ==========================================================================
                                              Checking autostart (3/3)
                                          ==========================================================================
                                          
                                          Enabling autostart...
                                          Autostart enabled!
                                          
                                          ==========================================================================
                                          
                                              Your installation was fixed successfully
                                              Run iobroker start to start ioBroker again!
                                          
                                          ==========================================================================
                                          
                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $
                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $
                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $ iobroker upgrade self
                                          Update js-controller from @3.1.6 to @3.2.16
                                          NPM version: 6.14.4
                                          npm install iobroker.js-controller@3.2.16 --loglevel error --unsafe-perm --prefi                                                                                                                               x "/opt/iobroker" (System call)
                                          npm ERR! code EEXIST
                                          npm ERR! path /opt/iobroker/node_modules/.bin/iobroker
                                          npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link
                                          npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker
                                          npm ERR! Remove the existing file and try again, or run npm
                                          npm ERR! with --force to overwrite files recklessly.
                                          
                                          npm ERR! A complete log of this run can be found in:
                                          npm ERR!     /home/iobroker/.npm/_logs/2021-03-25T19_56_16_277Z-debug.log
                                          Starting node restart.js
                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $ sudo -H -u iobroker npm install iobroker.js-controller
                                          npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
                                          npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
                                          
                                          npm ERR! code EEXIST
                                          npm ERR! path /opt/iobroker/node_modules/.bin/iobroker
                                          npm ERR! Refusing to delete /opt/iobroker/node_modules/.bin/iobroker: is outside /opt/iobroker/node_modules/iobroker.js-controller and not a link
                                          npm ERR! File exists: /opt/iobroker/node_modules/.bin/iobroker
                                          npm ERR! Remove the existing file and try again, or run npm
                                          npm ERR! with --force to overwrite files recklessly.
                                          
                                          npm ERR! A complete log of this run can be found in:
                                          npm ERR!     /home/iobroker/.npm/_logs/2021-03-25T19_58_22_934Z-debug.log
                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $
                                          
                                          

                                          "Lösche" ich /opt/iobroker/node_modules/.bin/iobroker, kommt dann die Fehlermeldung:

                                          pi@ioBroker-Pi:/opt/iobroker/node_modules/.bin $ sudo -H -u iobroker npm install iobroker.js-controller
                                          npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
                                          npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"})
                                          
                                          npm ERR! code EEXIST
                                          npm ERR! path /opt/iobroker/node_modules/iobroker.js-controller/node_modules/.bin/semver
                                          npm ERR! Refusing to delete /opt/iobroker/node_modules/iobroker.js-controller/node_modules/.bin/semver: is outside /opt/iobroker/node_modules/iobroker.js-controller/node_modules/semver and not a link
                                          npm ERR! File exists: /opt/iobroker/node_modules/iobroker.js-controller/node_modules/.bin/semver
                                          npm ERR! Remove the existing file and try again, or run npm
                                          npm ERR! with --force to overwrite files recklessly.
                                          
                                          npm ERR! A complete log of this run can be found in:
                                          npm ERR!     /home/iobroker/.npm/_logs/2021-03-25T20_09_00_166Z-debug.log
                                          
                                          

                                          Hat jemand eine Idee? Was kann ich ausprobieren?

                                          Viele Grüße und danke im Voraus,
                                          Christian

                                          Thomas Braun apollon77 2 Replies Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @ChristianS last edited by Thomas Braun

                                            @christians

                                            stretch EOL: 2020-07-06

                                            Vermutlich solltest du die angemeckerten Dateien manuell löschen.
                                            Und du solltest nicht in dem Verzeichnis stehen. Stell dich in dein /home.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            617
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            575
                                            95667
                                            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