NEWS
JS # mit einer Schleife eine function mehrfach aufrufen und ebusd abfragen
-
Die Fehlermeldung:
! ````
2017-12-26 14:13:03.914 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4
2017-12-26 14:13:03.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4: --> Start -> es gibt 3 Elemente
2017-12-26 14:13:03.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:13:03.943 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: registered 0 subscriptions and 0 schedules
2017-12-26 14:13:04.036 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.->Neue Abfrage
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:13:04.191 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3b.Durchlauf : 0
2017-12-26 14:13:04.193 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: anzahl an Feldern : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertVor : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertNach : undefined
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 1 : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 2 : undefined
2017-12-26 14:13:04.212 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:04.212 - error: javascript.0 ReferenceError: pfad is not defined
at parse (script.js.ebusd.eBus_anfang_4:112:10)
at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.224 - info: javascript.0 terminating
2017-12-26 14:13:04.266 - error: Caught by controller[0]: ReferenceError: pfad is not defined
2017-12-26 14:13:04.267 - error: Caught by controller[0]: at parse (script.js.ebusd.eBus_anfang_4:112:10)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at emitOne (events.js:96:13)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket.emit (events.js:188:7)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.270 - error: host.ioBmaster instance system.adapter.javascript.0 terminated with code 0 (OK)
2017-12-26 14:13:04.270 - info: host.ioBmaster Restart adapter system.adapter.javascript.0 because enabled</anonymous></anonymous>2017-12-26 14:13:37.208 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:37.209 - error: javascript.0 ReferenceError: pfad is not defined
```` `
Gut, die Abfrage scheint ja jetzt schonmal zu gehen. Das zerlegen der Antwort habe ich mir nicht angeschaut, aber dort ist pfad nicht deklariert. -
Die Fehlermeldung:
! ````
2017-12-26 14:13:03.914 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4
2017-12-26 14:13:03.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4: --> Start -> es gibt 3 Elemente
2017-12-26 14:13:03.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:13:03.943 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: registered 0 subscriptions and 0 schedules
2017-12-26 14:13:04.036 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.->Neue Abfrage
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:13:04.191 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3b.Durchlauf : 0
2017-12-26 14:13:04.193 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: anzahl an Feldern : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertVor : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertNach : undefined
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 1 : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 2 : undefined
2017-12-26 14:13:04.212 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:04.212 - error: javascript.0 ReferenceError: pfad is not defined
at parse (script.js.ebusd.eBus_anfang_4:112:10)
at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.224 - info: javascript.0 terminating
2017-12-26 14:13:04.266 - error: Caught by controller[0]: ReferenceError: pfad is not defined
2017-12-26 14:13:04.267 - error: Caught by controller[0]: at parse (script.js.ebusd.eBus_anfang_4:112:10)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at emitOne (events.js:96:13)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket.emit (events.js:188:7)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.270 - error: host.ioBmaster instance system.adapter.javascript.0 terminated with code 0 (OK)
2017-12-26 14:13:04.270 - info: host.ioBmaster Restart adapter system.adapter.javascript.0 because enabled</anonymous></anonymous>2017-12-26 14:13:37.208 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:37.209 - error: javascript.0 ReferenceError: pfad is not defined
````Gut, die Abfrage scheint ja jetzt schonmal zu gehen. Das zerlegen der Antwort habe ich mir nicht angeschaut, aber dort ist pfad nicht deklariert.
er versucht doch da die Werte weg zu schreibensetState(pfad, WertVor); // Werte setzen
die var "pfad" wird nicht mit übergeben?
-
Die Fehlermeldung:
! ````
2017-12-26 14:13:03.914 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4
2017-12-26 14:13:03.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4: --> Start -> es gibt 3 Elemente
2017-12-26 14:13:03.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:13:03.943 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
2017-12-26 14:13:03.944 - info: javascript.0 script.js.ebusd.eBus_anfang_4: registered 0 subscriptions and 0 schedules
2017-12-26 14:13:04.036 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 0.->Neue Abfrage
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:13:04.038 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:13:04.191 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:13:04.192 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3b.Durchlauf : 0
2017-12-26 14:13:04.193 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: anzahl an Feldern : 1
2017-12-26 14:13:04.195 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertVor : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: WertNach : undefined
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 1 : 9185796
2017-12-26 14:13:04.196 - info: javascript.0 script.js.ebusd.eBus_anfang_4: Feld 2 : undefined
2017-12-26 14:13:04.212 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:04.212 - error: javascript.0 ReferenceError: pfad is not defined
at parse (script.js.ebusd.eBus_anfang_4:112:10)
at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.224 - info: javascript.0 terminating
2017-12-26 14:13:04.266 - error: Caught by controller[0]: ReferenceError: pfad is not defined
2017-12-26 14:13:04.267 - error: Caught by controller[0]: at parse (script.js.ebusd.eBus_anfang_4:112:10)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4:74:1)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at emitOne (events.js:96:13)
2017-12-26 14:13:04.269 - error: Caught by controller[0]: at Socket.emit (events.js:188:7)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:13:04.270 - error: Caught by controller[0]: at TCP.onread (net.js:547:20)
2017-12-26 14:13:04.270 - error: host.ioBmaster instance system.adapter.javascript.0 terminated with code 0 (OK)
2017-12-26 14:13:04.270 - info: host.ioBmaster Restart adapter system.adapter.javascript.0 because enabled</anonymous></anonymous>2017-12-26 14:13:37.208 - error: javascript.0 uncaught exception: pfad is not defined
2017-12-26 14:13:37.209 - error: javascript.0 ReferenceError: pfad is not defined
````Gut, die Abfrage scheint ja jetzt schonmal zu gehen. Das zerlegen der Antwort habe ich mir nicht angeschaut, aber dort ist pfad nicht deklariert.
er versucht doch da die Werte weg zu schreibensetState(pfad, WertVor); // Werte setzen
die var "pfad" wird nicht mit übergeben? `
Bin gleich am pcEDIT:
`// ============================================================================= // --- Abfragen von Werten vom "ebusd" // ============================================================================= var logging = true; // "true" oder "false" wenn nicht gewünscht var HOST = 'RPi2-2'; // Hostname oder IP-Adresse auf dem der ebusd läuft var PORT = 8888; // Portnummer auf dem der ebusd hört var step = -1; var pfad = 'eBus.Temperatur.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden // ============================================================================= var net = require('net'); var client = new net.Socket(); // ============================================================================= var Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours']; var ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ]; // ============================================================================= // ============================================================================= // Datenpunkte anlegen // ============================================================================= function anlegen(){ if (logging) log('--> Start -> es gibt ' + Elemente.length + ' Elemente'); for(var i=0;i <elemente.length;i++) {/createstate(pfad/+/elemente[i],/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/pfad/-="">' + ElementeNamen[i] + ' angelegt'); }} // ============================================================================= // ============================================================================= // --- function zum Abfragen der Werte // ============================================================================= function readElement(){ if(Elemente.length < 1){ log('keine Elemente zum abfragen'); client.destroy(); return; } if(step < Elemente.length){step++} else{ step = -1; setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minute return; } if (logging) log('0.->Neue Abfrage'); // --- hier dann die function mit werten aufrufen var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt var ele = Elemente[step]; var eleN = ElementeNamen[step]; client.write(req + '\n'); if (logging) log('1\. BEFEHL wurde gesendet : ' + req); } // ============================================================================= // --- Aufruf --- DATEN lesen // ============================================================================= client.on('data', function(data) { if (logging) log('3\. Daten werden empfangen : ' + data); // --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) --- var datastr = data.toString(); if (logging) log('3a. RX-Daten (String) : ' + datastr); //------------------------------------------------------------------------------ var databuf = ''; var prev = 0, next; if (logging) log('3b.Durchlauf : ' + prev); while ((next = datastr.indexOf('\n\n', prev)) > -1) { databuf += datastr.substring(prev, next); if (logging) log('3c. Funktion aufrufen mit : ' + databuf + " als Daten"); //--- SUB-Funktion aufrufen --- parse(databuf); databuf = ''; // Datenbuffer leeren prev = next + 1; } databuf += datastr.substring(prev); readElement();//Abfragen des nächsten Wertes //------------------------------------------------------------------------------ }); // ============================================================================= // ============================================================================= // Verbindungsabbau // ============================================================================= client.on('close', function() { if (logging) { log( 'Verbindung geschlossen .'); client.destroy(); }}); // ============================================================================= // ============================================================================= // --- SUB-Funktion --- Daten-String aufteilen // ============================================================================= function parse(data) { var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt if (logging) log("3d. Menge an Daten durch ; getrennt : " + arr.length); var fields = data.toString().split('\;'); // hier wird auf den = getriggert if (logging) log('anzahl an Feldern : ' + fields.length); if(fields.length > 0) { // wenn mehrere Felder gefunden wurden if (logging) log('WertVor : ' + fields[0]); var WertVor =fields[0]; if (logging) log("WertNach : " + fields[1]); fields[0] = fields[0].replace(' ','_'); if (logging) log("Feld 1 : " + fields[0]); if (logging) log("Feld 2 : " + fields[1]); setState(pfad + Elemente[step], WertVor); // Werte setzen if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert'); } } // ============================================================================= // ============================================================================= // --- Function --- Fehler abfangen und ausgeben // ============================================================================= client.on('error', function(err) { client.destroy(); if (logging) log(' Es ist ein Fehler aufgetreten : '+ err); }); // ============================================================================= // ============================================================================= // Verbindungsaufbau // ============================================================================= client.connect(PORT, HOST, function(){ readElement(); if (logging) log('1\. Verbindungsaufbau zu : ' + HOST + ':' + PORT); }); // ============================================================================= anlegen();//States anlegen //setInterval(readElement, 60000);</elemente.length;i++)>`[/i][/i][/i]
-
schon besser:
log
! ````
2017-12-26 14:56:00.653 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4_blauholsten
2017-12-26 14:56:00.662 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: --> Start -> es gibt 3 Elemente
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.0 Datenpunkt: eBus.Temperatur. -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.1 Datenpunkt: eBus.Temperatur. -> Betriebsstunden angelegt
2017-12-26 14:56:00.665 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.2 Datenpunkt: eBus.Temperatur. -> Stunden angelegt
2017-12-26 14:56:00.667 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: registered 0 subscriptions and 0 schedules
2017-12-26 14:56:00.730 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:56:00.860 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 9185796
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 9185796
2017-12-26 14:56:00.862 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "9185796" gespeichert
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.864 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergyCountHwc1
2017-12-26 14:56:01.014 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 30891
! 2017-12-26 14:56:01.015 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 30891
! 2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 30891 als Daten
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.018 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "30891" gespeichert
2017-12-26 14:56:01.019 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.020 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f HcHours
2017-12-26 14:56:01.890 - info: sql.0 No Data
2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 567
! 2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 567
! 2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 567 als Daten
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 567
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 567
2017-12-26 14:56:01.940 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "567" gespeichert
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f undefined
2017-12-26 14:56:01.951 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : ERR: element not found als Daten
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : ERR: element not found
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : ERR:_element not found
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.956 - warn: javascript.0 State "eBus.Temperatur.undefined" not found
2017-12-26 14:56:01.970 - warn: javascript.0 at parse (script.js.ebusd.eBus_anfang_4_blauholsten:108:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4_blauholsten:70:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at emitOne (events.js:96:13)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.emit (events.js:188:7)
2017-12-26 14:56:01.972 - warn: javascript.0 at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:56:01.973 - warn: javascript.0 at TCP.onread (net.js:547:20)
2017-12-26 14:56:01.973 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "ERR: element not found" gespeichert</anonymous>nun wird ein durchlauf zuviel gestartet
-
schon besser:
log
! ````
2017-12-26 14:56:00.653 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4_blauholsten
2017-12-26 14:56:00.662 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: --> Start -> es gibt 3 Elemente
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.0 Datenpunkt: eBus.Temperatur. -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.1 Datenpunkt: eBus.Temperatur. -> Betriebsstunden angelegt
2017-12-26 14:56:00.665 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.2 Datenpunkt: eBus.Temperatur. -> Stunden angelegt
2017-12-26 14:56:00.667 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: registered 0 subscriptions and 0 schedules
2017-12-26 14:56:00.730 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:56:00.860 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 9185796
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 9185796
2017-12-26 14:56:00.862 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "9185796" gespeichert
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.864 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergyCountHwc1
2017-12-26 14:56:01.014 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 30891
! 2017-12-26 14:56:01.015 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 30891
! 2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 30891 als Daten
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.018 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "30891" gespeichert
2017-12-26 14:56:01.019 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.020 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f HcHours
2017-12-26 14:56:01.890 - info: sql.0 No Data
2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 567
! 2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 567
! 2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 567 als Daten
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 567
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 567
2017-12-26 14:56:01.940 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "567" gespeichert
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f undefined
2017-12-26 14:56:01.951 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : ERR: element not found als Daten
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : ERR: element not found
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : ERR:_element not found
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.956 - warn: javascript.0 State "eBus.Temperatur.undefined" not found
2017-12-26 14:56:01.970 - warn: javascript.0 at parse (script.js.ebusd.eBus_anfang_4_blauholsten:108:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4_blauholsten:70:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at emitOne (events.js:96:13)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.emit (events.js:188:7)
2017-12-26 14:56:01.972 - warn: javascript.0 at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:56:01.973 - warn: javascript.0 at TCP.onread (net.js:547:20)
2017-12-26 14:56:01.973 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "ERR: element not found" gespeichert</anonymous>nun wird ein durchlauf zuviel gestartet `
Joo, Fehler habe ich denke erkannt. Melde mich nachher noch mal
EDIT:
kannst du es mal probieren? Und nochmals eine Info geben. Bin leider nicht an meinen Heim PC
`// ============================================================================= // --- Abfragen von Werten vom "ebusd" // ============================================================================= var logging = true; // "true" oder "false" wenn nicht gewünscht var HOST = 'RPi2-2'; // Hostname oder IP-Adresse auf dem der ebusd läuft var PORT = 8888; // Portnummer auf dem der ebusd hört var step = -1; var pfad = 'eBus.Temperatur.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden // ============================================================================= var net = require('net'); var client = new net.Socket(); // ============================================================================= var Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours']; var ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ]; // ============================================================================= // ============================================================================= // Datenpunkte anlegen // ============================================================================= function anlegen(){ if (logging) log('--> Start -> es gibt ' + Elemente.length + ' Elemente'); for(var i=0;i <elemente.length;i++) {/createstate(pfad/+/elemente[i],/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/pfad/-="">' + ElementeNamen[i] + ' angelegt'); }} // ============================================================================= // ============================================================================= // --- function zum Abfragen der Werte // ============================================================================= function readElement(){ if(Elemente.length < 1){ log('keine Elemente zum abfragen'); client.destroy(); return; } if(step < Elemente.length){ step++ if (logging) log('0.->Neue Abfrage'); // --- hier dann die function mit werten aufrufen var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt var ele = Elemente[step]; var eleN = ElementeNamen[step]; client.write(req + '\n'); if (logging) log('1\. BEFEHL wurde gesendet : ' + req); } else{ step = -1; setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minute return; } } // ============================================================================= // --- Aufruf --- DATEN lesen // ============================================================================= client.on('data', function(data) { if (logging) log('3\. Daten werden empfangen : ' + data); // --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) --- var datastr = data.toString(); if (logging) log('3a. RX-Daten (String) : ' + datastr); //------------------------------------------------------------------------------ var databuf = ''; var prev = 0, next; if (logging) log('3b.Durchlauf : ' + prev); while ((next = datastr.indexOf('\n\n', prev)) > -1) { databuf += datastr.substring(prev, next); if (logging) log('3c. Funktion aufrufen mit : ' + databuf + " als Daten"); //--- SUB-Funktion aufrufen --- parse(databuf); databuf = ''; // Datenbuffer leeren prev = next + 1; } databuf += datastr.substring(prev); readElement();//Abfragen des nächsten Wertes //------------------------------------------------------------------------------ }); // ============================================================================= // ============================================================================= // Verbindungsabbau // ============================================================================= client.on('close', function() { if (logging) { log( 'Verbindung geschlossen .'); client.destroy(); }}); // ============================================================================= // ============================================================================= // --- SUB-Funktion --- Daten-String aufteilen // ============================================================================= function parse(data) { var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt if (logging) log("3d. Menge an Daten durch ; getrennt : " + arr.length); var fields = data.toString().split('\;'); // hier wird auf den = getriggert if (logging) log('anzahl an Feldern : ' + fields.length); if(fields.length > 0) { // wenn mehrere Felder gefunden wurden if (logging) log('WertVor : ' + fields[0]); var WertVor =fields[0]; if (logging) log("WertNach : " + fields[1]); fields[0] = fields[0].replace(' ','_'); if (logging) log("Feld 1 : " + fields[0]); if (logging) log("Feld 2 : " + fields[1]); setState(pfad + Elemente[step], WertVor); // Werte setzen if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert'); } } // ============================================================================= // ============================================================================= // --- Function --- Fehler abfangen und ausgeben // ============================================================================= client.on('error', function(err) { client.destroy(); if (logging) log(' Es ist ein Fehler aufgetreten : '+ err); }); // ============================================================================= // ============================================================================= // Verbindungsaufbau // ============================================================================= client.connect(PORT, HOST, function(){ readElement(); if (logging) log('1\. Verbindungsaufbau zu : ' + HOST + ':' + PORT); }); // ============================================================================= anlegen();//States anlegen //setInterval(readElement, 60000);</elemente.length;i++)>`[/i][/i][/i]
-
schon besser:
log
! ````
2017-12-26 14:56:00.653 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_4_blauholsten
2017-12-26 14:56:00.662 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: --> Start -> es gibt 3 Elemente
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.0 Datenpunkt: eBus.Temperatur. -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 14:56:00.664 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.1 Datenpunkt: eBus.Temperatur. -> Betriebsstunden angelegt
2017-12-26 14:56:00.665 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.2 Datenpunkt: eBus.Temperatur. -> Stunden angelegt
2017-12-26 14:56:00.667 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: registered 0 subscriptions and 0 schedules
2017-12-26 14:56:00.730 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 14:56:00.731 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 9185796
! 2017-12-26 14:56:00.858 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 9185796
! 2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:00.859 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 9185796 als Daten
2017-12-26 14:56:00.860 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 9185796
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:00.861 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 9185796
2017-12-26 14:56:00.862 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "9185796" gespeichert
2017-12-26 14:56:00.863 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:00.864 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergyCountHwc1
2017-12-26 14:56:01.014 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 30891
! 2017-12-26 14:56:01.015 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 30891
! 2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 30891 als Daten
2017-12-26 14:56:01.016 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 30891
2017-12-26 14:56:01.017 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.018 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "30891" gespeichert
2017-12-26 14:56:01.019 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.020 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f HcHours
2017-12-26 14:56:01.890 - info: sql.0 No Data
2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : 567
! 2017-12-26 14:56:01.937 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : 567
! 2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : 567 als Daten
2017-12-26 14:56:01.938 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : 567
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.939 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : 567
2017-12-26 14:56:01.940 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "567" gespeichert
2017-12-26 14:56:01.941 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 0.->Neue Abfrage
2017-12-26 14:56:01.942 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 1. BEFEHL wurde gesendet : read -f undefined
2017-12-26 14:56:01.951 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3. Daten werden empfangen : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3a. RX-Daten (String) : ERR: element not found
! 2017-12-26 14:56:01.952 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3b.Durchlauf : 0
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3c. Funktion aufrufen mit : ERR: element not found als Daten
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 14:56:01.953 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: anzahl an Feldern : 1
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertVor : ERR: element not found
2017-12-26 14:56:01.954 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: WertNach : undefined
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 1 : ERR:_element not found
2017-12-26 14:56:01.955 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: Feld 2 : undefined
2017-12-26 14:56:01.956 - warn: javascript.0 State "eBus.Temperatur.undefined" not found
2017-12-26 14:56:01.970 - warn: javascript.0 at parse (script.js.ebusd.eBus_anfang_4_blauholsten:108:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at Socket. <anonymous>(script.js.ebusd.eBus_anfang_4_blauholsten:70:1)
2017-12-26 14:56:01.971 - warn: javascript.0 at emitOne (events.js:96:13)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.emit (events.js:188:7)
2017-12-26 14:56:01.972 - warn: javascript.0 at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 14:56:01.972 - warn: javascript.0 at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 14:56:01.973 - warn: javascript.0 at TCP.onread (net.js:547:20)
2017-12-26 14:56:01.973 - info: javascript.0 script.js.ebusd.eBus_anfang_4_blauholsten: im Datenpunkt "eBus.Temperatur." wird "ERR: element not found" gespeichert</anonymous>nun wird ein durchlauf zuviel gestartet `
Probiert?
-
warn: javascript.0 State "eBus.Temperatur.undefined" not found
anbei das LOG
! ````
2017-12-26 22:13:41.044 - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_5_blauholsten
2017-12-26 22:13:41.068 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: --> Start -> es gibt 3 Elemente
2017-12-26 22:13:41.070 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.0 Datenpunkt: eBus.Temperatur. -> Betriebsstunden im Heizbetrieb angelegt
2017-12-26 22:13:41.071 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.1 Datenpunkt: eBus.Temperatur. -> Betriebsstunden angelegt
2017-12-26 22:13:41.071 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.2 Datenpunkt: eBus.Temperatur. -> Stunden angelegt
2017-12-26 22:13:41.072 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: registered 0 subscriptions and 0 schedules
2017-12-26 22:13:41.133 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.->Neue Abfrage
2017-12-26 22:13:41.141 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergySumHwc1
2017-12-26 22:13:41.142 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 1. Verbindungsaufbau zu : RPi2-2:8888
2017-12-26 22:13:41.293 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3. Daten werden empfangen : 9338400
! 2017-12-26 22:13:41.293 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3a. RX-Daten (String) : 9338400
! 2017-12-26 22:13:41.294 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3b.Durchlauf : 0
2017-12-26 22:13:41.294 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3c. Funktion aufrufen mit : 9338400 als Daten
2017-12-26 22:13:41.296 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 22:13:41.296 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: anzahl an Feldern : 1
2017-12-26 22:13:41.297 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertVor : 9338400
2017-12-26 22:13:41.297 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertNach : undefined
2017-12-26 22:13:41.297 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 1 : 9338400
2017-12-26 22:13:41.298 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 2 : undefined
2017-12-26 22:13:41.299 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: im Datenpunkt "eBus.Temperatur." wird "9338400" gespeichert
2017-12-26 22:13:41.299 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.->Neue Abfrage
2017-12-26 22:13:41.300 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 1. BEFEHL wurde gesendet : read -f PrEnergyCountHwc1
2017-12-26 22:13:41.452 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3. Daten werden empfangen : 31323
! 2017-12-26 22:13:41.453 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3a. RX-Daten (String) : 31323
! 2017-12-26 22:13:41.453 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3b.Durchlauf : 0
2017-12-26 22:13:41.453 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3c. Funktion aufrufen mit : 31323 als Daten
2017-12-26 22:13:41.454 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 22:13:41.454 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: anzahl an Feldern : 1
2017-12-26 22:13:41.454 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertVor : 31323
2017-12-26 22:13:41.454 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertNach : undefined
2017-12-26 22:13:41.455 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 1 : 31323
2017-12-26 22:13:41.455 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 2 : undefined
2017-12-26 22:13:41.456 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: im Datenpunkt "eBus.Temperatur." wird "31323" gespeichert
2017-12-26 22:13:41.456 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.->Neue Abfrage
2017-12-26 22:13:41.457 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 1. BEFEHL wurde gesendet : read -f HcHours
2017-12-26 22:13:41.604 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3. Daten werden empfangen : 572
! 2017-12-26 22:13:41.604 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3a. RX-Daten (String) : 572
! 2017-12-26 22:13:41.604 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3b.Durchlauf : 0
2017-12-26 22:13:41.605 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3c. Funktion aufrufen mit : 572 als Daten
2017-12-26 22:13:41.605 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 22:13:41.605 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: anzahl an Feldern : 1
2017-12-26 22:13:41.605 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertVor : 572
2017-12-26 22:13:41.605 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertNach : undefined
2017-12-26 22:13:41.606 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 1 : 572
2017-12-26 22:13:41.606 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 2 : undefined
2017-12-26 22:13:41.607 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: im Datenpunkt "eBus.Temperatur." wird "572" gespeichert
2017-12-26 22:13:41.607 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 0.->Neue Abfrage
2017-12-26 22:13:41.607 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 1. BEFEHL wurde gesendet : read -f undefined
2017-12-26 22:13:41.640 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3. Daten werden empfangen : ERR: element not found
! 2017-12-26 22:13:41.640 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3a. RX-Daten (String) : ERR: element not found
! 2017-12-26 22:13:41.640 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3b.Durchlauf : 0
2017-12-26 22:13:41.641 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3c. Funktion aufrufen mit : ERR: element not found als Daten
2017-12-26 22:13:41.641 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: 3d. Menge an Daten durch ; getrennt : 1
2017-12-26 22:13:41.641 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: anzahl an Feldern : 1
2017-12-26 22:13:41.641 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertVor : ERR: element not found
2017-12-26 22:13:41.641 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: WertNach : undefined
2017-12-26 22:13:41.642 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 1 : ERR:_element not found
2017-12-26 22:13:41.642 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: Feld 2 : undefined
2017-12-26 22:13:41.642 - warn: javascript.0 State "eBus.Temperatur.undefined" not found
2017-12-26 22:13:41.643 - warn: javascript.0 at parse (script.js.ebusd.eBus_anfang_5_blauholsten:110:1)
2017-12-26 22:13:41.643 - warn: javascript.0 at Socket. <anonymous>(script.js.ebusd.eBus_anfang_5_blauholsten:72:1)
2017-12-26 22:13:41.643 - warn: javascript.0 at emitOne (events.js:96:13)
2017-12-26 22:13:41.644 - warn: javascript.0 at Socket.emit (events.js:188:7)
2017-12-26 22:13:41.644 - warn: javascript.0 at readableAddChunk (_stream_readable.js:176:18)
2017-12-26 22:13:41.645 - warn: javascript.0 at Socket.Readable.push (_stream_readable.js:134:10)
2017-12-26 22:13:41.645 - warn: javascript.0 at TCP.onread (net.js:547:20)
2017-12-26 22:13:41.645 - info: javascript.0 script.js.ebusd.eBus_anfang_5_blauholsten: im Datenpunkt "eBus.Temperatur." wird "ERR: element not found" gespeichert</anonymous> -
habe mich mal durchgearbeitet.
Glaube das ich den Fehler gefunden habe
Die var "step" wird ja schon früh um eins erhöht.
daher if(step < Elemente.length -1){
// ============================================================================= // --- function zum Abfragen der Werte // ============================================================================= function readElement(){ if(Elemente.length < 1){ log('keine Elemente zum abfragen'); client.destroy(); return; } if (logging) log(' ---> Variable "step" '+ step + ' für die Anzahle von ' + Elemente.length + ' Elemente'); if(step < Elemente.length -1){ step++ ; if (logging) log('0.'+ step + ' ---> Neue Abfrage ------------------------> Durchlauf : '+ step); // --- hier dann die function mit werten aufrufen var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt var ele = Elemente[step]; var eleN = ElementeNamen[step]; client.write(req + '\n'); // hier wird der Befehl gesendet if (logging) log('1.'+ step + ' BEFEHL wurde gesendet : ' + req); } else{ step = -1; setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minute return; } }
Ich werde noch einige Sachen testen.
Wenn es nun sauber läuft werde ich den gesamten Script noch mal posten
DANKE für die Unterstützung
Gruß
Jürgen
-
habe mich mal durchgearbeitet.
Glaube das ich den Fehler gefunden habe
Die var "step" wird ja schon früh um eins erhöht.
daher if(step < Elemente.length -1){
// ============================================================================= // --- function zum Abfragen der Werte // ============================================================================= function readElement(){ if(Elemente.length < 1){ log('keine Elemente zum abfragen'); client.destroy(); return; } if (logging) log(' ---> Variable "step" '+ step + ' für die Anzahle von ' + Elemente.length + ' Elemente'); if(step < Elemente.length -1){ step++ ; if (logging) log('0.'+ step + ' ---> Neue Abfrage ------------------------> Durchlauf : '+ step); // --- hier dann die function mit werten aufrufen var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt var ele = Elemente[step]; var eleN = ElementeNamen[step]; client.write(req + '\n'); // hier wird der Befehl gesendet if (logging) log('1.'+ step + ' BEFEHL wurde gesendet : ' + req); } else{ step = -1; setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minute return; } }
Ich werde noch einige Sachen testen.
Wenn es nun sauber läuft werde ich den gesamten Script noch mal posten
DANKE für die Unterstützung
Gruß
Jürgen `
Jawohl, Schande über mein Haupt…..Die length Funktion gibt nicht denn Index, sondern die Anzahl der Elemente zurück. (Quasi eins mehr)
-
Hallo zusammen,
anbei wie versprochen der Script der nun mehrere Werte vom eBus abfragt
var Elemente =
var ElementeNamen =
müssen angepasst werden.
! ```
`// =============================================================================
// --- Abfragen von Werten vom "ebusd"
// =============================================================================
var logging = false; // "true" oder "false" wenn nicht gewünscht
var HOST = 'RPi2-2'; // Hostname oder IP-Adresse auf dem der ebusd läuft
var PORT = 8888; // Portnummer auf dem der ebusd hört
var step = -1;
var pfad = 'eBus.Temperatur.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
// =============================================================================
var net = require('net');
var client = new net.Socket();
// =============================================================================
var Elemente = ['dcfState','FlowTemp','HcHours','HwcHours','OutdoorstempSensor','PrEnergyCountHc1','PrEnergyCountHwc1','PrEnergySumHc1','PrEnergySumHwc1','ReturnTemp','PumpHours','PumpHwcFlowNumber','PumpHwcFlowSum','SDFanSpeed','SDTRT','StorageTemp','WaterPressure'];
var ElementeNamen = ['','','','','',''];
// =============================================================================
! // =============================================================================
// Datenpunkte anlegen
// =============================================================================
function anlegen(){
if (logging) log('--------> Start -> es gibt für ' + Elemente.length + ' Elemente einen Datenpunkt anzulegen');
for(var i=0;i <elemente.length;i++) {/createstate(pfad/+/elemente[i],/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/pfad/-="">' + ElementeNamen[i] + ' angelegt');
}}
// =============================================================================
! // =============================================================================
// --- function zum Abfragen der Werte
// =============================================================================
function readElement(){
if (logging) log('--------> Start ->');
if (logging) log(' ---> Variable "step" = '+ step + ' für die Anzahle von ' + Elemente.length + ' Elemente');
if(Elemente.length < 1){
log('keine Elemente zum abfragen');
client.destroy();
return;
}
! if(step < Elemente.length -1){
step++ ;
if (logging) log('0.'+ step + ' ---> Neue Abfrage --------------------> Durchlauf : ' + step + ' von ' + Elemente.length );
// --- hier dann die function mit werten aufrufen
var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt
var ele = Elemente[step];
var eleN = ElementeNamen[step];
client.write(req + '\n'); // hier wird der Befehl gesendet
if (logging) log('1.'+ step + ' BEFEHL wurde gesendet : ' + req);
}
else{
step = -1;
if (logging) log('0.'+ step + ' ---> keine weitere Abfrage nötig -----> Fertig');
setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minutereturn; }
}
! // =============================================================================
// --- Aufruf --- DATEN lesen
// =============================================================================
client.on('data', function(data) {
// if (logging) log('3 .'+ step + ' Daten werden empfangen : ' + data);
// --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) ---
var datastr = data.toString();
// if (logging) log('3a.'+ step + ' RX-Daten (String) : ' + datastr);
//------------------------------------------------------------------------------
var databuf = '';
var prev = 0, next;
if (logging) log('3b.'+ step + ' Durchlauf : ' + step);
while ((next = datastr.indexOf('\n\n', prev)) > -1) {
databuf += datastr.substring(prev, next);
if (logging) log('3c.'+ step + ' Funktion aufrufen mit : ' + databuf + " als Daten");
//--- SUB-Funktion aufrufen ---
parse(databuf);
databuf = ''; // Datenbuffer leeren
prev = next + 1;
}
databuf += datastr.substring(prev);
readElement();//Abfragen des nächsten Wertes
//------------------------------------------------------------------------------
});
// =============================================================================
! // =============================================================================
// Verbindungsabbau
// =============================================================================
client.on('close', function(fertig) {
if (logging) {
if (logging) log('4. -----> Verbindung geschlossen .');
client.destroy();
}
});
// =============================================================================
! // =============================================================================
// --- SUB-Funktion --- Daten-String aufteilen
// =============================================================================
function parse(data) {
var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
if (logging) log('3d.'+ step + ' Menge an Daten durch ; getrennt : ' + arr.length);
var fields = data.toString().split(';'); // hier wird auf den = getriggert
if (logging) log('anzahl an Feldern : ' + fields.length);
if(fields.length > 0) { // wenn mehrere Felder gefunden wurden
if (logging) log('WertVor : ' + fields[0]);
var WertVor =fields[0];
if (logging) log("WertNach : " + fields[1]);
fields[0] = fields[0].replace(' ','_');
if (logging) log("Feld 1 : " + fields[0]);
if (logging) log("Feld 2 : " + fields[1]);
setState(pfad + Elemente[step], WertVor); // Werte setzen
if (logging) log('4.'+ step + ' im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
}
}
// =============================================================================
! // =============================================================================
// --- Function --- Fehler abfangen und ausgeben
// =============================================================================
client.on('error', function(err) {
client.destroy();
if (logging) log(' Es ist ein Fehler aufgetreten : '+ err);
});
// =============================================================================
! // =============================================================================
// Verbindungsaufbau
// =============================================================================
client.connect(PORT, HOST, function(){
readElement();
if (logging) log('1. Verbindungsaufbau zu : ' + HOST + ':' + PORT);
! });
// =============================================================================
! anlegen(); //States anlegen
! //setInterval(readElement, 60000);</elemente.length;i++)>`
[/i][/i][/i]
-
dummer Frage wie bokommt man das Skript in VIS angezeigt :?