NEWS
([gelöst]) Daten Sonnensystem Resol auslesen per VBUS
-
nice, good job ! jetzt nicht nur read sondern auch write
wir sollte das auf github pushen
die raw daten hatten wir hinzugefuegt weil man mit diesen einfacher rechnen kan, eventueel sollte man aber focus auf einen legen:
-
entwerder raw wert und dan l/h, grad celcius usw wegschreiben als unit
-
oder einfach alles so belassen und den plain text spaeter selber in scripten (wo noetig) umwandeln
(best practise waere glaube ich situation 1)
> danach werden die States angelegt, bzw. geupdatet
macht er das in deiner version nur wen de state nicht bereits existiert oder immer ?
> Zum Ende geht das Script in Bereitschaft und sendet sobald sich an der Config etwas ändert diese direkt an den Controller
wird beim erstellen der werte beruecksichtigt das eine "read only" und die anderen "write" option haben ? man sollte ja nur die werte in iobroker aendern koennen die auch wirklich im VBUS auch eine status aenderung acceptieren.
~Dutch
-
-
Hallo Dutchman,
ich hab übrigens den Code gerade nochmal im vorherigen Post aktualisiert, hab noch ein paar Bugs gefunden…
> die raw daten hatten wir hinzugefuegt weil man mit diesen einfacher rechnen kan, eventueel sollte man aber focus auf einen legen:
Fürs Rechnen macht der Raw Wert natürlich Sinn ja, andererseits müsste ich jedes Mal wenn ich mir den Wert anzeigen lassen will umrechnen.. Hmmm… Es ist gerade schon zu spät um vernünftig zu denken!
> macht er das in deiner version nur wen de state nicht bereits existiert oder immer ?
Er prüft über Try…Catch und IF...ELSE ob es den State gibt, wenn ja macht er setState, wenn nein dann createState und setzt mit def: den initial Value Wert. Hatte erst immer createState ohne forceCreation und dann setState als Callback, in der Theorie hätte es eigentlich gehen müssen, tat es aber nicht!
try{ if (getIdByName(packetField.name) != null) { setState("vbus.values." + packetField.name , packetField.formatTextValue(), true); } else { createState("vbus.values." + packetField.name , { name: packetField.name, type: 'string', role: 'value', def: packetField.formatTextValue(), }); } } catch(e){}
> wird beim erstellen der werte beruecksichtigt das eine "read only" und die anderen "write" option haben ? man sollte ja nur die werte in iobroker aendern koennen die auch wirklich im VBUS auch eine status aenderung acceptieren.
Jaaa… Das Problem ist er akzeptiert alles, was momentan echt - wenn man nicht weiß was man verstellt - problematisch sein kann. Vorallem weiß ich gerade auch noch nicht wie ich die Timer darstellen soll, interessant wäre das natürlich auch in ioBroker den Zeitplan für die Nachtabsenkung zu steuern... Mein Problem ist jetzt das die Daten ja dynamisch nach der Art des Reglers und welche Funktionen aktiviert wurden eingelesen werden. Wenn ich jetzt eine Funktion im Regler deaktiviere, z.B. eine Zeitsteuerung, dann bekomm ich beim nächsten einlesen 80 Datenpunkte weniger ausgelesen. Ich hab die aber im ioBroker noch drin, es sei denn ich lösche beim einlesen der Config alle States und lege sie neu an. Dann kann ich aber die History nicht aktivieren und nicht nachvollziehen wann automatisch was gedreht wurde... :? Vieleicht könnte man beim starten des Scripts abfragen ob es in dem Ordner noch States gibt die mit dem einlesen der Config nicht aktualisiert wurden und diese dann auf ReadOnly setzen oder ganz wegschmeissen... Sollte über das auslesen des timestamps gehen! Alternativ setze ich beim einlesen erstmal alles auf ReadOnly und jeder muss für sich entscheiden was er schreibbar machen möchte, wäre vermutl. erstmal die sicherste Variante!
Sowas wie eine Sicherungskopie bei jedem einlesen will ich auch noch integrieren. Falls mal was schief geht und man nicht mehr weiß was eingestellt war kann das recht nützlich sein
Weiß nur nicht ob ich im Adapterordner ein File generieren soll, oder die json in ein State trümmern soll (geht das überhaupt?) :lol: File generieren und auch sogar Ordner anlegen würde gehen, aber gibts was um vom WebUI darauf zuzugreifen um sie runterzuladen?! Für uns wäre es jetzt kein Problem sich die Datei zu ziehen, aber es müsste dann zukünftig irgendwie über den Adapter möglich sein...
-
Hallo
ich hab das Skript in der Version 1.1 am laufen.
Könnt ihr mir noch sagen wie ich die Werte mit dem CloudAdapter per Alexa abfragen kann.
Irgendwie kommen die nicht als Temperaturwert in dem Adapter an.
Danke Gruß
Dippi
-
Du müsstest die Werte noch zuordnen an Level.Temperature
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Guten Morgen
Miss ich das im Skript machen oder im Iobroker ?
-
Guten Morgen
Miss ich das im Skript machen oder im Iobroker ? `
In ioBroker bei den entsprechenden objecte die der gewünschten function zuweisen
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hallo zusammen, bin neu bei iobroker und mache meine ersten Versuche.
Hab jetzt mal versucht meine Solaranlage abzufragen, ist eine Resol DeltaSol_SL über Resol-Lan-Adapter.
als Script läuft 1.2, Werte werden mir auch angezeigt aber im Log kommen immer wieder diese Fehlermeldungen :
host.ioBroker-BPi 2017-12-28 12:26:20.762 info Restart adapter system.adapter.javascript.0 because enabled host.ioBroker-BPi 2017-12-28 12:26:20.761 error instance system.adapter.javascript.0 terminated with code 0 (OK) host.ioBroker-BPi 2017-12-28 12:26:20.760 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:98:9) host.ioBroker-BPi 2017-12-28 12:26:20.759 error Caught by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:74:11) host.ioBroker-BPi 2017-12-28 12:26:20.758 error Caught by controller[0]: at emitErrorNT (net.js:1278:8) host.ioBroker-BPi 2017-12-28 12:26:20.758 error Caught by controller[0]: at Socket.emit (events.js:188:7) host.ioBroker-BPi 2017-12-28 12:26:20.756 error Caught by controller[0]: at emitOne (events.js:96:13) host.ioBroker-BPi 2017-12-28 12:26:20.755 error Caught by controller[0]: at Socket.onError (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/tcp-connection.js:370:13) host.ioBroker-BPi 2017-12-28 12:26:20.754 error Caught by controller[0]: at onSocketTermination (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/tcp-connection.js:341:22) host.ioBroker-BPi 2017-12-28 12:26:20.753 error Caught by controller[0]: Error: Unable to connect javascript.0 2017-12-28 12:26:20.610 error Error: Unable to connect at onSocketTermination (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/tcp-connection.js:341:22) at Socket.onError (/opt/iobroker/node_modu javascript.0 2017-12-28 12:26:20.604 error uncaught exception: Unable to connect javascript.0 2017-12-28 12:26:15.230 info script.js.Vbus: registered 0 subscriptions and 1 schedule
wenn ich im Script resolDL3 auskommentiere
//*****************************SET VARs*************************************************************************** var resolhost = '192.168.178.40'; // Can be used with via.vbus.net OR internal 192xxxxx adress ! var resolviaTag = 'xxxx'; // only necessary if connected using VBus.net otherwise leave empty var resolpass = 'vbus'; //default is set //var resolDL3 = false; //set to true if you use a DL3 var worktime = 10000; // 10 second timer, collection all information takes some seconds [emoji6] var create_states = false; // initial on true to create states once, disable value afterwards to update states !!! //*****************************Dont edit something below*****
kommt dann nur noch diese Fehlermeldung
javascript.0 2017-12-28 12:20:40.016 error at Object. (script.js.Vbus:29:4) javascript.0 2017-12-28 12:20:40.015 error Error in callback: ReferenceError: resolDL3 is not defined
was muss ich noch ändern?
-
Stelle auch gerade Fest das sich die Werte nicht aktualisieren , stehen noch immer auf den erstmal geholten Werten.
-
Hallo Dutchman
ich habe im Iobroker die Werte einmal Level.Temperature und value.Temperature zugeortnet und getestet aber im CloudAdapter kommen die Werte immer noch mit an/auf an und nicht mit °C.
Hast du das bei dir am laufen oder mach ich noch etwas falsch ?
Gruß
Dippi
-
Hallo Dutchman
ich habe im Iobroker die Werte einmal Level.Temperature und value.Temperature zugeortnet und getestet aber im CloudAdapter kommen die Werte immer noch mit an/auf an und nicht mit °C.
Hast du das bei dir am laufen oder mach ich noch etwas falsch ?
Gruß
Dippi `
müsste ich mal probieren selber noch nicht im cloud adapter benutzt
-
Hallo Dutchman
Wenn du mal Zeit hast wäre es super wenn du es mal bei dir Testen könntest.
Vielen Dank
Gruß
Manuel
-
Hallo Dutchman
Wenn du mal Zeit hast wäre es super wenn du es mal bei dir Testen könntest.
Vielen Dank
Gruß
Manuel `
Hi Manuel,
Könntest du bitte Mal probieren wie in diesem Post erklärt:
http://forum.iobroker.net/viewtopic.php?t=9969#p108864
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hallo
ich hab die einstellungen gemacht, nun bekomme ich folgende Warnmeldungen
javascript.0 2018-01-02 15:04:51.082 warn at Object. (script.js.Dippi.Skript1:86:26)
javascript.0 2018-01-02 15:04:51.081 warn at Array.forEach (native)
javascript.0 2018-01-02 15:04:51.081 warn at script.js.Dippi.Skript1:158:21
javascript.0 2018-01-02 15:04:51.081 warn Wrong type of javascript.0.vbus.00_7210_0010.values_raw.Temperaturesensor1: "string". Please fix, while deprecated and will not work in next versions.
javascript.0 2018-01-02 15:04:30.953 warn at Object. (script.js.Dippi.Skript1:86:26)
javascript.0 2018-01-02 15:04:30.952 warn at Array.forEach (native)
javascript.0 2018-01-02 15:04:30.952 warn at script.js.Dippi.Skript1:158:21
javascript.0 2018-01-02 15:04:30.950 warn Wrong type of javascript.0.vbus.00_7210_0010.values_raw.Temperaturesensor1: "string". Please fix, while deprecated and will not work in next versions.
javascript.0 2018-01-02 15:04:10.952 warn at Object. (script.js.Dippi.Skript1:86:26)
javascript.0 2018-01-02 15:04:10.952 warn at Array.forEach (native)
javascript.0 2018-01-02 15:04:10.952 warn at script.js.Dippi.Skript1:158:21
javascript.0 2018-01-02 15:04:10.950 warn Wrong type of javascript.0.vbus.00_7210_0010.values_raw.Temperaturesensor1: "string". Please fix, while deprecated and will not work in next versions.
javascript.0 2018-01-02 15:03:50.952 warn at Object. (script.js.Dippi.Skript1:86:26)
muss ich noch etwas Updaten ?
Gruß
Dippi
-
Nimm dieses Script, läuft bei mir seit Monaten astrein und ich steuere auch meine Heizkreise damit! Ich komm nur nicht dazu einen Adapter zu programmieren dafür…
Zuvor bitte im Javascript Adapter folgendes reinschreiben bei zusätzliche NPM Module: "resol-vbus, kue, optimist, express, q"
Dann dieses Script ausführen (IP Adresse und ggf. Password natürlich anpassen):
/*! ############################################################################################################# */ /*! ### ioBroker Script zum auslesen und konfigurieren von Resol und anderen auf VBus basierenden Steuerungen ### */ /*! ####### Das Script basiert auf auf dem Node JS Modul "resol-vbus" von Daniel Wippermann und wurde von ####### */ /*! ################### Dutchman, meifi2017 & AlexW für die Verwendung in ioBroker angepasst! ################### */ /*! ############################################################################################################# */ var fs = require('fs'); var express = require('express'); var kue = require('kue'); var _ = require('lodash'); var optimist = require('optimist'); var Q = require('q'); var vbus = require('resol-vbus/src/index'); var action = { "loadAll" : true, // Bedeutet das beim Start des Scripts der Controller ausgelesen werden soll! "out": "/opt/iobroker/ResolVBusConfigTest.json" // Pfad wo die gesamten Konfigurationswerte des Controllers beim Start des Scripts gespeichert werden sollen }; /*! Hier bitte die spezifischen Verbindungsdaten eintragen! */ var config = { "connection": { "class": "TcpConnection", "options": { "host": "192.168.178.100", // IP-Adresse oder VBus.net Adresse hier eintragen "viaTag": "", // Bei Verbindung über VBus.net ist hier das viaTag einzutragen "password": "vbus", // Passwort, Standard ist: vbus // "channel" : "1" // Channel, wird nur für die Verbindung über einen DL3 benötigt und ist standardmäßig auskommentiert! } } }; /*! Ab hier reiner Code */ var timestamp; var Live = function() { var vbuslive = require('resol-vbus'); var headerSetlive = new vbuslive.HeaderSet(); var connlive; // Schedule every 30 seconds schedule("*/30 * * * * *", function () { // Define connection values var connectionConfigLive = config.connection; var ConnectionLive = vbuslive [connectionConfigLive.class]; connlive = new ConnectionLive(connectionConfigLive.options); // Log connection status var onConnectionStateChange = function(state) { console.debug(state); }; var onPacket = function(packet) { headerSetlive.addHeader(packet); }; connlive.on('connectionState', onConnectionStateChange); connlive.on('packet', onPacket); connlive.connect().done(function() { setTimeout(function() { connlive.disconnect(); //create header packages var packets = headerSetlive.getSortedHeaders(); var spec = vbuslive.Specification.getDefaultSpecification(); var packetFields = spec.getPacketFieldsForHeaders(packets); var packet = null; var counter = 0; packetFields.forEach(function(packetField) { counter = counter + 1; if (packet !== packetField.packet) { packet = packetField.packet; console.debug(packetField.packetSpec.fullName); } // write values in memory packetField.name = packetField.name.replace(/ /g,""); console.debug("Value received : " + packetField.name + " = " + packetField.formatTextValue()); try{ if (getIdByName(packetField.name) != null) { setState("vbus.values." + packetField.name , packetField.formatTextValue(), true); } else { createState("vbus.values." + packetField.name , { name: packetField.name, type: 'string', role: 'value', def: packetField.formatTextValue(), }); } } catch(e){} }); // 10 second timer, collection all information takes some seconds [emoji6] }, 10000); }); }); }; var createStates = function() { var file = action.out; fs.readFile(file, 'utf8', function (err, body) { if (err) {} JSON.parse(body, (key, value) => { var jsonkey = key; var jsonvalue = value; try{ if (jsonkey !== "" && getIdByName(jsonkey) != null) setState("vbus.config." + jsonkey , parseFloat(jsonvalue), true); } catch(e){} try { if (jsonkey !== "") createState("vbus.config." + jsonkey , { name: jsonkey, type: 'number', role: 'value', def: parseFloat(jsonvalue), }); } catch (e){} }); }); action.loadAll = false; timestamp = Date.now(); var ready = "Ready for processing..."; setTimeout(console.log, 10000, ready); return; }; var writeStates = function() { on({id: /^javascript\.\d\.vbus.config./, change: "ne"}, function (obj) { var statename = obj.name; var value = obj.state.val; var oldValue = obj.oldState.val; var lastChanged = getState(obj.id).lc; if (typeof oldValue !== "undefined" && lastChanged > (timestamp + 10000)) { console.log(statename + " hat sich von " + oldValue + " auf " + value + " geändert!"); jsonWrite = JSON.stringify({[statename] : value}); action.save = true; action.data = jsonWrite; setState("vbus.config." + statename , parseFloat(value), true); return runSingleShot(action); } }); }; var promise = vbus.utils.promise; var i18n = new vbus.I18N('en'); var reportProgress = function(message) { var line; if (_.isString(message)) { line = message; } else if (message.message === 'OPTIMIZING_VALUES') { line = i18n.sprintf('Optimizing set of values for round %d', message.round); } else if (message.message === 'GETTING_VALUE') { line = i18n.sprintf('Getting value %d/%d, try %d: %s', message.valueNr, message.valueCount, message.tries, message.valueId); } else if (message.message === 'SETTING_VALUE') { line = i18n.sprintf('Setting value %d/%d, try %d: %s', message.valueNr, message.valueCount, message.tries, message.valueId); } else if (message.message === 'CONNECTION_STATE') { line = i18n.sprintf('Connection state changed to %s', message.connectionState); } else if (message.message === 'WAITING_FOR_FREE_BUS') { line = i18n.sprintf('Waiting for free bus'); } else if (message.message === 'RELEASING_BUS') { line = i18n.sprintf('Releasing bus'); } else { line = i18n.sprintf('%s: %s', message.message, JSON.stringify(message)); } if (_.isNumber(message.round)) { line = i18n.sprintf('[%d] %s', message.round, line); } console.log(line); }; var loadJsonFile = function(filename) { return promise(function(resolve, reject) { fs.readFile(filename, function(err, data) { if (err) { reject(err); } else { resolve(data); } }); }).then(function(data) { return JSON.parse(data); }); }; var createConnection = function() { var connectionConfig = config.connection; var Connection = vbus [connectionConfig.class]; var conn = new Connection(connectionConfig.options); conn.on('connectionState', function(state) { reportProgress({ message: 'CONNECTION_STATE', connectionState: state, }); }); return conn; }; var processCustomizationJob = function(context, job) { 'use strict'; return Q.fcall(function() { reportProgress('Waiting for free bus...'); return context.connection.waitForFreeBus(); }).then(function(datagram) { context.masterAddress = datagram.sourceAddress; reportProgress('Found master with address 0x' + context.masterAddress.toString(16)); context.deviceAddress = context.masterAddress; return vbus.ConfigurationOptimizerFactory.createOptimizerByDeviceAddress(context.deviceAddress); }).then(function(optimizer) { context.optimizer = optimizer; context.customizer = new vbus.ConnectionCustomizer({ deviceAddress: context.deviceAddress, connection: context.connection, optimizer: context.optimizer, }); }).then(function() { var onProgress = function(progress) { reportProgress(progress); }; var command = job.data.command; var config = job.data.config; var currentConfig = context.currentConfig; var options = { optimize: false, }; if (command === 'load') { options.optimize = !config; return Q.fcall(function() { return context.customizer.loadConfiguration(config, options).progress(onProgress); }).then(function(config) { return context.optimizer.completeConfiguration(config, currentConfig); }).then(function(config) { context.currentConfig = config; }); } else if (command === 'save') { return Q.fcall(function() { return context.customizer.saveConfiguration(config, currentConfig, options).progress(onProgress); }).then(function(config) { return context.optimizer.completeConfiguration(config, currentConfig); }).then(function(config) { context.currentConfig = config; }); } else { throw new Error('Unknown command ' + JSON.stringify(command)); } }); }; var serve = function() { 'use strict'; var context = {}; return Q.fcall(function() { return createConnection(); }).then(function(conn) { context.connection = conn; reportProgress('Connecting...'); return context.connection.connect(); }).then(function() { var jobs = kue.createQueue(); jobs.process('customization', function(job, done) { Q.fcall(function() { return processCustomizationJob(context, job); }).done(function() { console.log('Job done!'); done(); }, function(err) { console.log('Job failed!'); done(err); }); }); }).then(function() { var app = express(); app.get('/config', function(req, res) { var jsonConfig = _.reduce(context.currentConfig, function(memo, value) { if (!value.ignored) { memo [value.valueId] = value.value; } return memo; }, {}); res.json(jsonConfig); }); app.use(kue.app); app.listen(3000); }); }; var runSingleShot = function(action) { var context = {}; if (action.q) { reportProgress = function() {}; } return Q.fcall(function() { return createConnection(); }).then(function(conn) { context.connection = conn; }).then(function(oldConfig) { context.oldConfig = oldConfig; if (action.loadAll) { return null; } else if (action.load) { return loadJsonFile(action.load); } }).then(function(loadConfig) { context.loadConfig = loadConfig; if (action.save) { return JSON.parse(jsonWrite); } }).then(function(saveConfig) { context.saveConfig = saveConfig; reportProgress('Connecting...'); return context.connection.connect(); }).then(function() { reportProgress('Waiting for free bus...'); return context.connection.waitForFreeBus(); }).then(function(datagram) { context.masterAddress = datagram.sourceAddress; reportProgress('Found master with address 0x' + context.masterAddress.toString(16)); context.deviceAddress = context.masterAddress; return vbus.ConfigurationOptimizerFactory.createOptimizerByDeviceAddress(context.deviceAddress); }).then(function(optimizer) { context.optimizer = optimizer; if (!optimizer) { reportProgress(i18n.sprintf('WARNING: Unable to create optimizer for master with address 0x%04X', context.masterAddress)); } context.customizer = new vbus.ConnectionCustomizer({ deviceAddress: context.deviceAddress, connection: context.connection, optimizer: context.optimizer, }); }).then(function() { if (context.loadConfig !== undefined) { var onProgress = function(progress) { reportProgress(progress); }; var config = context.loadConfig; var options = { optimize: !config, }; return context.customizer.loadConfiguration(config, options).progress(onProgress); } }).then(function(config) { context.loadedConfig = config; if (context.saveConfig !== undefined) { var onProgress = function(progress) { reportProgress(progress); }; var saveConfig = context.saveConfig; var oldConfig = context.oldConfig; var options = { optimize: false, }; return context.customizer.saveConfiguration(saveConfig, oldConfig, options).progress(onProgress); } else { return config; } }).then(function(config) { var jsonConfig = _.reduce(config, function(memo, value) { if (!value.ignored) { memo [value.valueId] = value.value; } return memo; }, {}); jsonConfig = JSON.stringify(jsonConfig); if (action.out) { return vbus.utils.promise(function(resolve, reject) { fs.writeFile(action.out, jsonConfig, function(err) { if (err) { reject(err); } else { resolve(); } }); }); } else { console.log(jsonConfig); } }).finally(function() { reportProgress('Disconnecting...'); action.loadAll = false; if (context.connection !== null) { context.connection.disconnect(); } }); }; var main = function() { var argv = optimist.argv; if (argv.serve) { return serve(); } else { return runSingleShot(action); } }; Q.fcall(main) .then(createStates) .then(writeStates) .then(Live) .done();
Gesendet von meinem SM-T819 mit Tapatalk
-
Hallo
ich bekomme folgende Fehlermeldung im Log bei dem Skript:
host.ioBroker-Pi 2018-01-07 11:41:38.093 info Restart adapter system.adapter.javascript.0 because enabled host.ioBroker-Pi 2018-01-07 11:41:38.093 error instance system.adapter.javascript.0 terminated with code 0 (OK) Caught 2018-01-07 11:41:38.092 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9) Caught 2018-01-07 11:41:38.092 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:73:7) Caught 2018-01-07 11:41:38.092 error by controller[0]: at flush (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:125:13) Caught 2018-01-07 11:41:38.092 error by controller[0]: at runSingle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:137:13) Caught 2018-01-07 11:41:38.090 error by controller[0]: at /opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:624:44 Caught 2018-01-07 11:41:38.090 error by controller[0]: at Promise.promise.promiseDispatch (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:816:13) Caught 2018-01-07 11:41:38.090 error by controller[0]: at self.promiseDispatch.done (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:883:30) Caught 2018-01-07 11:41:38.090 error by controller[0]: at _fulfilled (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:854:54) Caught 2018-01-07 11:41:38.089 error by controller[0]: at /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:233:32 Caught 2018-01-07 11:41:38.089 error by controller[0]: at callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:102:34) Caught 2018-01-07 11:41:38.089 error by controller[0]: at constructor._optimizeLoadConfiguration (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/customizer.js:169:30) Caught 2018-01-07 11:41:38.088 error by controller[0]: TypeError: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.033 info script.js.Dippi.Resol_2: Connection state changed to DISCONNECTED javascript.0 2018-01-07 11:41:38.022 error at process._tickCallback (internal/process/next_tick.js:104:9) javascript.0 2018-01-07 11:41:38.022 error at _combinedTickCallback (internal/process/next_tick.js:73:7) javascript.0 2018-01-07 11:41:38.022 error at flush (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:125:13) javascript.0 2018-01-07 11:41:38.022 error at runSingle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:137:13) javascript.0 2018-01-07 11:41:38.022 error at /opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:624:44 javascript.0 2018-01-07 11:41:38.022 error at Promise.promise.promiseDispatch (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:816:13) javascript.0 2018-01-07 11:41:38.022 error at self.promiseDispatch.done (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:883:30) javascript.0 2018-01-07 11:41:38.022 error at _fulfilled (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:854:54) javascript.0 2018-01-07 11:41:38.022 error at /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:233:32 javascript.0 2018-01-07 11:41:38.022 error at callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:102:34) javascript.0 2018-01-07 11:41:38.022 error at constructor._optimizeLoadConfiguration (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/customizer.js:169:30) javascript.0 2018-01-07 11:41:38.022 error TypeError: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.022 error uncaught exception: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.005 info script.js.Dippi.Resol_2: Connection state changed to DISCONNECTING javascript.0 2018-01-07 11:41:38.003 info script.js.Dippi.Resol_2: Disconnecting... javascript.0 2018-01-07 11:41:37.999 info script.js.Dippi.Resol_2: [1] Optimizing set of values for round 1 javascript.0 2018-01-07 11:41:37.981 info script.js.Dippi.Resol_2: WARNING: Unable to create optimizer for master with address 0x7210 javascript.0 2018-01-07 11:41:37.971 info script.js.Dippi.Resol_2: Found master with address 0x7210 javascript.0 2018-01-07 11:41:36.347 info script.js.Dippi.Resol_2: Waiting for free bus... javascript.0 2018-01-07 11:41:36.346 info script.js.Dippi.Resol_2: Connection state changed to CONNECTED javascript.0 2018-01-07 11:41:36.222 info script.js.Dippi.Resol_2: Connection state changed to CONNECTING
muss ich noch was Updaten ?
Gruß Dippi
-
Hallo
ich bekomme folgende Fehlermeldung im Log bei dem Skript:
host.ioBroker-Pi 2018-01-07 11:41:38.093 info Restart adapter system.adapter.javascript.0 because enabled host.ioBroker-Pi 2018-01-07 11:41:38.093 error instance system.adapter.javascript.0 terminated with code 0 (OK) Caught 2018-01-07 11:41:38.092 error by controller[0]: at process._tickCallback (internal/process/next_tick.js:104:9) Caught 2018-01-07 11:41:38.092 error by controller[0]: at _combinedTickCallback (internal/process/next_tick.js:73:7) Caught 2018-01-07 11:41:38.092 error by controller[0]: at flush (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:125:13) Caught 2018-01-07 11:41:38.092 error by controller[0]: at runSingle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:137:13) Caught 2018-01-07 11:41:38.090 error by controller[0]: at /opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:624:44 Caught 2018-01-07 11:41:38.090 error by controller[0]: at Promise.promise.promiseDispatch (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:816:13) Caught 2018-01-07 11:41:38.090 error by controller[0]: at self.promiseDispatch.done (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:883:30) Caught 2018-01-07 11:41:38.090 error by controller[0]: at _fulfilled (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:854:54) Caught 2018-01-07 11:41:38.089 error by controller[0]: at /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:233:32 Caught 2018-01-07 11:41:38.089 error by controller[0]: at callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:102:34) Caught 2018-01-07 11:41:38.089 error by controller[0]: at constructor._optimizeLoadConfiguration (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/customizer.js:169:30) Caught 2018-01-07 11:41:38.088 error by controller[0]: TypeError: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.033 info script.js.Dippi.Resol_2: Connection state changed to DISCONNECTED javascript.0 2018-01-07 11:41:38.022 error at process._tickCallback (internal/process/next_tick.js:104:9) javascript.0 2018-01-07 11:41:38.022 error at _combinedTickCallback (internal/process/next_tick.js:73:7) javascript.0 2018-01-07 11:41:38.022 error at flush (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:125:13) javascript.0 2018-01-07 11:41:38.022 error at runSingle (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:137:13) javascript.0 2018-01-07 11:41:38.022 error at /opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:624:44 javascript.0 2018-01-07 11:41:38.022 error at Promise.promise.promiseDispatch (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:816:13) javascript.0 2018-01-07 11:41:38.022 error at self.promiseDispatch.done (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:883:30) javascript.0 2018-01-07 11:41:38.022 error at _fulfilled (/opt/iobroker/node_modules/iobroker.javascript/node_modules/q/q.js:854:54) javascript.0 2018-01-07 11:41:38.022 error at /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:233:32 javascript.0 2018-01-07 11:41:38.022 error at callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/connection-customizer.js:102:34) javascript.0 2018-01-07 11:41:38.022 error at constructor._optimizeLoadConfiguration (/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/src/customizer.js:169:30) javascript.0 2018-01-07 11:41:38.022 error TypeError: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.022 error uncaught exception: Cannot read property 'optimizeLoadConfiguration' of null javascript.0 2018-01-07 11:41:38.005 info script.js.Dippi.Resol_2: Connection state changed to DISCONNECTING javascript.0 2018-01-07 11:41:38.003 info script.js.Dippi.Resol_2: Disconnecting... javascript.0 2018-01-07 11:41:37.999 info script.js.Dippi.Resol_2: [1] Optimizing set of values for round 1 javascript.0 2018-01-07 11:41:37.981 info script.js.Dippi.Resol_2: WARNING: Unable to create optimizer for master with address 0x7210 javascript.0 2018-01-07 11:41:37.971 info script.js.Dippi.Resol_2: Found master with address 0x7210 javascript.0 2018-01-07 11:41:36.347 info script.js.Dippi.Resol_2: Waiting for free bus... javascript.0 2018-01-07 11:41:36.346 info script.js.Dippi.Resol_2: Connection state changed to CONNECTED javascript.0 2018-01-07 11:41:36.222 info script.js.Dippi.Resol_2: Connection state changed to CONNECTING
muss ich noch was Updaten ?
Gruß Dippi `
Hmm… Also er erkennt den Controller, connected und dann meldet das Skript das er die Config nicht laden kann und deshalb die ganzen Fehlermeldungen.
Welcher Resol Regler ist das? Hängt da vieleicht ein DL3 dran? Stimmt das Passwort?
Gesendet von meinem SM-G955F mit Tapatalk
-
Guten Morgen
ne es hängt ein SKSC3 Regler und ein HK Regler dran.
Gruß
Dippi
-
Guten Morgen
ne es hängt ein SKSC3 Regler und ein HK Regler dran.
Gruß
Dippi `
Die Geräte arbeiten aber auf resol-vbus?
Laut docu des npm Moduls werden folgende Geräte unterstützt:
Supported Devices & Services All current RESOL controllers with VBus RESOL DL2 Datalogger RESOL DL3 Datalogger RESOL VBus/LAN interface adapter RESOL VBus/USB interface adapter RESOL VBus.net
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hallo
ja klar das andere Skript klappt ja. Hab nur das Problem das ich die Daten nicht in den Cloud Adapter rein bekomme als Temperatur sondern nur als An/Aus.
Gruß Dippi
-
Er erkennt aber mit dem Master 0x7210 einen SKSR 1/2/3
Wenn ich das richtig verstehe sollte da aber ein 0x7211 erkannt werden müssen?!
Wenn das andere Skript funktioniert, schonmal in den Objekten alles gelöscht was das Skript angelegt hat und neu gestartet? Nicht das durch die verschiedenen Skripte falsch formatierte States angelegt wurden und es deswegen nicht geht…
Gesendet von meinem SM-G955F mit Tapatalk