Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JS # mit einer Schleife eine function mehrfach aufrufen und ebusd abfragen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

JS # mit einer Schleife eine function mehrfach aufrufen und ebusd abfragen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 3 Kommentatoren 3.7k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    der_Auge
    schrieb am zuletzt editiert von
    #3

    Nächster Versuch

    nun sieht das Script folgendermaßen aus

    `// =============================================================================
    // --- 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 element = 'PrEnergySumHwc1';                            // Hier Name des element eintragen das abgefragt werden soll
    //var elementName = "Betriebsstunden im Heizbetrieb";         // Hier die Bezeichnung für das element eintragen
    //var req = 'read -f ' + element;                             // der Befehl wird zusammengesetzt
    //var pfad = 'eBus.Temperatur.'+ element;                     // Pfad innerhalb der Instanz wo die Daten gespeichert werden
    // =============================================================================
    var net = require('net');
    var client = new net.Socket();
    // =============================================================================
    Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours'];
    ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ];
    // =============================================================================
    
    // =============================================================================
    // Datenpunkte anlegen
    // =============================================================================
    for(var i=0;i <elemente.length;i++) {/var/pfad="eBus.Temperatur." +/elemente[i];/innerhalb/der/instanz/wo/die/daten/gespeichert/werden/createstate(pfad,/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/-="">' + ElementeNamen[i] + ' angelegt');
    
    // --- hier dann die function mit werten aufrufen
        var req = 'read -f ' + Elemente[i];                             // der Befehl wird zusammengesetzt
        var ele = Elemente[i];
        var eleN = ElementeNamen[i];
        if (logging) log('0.' + i + ' function mit Werten : ' + req + ' # ' + ele + ' # ' + eleN + ' = aufrufen');
        readElement(req, ele, eleN);
    }
    
    // =============================================================================
    // --- function zum Abfragen der Werte
    // =============================================================================
    function readElement(req, ele, eleN){
        if (logging) log('0.x Die function wird aufgerufen');
        if (logging) log('1.0 Verbindungsaufbau zu   : ' + HOST + ':' + PORT);
    // =============================================================================
    // --- Aufruf --- Verbindungsaufbau und Befehl absetzen
    // =============================================================================
    client.connect(PORT, HOST, function Verbindungsaufbau(){
        if (logging) log('1.Verbindungsaufbau zu   : ' + HOST + ':' + PORT);
        client.write(req + '\n');
        if (logging) log('2.BEFEHL wurde gesendet  : ' + req);
    });
    // =============================================================================
    
    // =============================================================================
    // --- Aufruf --- DATEN lesen
    // =============================================================================
    client.on('data', function(data) {
        if (logging) log('3.Daten werden empfangen : ' + data);
        client.destroy();
    // --- 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);
    client.write('quit\n');
    //------------------------------------------------------------------------------
    });
    // =============================================================================
    
    // =============================================================================
    // --- Aufruf --- Verbindungsabbau
    // =============================================================================
    client.on('close', function Verbindungsabbau() {
        if (logging) log('4.Verbindung geschlossen .');
    });
    // =============================================================================
    }
    
    // =============================================================================
    // --- 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, WertVor);                            // Werte setzen
        if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
        }
    }
    // =============================================================================
    
    schedule("1 0 * * *", readElement);</elemente.length;i++)>` 
    
    Leider stürzt JS dabei ab
    `~~[code]~~2017-12-25 10:04:35.096  - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_2
    2017-12-25 10:04:35.103  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
    2017-12-25 10:04:35.104  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 function mit Werten : read -f PrEnergySumHwc1 # PrEnergySumHwc1 # Betriebsstunden im Heizbetrieb = aufrufen
    2017-12-25 10:04:35.105  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
    2017-12-25 10:04:35.105  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
    2017-12-25 10:04:35.107  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
    2017-12-25 10:04:35.107  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 function mit Werten : read -f PrEnergyCountHwc1 # PrEnergyCountHwc1 # Betriebsstunden = aufrufen
    2017-12-25 10:04:35.108  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
    2017-12-25 10:04:35.108  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
    2017-12-25 10:04:35.111  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
    2017-12-25 10:04:35.111  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 function mit Werten : read -f HcHours # HcHours # Stunden = aufrufen
    2017-12-25 10:04:35.113  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
    2017-12-25 10:04:35.113  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
    2017-12-25 10:04:35.115  - info: javascript.0 script.js.ebusd.eBus_anfang_2: registered 0 subscriptions and 1 schedule
    2017-12-25 10:04:35.138  - error: javascript.0 uncaught exception: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
    2017-12-25 10:04:35.138  - error: javascript.0 Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
        at Object.exports._errnoException (util.js:1020:11)
        at exports._exceptionWithHostPort (util.js:1043:20)
        at connect (net.js:880:16)
        at net.js:1013:7
        at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
        at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)
    
    2017-12-25 10:04:35.145  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
    2017-12-25 10:04:35.146  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
    2017-12-25 10:04:35.146  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
    2017-12-25 10:04:35.182  - error: Caught by controller[0]: { Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
    2017-12-25 10:04:35.182  - error: Caught by controller[0]:     at Object.exports._errnoException (util.js:1020:11)
    2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at exports._exceptionWithHostPort (util.js:1043:20)
    2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at connect (net.js:880:16)
    2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at net.js:1013:7
    2017-12-25 10:04:35.184  - error: Caught by controller[0]:     at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
    2017-12-25 10:04:35.184  - error: Caught by controller[0]:     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)
    2017-12-25 10:04:35.184  - error: Caught by controller[0]:   code: 'EALREADY',
    2017-12-25 10:04:35.184  - error: Caught by controller[0]:   errno: 'EALREADY',
    2017-12-25 10:04:35.185  - error: Caught by controller[0]:   syscall: 'connect',
    2017-12-25 10:04:35.185  - error: Caught by controller[0]:   address: '192.168.28.144',
    2017-12-25 10:04:35.185  - error: Caught by controller[0]:   port: 8888 }
    2017-12-25 10:04:35.185  - error: host.ioBmaster instance system.adapter.javascript.0 terminated with code 0 (OK)
    2017-12-25 10:04:35.186  - info: host.ioBmaster Restart adapter system.adapter.javascript.0 because enabled
    [/code]`
    
    Was läuft falsch?
    
    Einen schönen Weihnachtstag
    
    Gruß
    
    Jürgen[/i][/i][/i][/i][/i][/i]
    

    Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

    Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

    SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

    Test : DS916+ VM Debian

    Test : Tinker mit piVCCU

    1 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #4

      @der_Auge:

      Nächster Versuch

      nun sieht das Script folgendermaßen aus

      `// =============================================================================
      // --- 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 element = 'PrEnergySumHwc1';                            // Hier Name des element eintragen das abgefragt werden soll
      //var elementName = "Betriebsstunden im Heizbetrieb";         // Hier die Bezeichnung für das element eintragen
      //var req = 'read -f ' + element;                             // der Befehl wird zusammengesetzt
      //var pfad = 'eBus.Temperatur.'+ element;                     // Pfad innerhalb der Instanz wo die Daten gespeichert werden
      // =============================================================================
      var net = require('net');
      var client = new net.Socket();
      // =============================================================================
      Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours'];
      ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ];
      // =============================================================================
      
      // =============================================================================
      // Datenpunkte anlegen
      // =============================================================================
      for(var i=0;i <elemente.length;i++) {/var/pfad="eBus.Temperatur." +/elemente[i];/innerhalb/der/instanz/wo/die/daten/gespeichert/werden/createstate(pfad,/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/-="">' + ElementeNamen[i] + ' angelegt');
      
      // --- hier dann die function mit werten aufrufen
          var req = 'read -f ' + Elemente[i];                             // der Befehl wird zusammengesetzt
          var ele = Elemente[i];
          var eleN = ElementeNamen[i];
          if (logging) log('0.' + i + ' function mit Werten : ' + req + ' # ' + ele + ' # ' + eleN + ' = aufrufen');
          readElement(req, ele, eleN);
      }
      
      // =============================================================================
      // --- function zum Abfragen der Werte
      // =============================================================================
      function readElement(req, ele, eleN){
          if (logging) log('0.x Die function wird aufgerufen');
          if (logging) log('1.0 Verbindungsaufbau zu   : ' + HOST + ':' + PORT);
      // =============================================================================
      // --- Aufruf --- Verbindungsaufbau und Befehl absetzen
      // =============================================================================
      client.connect(PORT, HOST, function Verbindungsaufbau(){
          if (logging) log('1.Verbindungsaufbau zu   : ' + HOST + ':' + PORT);
          client.write(req + '\n');
          if (logging) log('2.BEFEHL wurde gesendet  : ' + req);
      });
      // =============================================================================
      
      // =============================================================================
      // --- Aufruf --- DATEN lesen
      // =============================================================================
      client.on('data', function(data) {
          if (logging) log('3.Daten werden empfangen : ' + data);
          client.destroy();
      // --- 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);
      client.write('quit\n');
      //------------------------------------------------------------------------------
      });
      // =============================================================================
      
      // =============================================================================
      // --- Aufruf --- Verbindungsabbau
      // =============================================================================
      client.on('close', function Verbindungsabbau() {
          if (logging) log('4.Verbindung geschlossen .');
      });
      // =============================================================================
      }
      
      // =============================================================================
      // --- 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, WertVor);                            // Werte setzen
          if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
          }
      }
      // =============================================================================
      
      schedule("1 0 * * *", readElement);</elemente.length;i++)>` 
      
      Leider stürzt JS dabei ab
      `~~[code]~~2017-12-25 10:04:35.096  - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_2
      2017-12-25 10:04:35.103  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
      2017-12-25 10:04:35.104  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 function mit Werten : read -f PrEnergySumHwc1 # PrEnergySumHwc1 # Betriebsstunden im Heizbetrieb = aufrufen
      2017-12-25 10:04:35.105  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
      2017-12-25 10:04:35.105  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
      2017-12-25 10:04:35.107  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
      2017-12-25 10:04:35.107  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 function mit Werten : read -f PrEnergyCountHwc1 # PrEnergyCountHwc1 # Betriebsstunden = aufrufen
      2017-12-25 10:04:35.108  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
      2017-12-25 10:04:35.108  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
      2017-12-25 10:04:35.111  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
      2017-12-25 10:04:35.111  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 function mit Werten : read -f HcHours # HcHours # Stunden = aufrufen
      2017-12-25 10:04:35.113  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.x Die function wird aufgerufen
      2017-12-25 10:04:35.113  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsaufbau zu   : RPi2-2:8888
      2017-12-25 10:04:35.115  - info: javascript.0 script.js.ebusd.eBus_anfang_2: registered 0 subscriptions and 1 schedule
      2017-12-25 10:04:35.138  - error: javascript.0 uncaught exception: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
      2017-12-25 10:04:35.138  - error: javascript.0 Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
          at Object.exports._errnoException (util.js:1020:11)
          at exports._exceptionWithHostPort (util.js:1043:20)
          at connect (net.js:880:16)
          at net.js:1013:7
          at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
          at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)
      
      2017-12-25 10:04:35.145  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
      2017-12-25 10:04:35.146  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
      2017-12-25 10:04:35.146  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.Verbindung geschlossen .
      2017-12-25 10:04:35.182  - error: Caught by controller[0]: { Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:37016)
      2017-12-25 10:04:35.182  - error: Caught by controller[0]:     at Object.exports._errnoException (util.js:1020:11)
      2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at exports._exceptionWithHostPort (util.js:1043:20)
      2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at connect (net.js:880:16)
      2017-12-25 10:04:35.183  - error: Caught by controller[0]:     at net.js:1013:7
      2017-12-25 10:04:35.184  - error: Caught by controller[0]:     at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
      2017-12-25 10:04:35.184  - error: Caught by controller[0]:     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)
      2017-12-25 10:04:35.184  - error: Caught by controller[0]:   code: 'EALREADY',
      2017-12-25 10:04:35.184  - error: Caught by controller[0]:   errno: 'EALREADY',
      2017-12-25 10:04:35.185  - error: Caught by controller[0]:   syscall: 'connect',
      2017-12-25 10:04:35.185  - error: Caught by controller[0]:   address: '192.168.28.144',
      2017-12-25 10:04:35.185  - error: Caught by controller[0]:   port: 8888 }
      2017-12-25 10:04:35.185  - error: host.ioBmaster instance system.adapter.javascript.0 terminated with code 0 (OK)
      2017-12-25 10:04:35.186  - info: host.ioBmaster Restart adapter system.adapter.javascript.0 because enabled
      [/code]`
      
      Was läuft falsch?
      
      Einen schönen Weihnachtstag
      
      Gruß
      
      Jürgen
      
      Auf die schnelle....
      
      Du machst keine "error" Behandlung, füge sowas in deinem Skript ein, dann schmiert dir die JS-Instanz nicht mehr ab.
      
      `~~[code]~~client.on('error', function(err) {
          log(err)});[/code]`
      
      Hoffe das hilft[/i][/i][/i][/i][/i][/i]
      ``` ` 

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        der_Auge
        schrieb am zuletzt editiert von
        #5

        OK

        Danke für den Hinweis

        HAbe nun folgendes hinzu gefügt:

        // =============================================================================
        // --- Function --- Fehler abfangen und ausgeben
        // =============================================================================
        client.on('error', function(err) {
            if (logging) log('Es ist ein Fehler aufgetreten : '+ err)
            });
        // =============================================================================
        
        

        Dann schmiert JS nicht mehr ab und es kommt die Fehlermeldung:

        javascript.0 script.js.ebusd.eBus_anfang_2: Es ist ein Fehler aufgetreten : Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:40878)
        

        Es stellt sich jedoch die Frage warum die function nicht verschachtelt arbeitet

        Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

        Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

        SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

        Test : DS916+ VM Debian

        Test : Tinker mit piVCCU

        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #6

          @der_Auge:

          OK

          Danke für den Hinweis

          HAbe nun folgendes hinzu gefügt:

          // =============================================================================
          // --- Function --- Fehler abfangen und ausgeben
          // =============================================================================
          client.on('error', function(err) {
              if (logging) log('Es ist ein Fehler aufgetreten : '+ err)
              });
          // =============================================================================
          
          

          Dann schmiert JS nicht mehr ab und es kommt die Fehlermeldung:

          javascript.0 script.js.ebusd.eBus_anfang_2: Es ist ein Fehler aufgetreten : Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:40878)
          

          Es stellt sich jedoch die Frage warum die function nicht verschachtelt arbeitet `
          Wie verschachtelt?

          Unter Vorbehalt, und auf die schnelle:

          Ich denke dein Code wird so nicht funktionieren, wenn ich den Code richtig verstehe, versuchst du bei jeden Abfragewert eine neue Verbindung zum Client herausstellen.

          Laut kurzer Google Hilfe, entspricht das auch der Fehlermeldung.

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • blauholstenB Offline
            blauholstenB Offline
            blauholsten
            Developer
            schrieb am zuletzt editiert von
            #7

            Kann man dem Client mehrere Anfragen gleichzeitig senden? Oder muss man immer einzeln Befehle senden?

            Entwickler vom: - Viessman Adapter
            - Alarm Adapter

            1 Antwort Letzte Antwort
            0
            • D Offline
              D Offline
              der_Auge
              schrieb am zuletzt editiert von
              #8

              @blauholsten:

              Kann man dem Client mehrere Anfragen gleichzeitig senden? Oder muss man immer einzeln Befehle senden? `
              Ich denke nicht. Das soll er eigentlich auch nicht.

              @der_Auge:

              Folgender Script funktioniert "eBus_read-f (ReturnTemp)"

              ! // =============================================================================
              ! // Auslesen von Einzelwerten vom eBusd
              ! // =============================================================================
              ! var root = 'eBus'; // root of state inside 'javascript.0'
              ! var host = 'RPi2-2'; // set to your host running ebusd
              ! var port = 8888; // default ebusd port
              ! var logging = false; // "true" oder "false" wenn nicht gewünscht
              ! var net = require('net'); //
              ! var conn = false;
              ! // === pro Skript wird ein Datenpunkt abgefragt ## hier die beiden Werte anpassen=============
              ! var element = 'ReturnTemp'; // Hier Name des element eintragen
              ! var elementName = "Rücklauftemperatur"; // Hier die Bezeichnung für das element eintragen
              ! // ===========================================================================================
              ! // ebusctl read -f FlowTemp
              ! // 51.19;ok
              ! // =============================================================================
              ! var req = 'read -f ' + element;
              ! var pfad = 'eBus.Temperatur.'+ element; // Pfad innerhalb der Instanz
              ! // =============================================================================
              ! // Datenpunkte anlegen
              ! // =============================================================================
              ! createState(pfad, 0, {name: elementName ,rolle: 'value.temperature' ,type: 'string',unit: '°C'});
              ! // –-------------------------------------------------------- Start
              ! if (logging) log('1. Start trying eBus abfrage');
              ! var client = new net.Socket();
              ! client.connect(port, host, function() {
              ! if (logging) log('2. Connected to ebusd on ' + host + ':' + port);
              ! conn = true;
              ! client.write(req + '\n');
              ! if (logging) log('3. TX-Befehl: "' + req + '" wird gesendet');
              ! });
              ! // =============================================================================
              ! // Funktion Daten abfragen
              ! // =============================================================================
              ! function parse(data) {
              ! var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
              ! if (logging) log("Menge : " + arr.length);
              ! var fields = data.toString().split(';'); // hier wird auf den = getriggert
              ! if (logging) log('Felder : ' + fields);
              ! if(fields.length > 1) { // 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, WertVor); // Werte setzen
              ! }
              ! }
              ! // =============================================================================
              ! // Daten abfragen
              ! // =============================================================================
              ! var databuf = '';
              ! client.on('data', function(data) {
              ! var prev = 0, next;
              ! var datastr = data.toString();
              ! if (logging) log("4. RX-Daten : " + datastr);
              ! while ((next = datastr.indexOf('\n\n', prev)) > -1) {
              ! databuf += datastr.substring(prev, next);
              ! parse(databuf);
              ! databuf = '';
              ! prev = next + 1;
              ! }
              ! databuf += datastr.substring(prev);
              ! client.write('quit\n');
              ! });
              ! // =============================================================================
              ! // ? Ende
              ! // =============================================================================
              ! client.on('close', function() {
              ! conn = false;
              ! log('Connection to ebusd closed');
              ! });
              ! // =============================================================================
              ! // Funktion aufrufen
              ! // =============================================================================
              ! function getData() {
              ! client.connect(port, host, function() {
              ! if (logging) log('Connected to ebusd on ' + host + ':' + port);
              ! client.write(req + '\n');
              ! if (logging) log('TX-Befehl: "' + req + '" wird gesendet');
              ! });
              ! }
              ! schedule('*/1 * * * *', getData); `
              nun möchte ich diese Abfrage in einer Schleife mit verschiedenen "elementen" durchlaufen. Das bekomme ich nicht hin.

              2017-12-26 05:30:09.286  - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_2
              2017-12-26 05:30:09.292  - info: javascript.0 script.js.ebusd.eBus_anfang_2: --> Start -> es gibt 3 Elemente
              2017-12-26 05:30:09.294  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
              2017-12-26 05:30:09.294  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 function mit Werten : read -f PrEnergySumHwc1 # PrEnergySumHwc1 # Betriebsstunden im Heizbetrieb = aufrufen
              2017-12-26 05:30:09.295  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
              2017-12-26 05:30:09.296  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsversuch zu   : RPi2-2:8888
              2017-12-26 05:30:09.297  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
              2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 function mit Werten : read -f PrEnergyCountHwc1 # PrEnergyCountHwc1 # Betriebsstunden = aufrufen
              2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
              2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.1 Verbindungsversuch zu   : RPi2-2:8888
              2017-12-26 05:30:09.299  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
              2017-12-26 05:30:09.300  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 function mit Werten : read -f HcHours # HcHours # Stunden = aufrufen
              2017-12-26 05:30:09.301  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
              2017-12-26 05:30:09.303  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.2 Verbindungsversuch zu   : RPi2-2:8888
              2017-12-26 05:30:09.305  - info: javascript.0 script.js.ebusd.eBus_anfang_2: registered 0 subscriptions and 1 schedule
              2017-12-26 05:30:09.308  - info: javascript.0 script.js.ebusd.eBus_anfang_2: :-( .3 Es ist ein Fehler aufgetreten : Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:45462)
              2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
              2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
              2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
              
              

              Habe mit den Ziffern versucht den Ablauf des Scripts nachzuvollziehen

              Aktueller Stand der noch fehlerhaft ist:

              ! // =============================================================================
              ! // –- 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 element = 'PrEnergySumHwc1'; // Hier Name des element eintragen das abgefragt werden soll
              ! //var elementName = "Betriebsstunden im Heizbetrieb"; // Hier die Bezeichnung für das element eintragen
              ! //var req = 'read -f ' + element; // der Befehl wird zusammengesetzt
              ! //var pfad = 'eBus.Temperatur.'+ element; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
              ! // =============================================================================
              ! var net = require('net');
              ! var client = new net.Socket();
              ! // =============================================================================
              ! Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours'];
              ! ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ];
              ! // =============================================================================
              ! // =============================================================================
              ! // Datenpunkte anlegen und ddie "Elemente" abfragen
              ! // =============================================================================
              ! if (logging) log('–> Start -> es gibt ' + Elemente.length + ' Elemente');
              ! for(var i=0;i <elemente.length;i++) {<br="">var pfad = 'eBus.Temperatur.'+ Elemente__; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
              ! createState(pfad, 0, {name: ElementeNamen__});
              ! if (logging) log('0.' + i + ' Datenpunkt: ' + pfad + ' -> ' + ElementeNamen + ' angelegt');
              ! // –- hier dann die function mit werten aufrufen
              ! var req = 'read -f ' + Elemente
              ; // der Befehl wird zusammengesetzt
              ! var ele = Elemente__;
              ! var eleN = ElementeNamen__;
              ! if (logging) log('0.' + i + ' function mit Werten : ' + req + ' # ' + ele + ' # ' + eleN + ' = aufrufen');
              ! readElement(req, ele, eleN);
              ! }
              ! // =============================================================================
              ! // –- function zum Abfragen der Werte
              ! // =============================================================================
              ! function readElement(req, ele, eleN){
              ! if (logging) log('0.->function wird abgearbeitet');
              ! if (logging) log('1.' + i + ' Verbindungsversuch zu : ' + HOST + ':' + PORT);
              ! // =============================================================================
              ! // --- Aufruf --- Verbindungsaufbau und Befehl absetzen
              ! // =============================================================================
              ! client.connect(PORT, HOST, function Verbindungsaufbau(){
              ! if (logging) log('1.' + i + ' Verbindungsaufbau zu : ' + HOST + ':' + PORT);
              ! client.write(req + '\n');
              ! if (logging) log('2.' + i + ' BEFEHL wurde gesendet : ' + req);
              ! });
              ! // =============================================================================
              ! // =============================================================================
              ! // --- Aufruf --- DATEN lesen
              ! // =============================================================================
              ! client.on('data', function(data) {
              ! if (logging) log('3.' + i + ' Daten werden empfangen : ' + data);
              ! client.destroy();
              ! // --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) ---
              ! var datastr = data.toString();
              ! if (logging) log('3a.' + i + ' RX-Daten (String) : ' + datastr);
              ! //------------------------------------------------------------------------------
              ! var databuf = '';
              ! var prev = 0, next;
              ! if (logging) log('3b.' + i + 'Durchlauf : ' + prev);
              ! while ((next = datastr.indexOf('\n\n', prev)) > -1) {
              ! databuf += datastr.substring(prev, next);
              ! if (logging) log('3c.' + i + ' Funktion aufrufen mit : ' + databuf + " als Daten");
              ! //--- SUB-Funktion aufrufen ---
              ! parse(databuf);
              ! databuf = ''; // Datenbuffer leeren
              ! prev = next + 1;
              ! }
              ! databuf += datastr.substring(prev);
              ! client.write('quit\n');
              ! //------------------------------------------------------------------------------
              ! });
              ! // =============================================================================
              ! // =============================================================================
              ! // --- Aufruf --- Verbindungsabbau
              ! // =============================================================================
              ! client.on('close', function Verbindungsabbau() {
              ! if (logging) log('4.' + i + ' Verbindung geschlossen .');
              ! });
              ! // =============================================================================
              ! }
              ! // =============================================================================
              ! // --- SUB-Funktion --- Daten-String aufteilen
              ! // =============================================================================
              ! function parse(data) {
              ! var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
              ! if (logging) log("3d.' + i + ' 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, WertVor); // Werte setzen
              ! if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
              ! }
              ! }
              ! // =============================================================================
              ! // =============================================================================
              ! // –- Function --- Fehler abfangen und ausgeben
              ! // =============================================================================
              ! client.on('error', function(err) {
              ! if (logging) log(':-( .' + i + ' Es ist ein Fehler aufgetreten : '+ err)
              ! });
              ! // =============================================================================
              ! schedule("1 0 * * *", readElement);
              ___________</elemente.length;i++)> _________Gruß

              Jürgen_________

              Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

              Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

              SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

              Test : DS916+ VM Debian

              Test : Tinker mit piVCCU

              1 Antwort Letzte Antwort
              0
              • blauholstenB Offline
                blauholstenB Offline
                blauholsten
                Developer
                schrieb am zuletzt editiert von
                #9

                @der_Auge:

                @blauholsten:

                Kann man dem Client mehrere Anfragen gleichzeitig senden? Oder muss man immer einzeln Befehle senden? `
                Ich denke nicht. Das soll er eigentlich auch nicht.

                @der_Auge:

                Folgender Script funktioniert "eBus_read-f (ReturnTemp)"

                ! // =============================================================================
                ! // Auslesen von Einzelwerten vom eBusd
                ! // =============================================================================
                ! var root = 'eBus'; // root of state inside 'javascript.0'
                ! var host = 'RPi2-2'; // set to your host running ebusd
                ! var port = 8888; // default ebusd port
                ! var logging = false; // "true" oder "false" wenn nicht gewünscht
                ! var net = require('net'); //
                ! var conn = false;
                ! // === pro Skript wird ein Datenpunkt abgefragt ## hier die beiden Werte anpassen=============
                ! var element = 'ReturnTemp'; // Hier Name des element eintragen
                ! var elementName = "Rücklauftemperatur"; // Hier die Bezeichnung für das element eintragen
                ! // ===========================================================================================
                ! // ebusctl read -f FlowTemp
                ! // 51.19;ok
                ! // =============================================================================
                ! var req = 'read -f ' + element;
                ! var pfad = 'eBus.Temperatur.'+ element; // Pfad innerhalb der Instanz
                ! // =============================================================================
                ! // Datenpunkte anlegen
                ! // =============================================================================
                ! createState(pfad, 0, {name: elementName ,rolle: 'value.temperature' ,type: 'string',unit: '°C'});
                ! // –-------------------------------------------------------- Start
                ! if (logging) log('1. Start trying eBus abfrage');
                ! var client = new net.Socket();
                ! client.connect(port, host, function() {
                ! if (logging) log('2. Connected to ebusd on ' + host + ':' + port);
                ! conn = true;
                ! client.write(req + '\n');
                ! if (logging) log('3. TX-Befehl: "' + req + '" wird gesendet');
                ! });
                ! // =============================================================================
                ! // Funktion Daten abfragen
                ! // =============================================================================
                ! function parse(data) {
                ! var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
                ! if (logging) log("Menge : " + arr.length);
                ! var fields = data.toString().split(';'); // hier wird auf den = getriggert
                ! if (logging) log('Felder : ' + fields);
                ! if(fields.length > 1) { // 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, WertVor); // Werte setzen
                ! }
                ! }
                ! // =============================================================================
                ! // Daten abfragen
                ! // =============================================================================
                ! var databuf = '';
                ! client.on('data', function(data) {
                ! var prev = 0, next;
                ! var datastr = data.toString();
                ! if (logging) log("4. RX-Daten : " + datastr);
                ! while ((next = datastr.indexOf('\n\n', prev)) > -1) {
                ! databuf += datastr.substring(prev, next);
                ! parse(databuf);
                ! databuf = '';
                ! prev = next + 1;
                ! }
                ! databuf += datastr.substring(prev);
                ! client.write('quit\n');
                ! });
                ! // =============================================================================
                ! // ? Ende
                ! // =============================================================================
                ! client.on('close', function() {
                ! conn = false;
                ! log('Connection to ebusd closed');
                ! });
                ! // =============================================================================
                ! // Funktion aufrufen
                ! // =============================================================================
                ! function getData() {
                ! client.connect(port, host, function() {
                ! if (logging) log('Connected to ebusd on ' + host + ':' + port);
                ! client.write(req + '\n');
                ! if (logging) log('TX-Befehl: "' + req + '" wird gesendet');
                ! });
                ! }
                ! schedule('*/1 * * * *', getData); `
                nun möchte ich diese Abfrage in einer Schleife mit verschiedenen "elementen" durchlaufen. Das bekomme ich nicht hin.

                2017-12-26 05:30:09.286  - info: javascript.0 Start javascript script.js.ebusd.eBus_anfang_2
                2017-12-26 05:30:09.292  - info: javascript.0 script.js.ebusd.eBus_anfang_2: --> Start -> es gibt 3 Elemente
                2017-12-26 05:30:09.294  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 Datenpunkt: eBus.Temperatur.PrEnergySumHwc1 -> Betriebsstunden im Heizbetrieb angelegt
                2017-12-26 05:30:09.294  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.0 function mit Werten : read -f PrEnergySumHwc1 # PrEnergySumHwc1 # Betriebsstunden im Heizbetrieb = aufrufen
                2017-12-26 05:30:09.295  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
                2017-12-26 05:30:09.296  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.0 Verbindungsversuch zu   : RPi2-2:8888
                2017-12-26 05:30:09.297  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 Datenpunkt: eBus.Temperatur.PrEnergyCountHwc1 -> Betriebsstunden angelegt
                2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.1 function mit Werten : read -f PrEnergyCountHwc1 # PrEnergyCountHwc1 # Betriebsstunden = aufrufen
                2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
                2017-12-26 05:30:09.298  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.1 Verbindungsversuch zu   : RPi2-2:8888
                2017-12-26 05:30:09.299  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 Datenpunkt: eBus.Temperatur.HcHours -> Stunden angelegt
                2017-12-26 05:30:09.300  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.2 function mit Werten : read -f HcHours # HcHours # Stunden = aufrufen
                2017-12-26 05:30:09.301  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 0.->function wird abgearbeitet
                2017-12-26 05:30:09.303  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 1.2 Verbindungsversuch zu   : RPi2-2:8888
                2017-12-26 05:30:09.305  - info: javascript.0 script.js.ebusd.eBus_anfang_2: registered 0 subscriptions and 1 schedule
                2017-12-26 05:30:09.308  - info: javascript.0 script.js.ebusd.eBus_anfang_2: :-( .3 Es ist ein Fehler aufgetreten : Error: connect EALREADY 192.168.28.144:8888 - Local (192.168.28.141:45462)
                2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
                2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
                2017-12-26 05:30:09.311  - info: javascript.0 script.js.ebusd.eBus_anfang_2: 4.3 Verbindung geschlossen .
                
                

                Habe mit den Ziffern versucht den Ablauf des Scripts nachzuvollziehen

                Aktueller Stand der noch fehlerhaft ist:

                ! // =============================================================================
                ! // –- 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 element = 'PrEnergySumHwc1'; // Hier Name des element eintragen das abgefragt werden soll
                ! //var elementName = "Betriebsstunden im Heizbetrieb"; // Hier die Bezeichnung für das element eintragen
                ! //var req = 'read -f ' + element; // der Befehl wird zusammengesetzt
                ! //var pfad = 'eBus.Temperatur.'+ element; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                ! // =============================================================================
                ! var net = require('net');
                ! var client = new net.Socket();
                ! // =============================================================================
                ! Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours'];
                ! ElementeNamen = ['Betriebsstunden im Heizbetrieb','Betriebsstunden','Stunden' ];
                ! // =============================================================================
                ! // =============================================================================
                ! // Datenpunkte anlegen und ddie "Elemente" abfragen
                ! // =============================================================================
                ! if (logging) log('–> Start -> es gibt ' + Elemente.length + ' Elemente');
                ! for(var i=0;i <elemente.length;i++) {<br="">var pfad = 'eBus.Temperatur.'+ Elemente__; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                ! createState(pfad, 0, {name: ElementeNamen__});
                ! if (logging) log('0.' + i + ' Datenpunkt: ' + pfad + ' -> ' + ElementeNamen + ' angelegt');
                ! // –- hier dann die function mit werten aufrufen
                ! var req = 'read -f ' + Elemente
                ; // der Befehl wird zusammengesetzt
                ! var ele = Elemente__;
                ! var eleN = ElementeNamen__;
                ! if (logging) log('0.' + i + ' function mit Werten : ' + req + ' # ' + ele + ' # ' + eleN + ' = aufrufen');
                ! readElement(req, ele, eleN);
                ! }
                ! // =============================================================================
                ! // –- function zum Abfragen der Werte
                ! // =============================================================================
                ! function readElement(req, ele, eleN){
                ! if (logging) log('0.->function wird abgearbeitet');
                ! if (logging) log('1.' + i + ' Verbindungsversuch zu : ' + HOST + ':' + PORT);
                ! // =============================================================================
                ! // --- Aufruf --- Verbindungsaufbau und Befehl absetzen
                ! // =============================================================================
                ! client.connect(PORT, HOST, function Verbindungsaufbau(){
                ! if (logging) log('1.' + i + ' Verbindungsaufbau zu : ' + HOST + ':' + PORT);
                ! client.write(req + '\n');
                ! if (logging) log('2.' + i + ' BEFEHL wurde gesendet : ' + req);
                ! });
                ! // =============================================================================
                ! // =============================================================================
                ! // --- Aufruf --- DATEN lesen
                ! // =============================================================================
                ! client.on('data', function(data) {
                ! if (logging) log('3.' + i + ' Daten werden empfangen : ' + data);
                ! client.destroy();
                ! // --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) ---
                ! var datastr = data.toString();
                ! if (logging) log('3a.' + i + ' RX-Daten (String) : ' + datastr);
                ! //------------------------------------------------------------------------------
                ! var databuf = '';
                ! var prev = 0, next;
                ! if (logging) log('3b.' + i + 'Durchlauf : ' + prev);
                ! while ((next = datastr.indexOf('\n\n', prev)) > -1) {
                ! databuf += datastr.substring(prev, next);
                ! if (logging) log('3c.' + i + ' Funktion aufrufen mit : ' + databuf + " als Daten");
                ! //--- SUB-Funktion aufrufen ---
                ! parse(databuf);
                ! databuf = ''; // Datenbuffer leeren
                ! prev = next + 1;
                ! }
                ! databuf += datastr.substring(prev);
                ! client.write('quit\n');
                ! //------------------------------------------------------------------------------
                ! });
                ! // =============================================================================
                ! // =============================================================================
                ! // --- Aufruf --- Verbindungsabbau
                ! // =============================================================================
                ! client.on('close', function Verbindungsabbau() {
                ! if (logging) log('4.' + i + ' Verbindung geschlossen .');
                ! });
                ! // =============================================================================
                ! }
                ! // =============================================================================
                ! // --- SUB-Funktion --- Daten-String aufteilen
                ! // =============================================================================
                ! function parse(data) {
                ! var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
                ! if (logging) log("3d.' + i + ' 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, WertVor); // Werte setzen
                ! if (logging) log('im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
                ! }
                ! }
                ! // =============================================================================
                ! // =============================================================================
                ! // –- Function --- Fehler abfangen und ausgeben
                ! // =============================================================================
                ! client.on('error', function(err) {
                ! if (logging) log(':-( .' + i + ' Es ist ein Fehler aufgetreten : '+ err)
                ! });
                ! // =============================================================================
                ! schedule("1 0 * * *", readElement);
                ___________</elemente.length;i++)> _________Gruß

                Jürgen______ ______Hi,

                habe es mal versucht etwas zu ändern:______

                `// =============================================================================
                // --- 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 element = 'PrEnergySumHwc1'; // Hier Name des element eintragen das abgefragt werden soll
                //var elementName = "Betriebsstunden im Heizbetrieb"; // Hier die Bezeichnung für das element eintragen
                //var req = 'read -f ' + element; // der Befehl wird zusammengesetzt
                //var pfad = 'eBus.Temperatur.'+ element; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                // =============================================================================
                var net = require('net');
                var client = new net.Socket();
                // =============================================================================
                Elemente = ['PrEnergySumHwc1','PrEnergyCountHwc1','HcHours'];
                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++) {/var/pfad="eBus.Temperatur." +/elemente[i];/innerhalb/der/instanz/wo/die/daten/gespeichert/werden/createstate(pfad,/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/-="">' + 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
                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, 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(){
                if (logging) log('1\. Verbindungsaufbau zu : ' + HOST + ':' + PORT);
                });
                // =============================================================================
                
                anlegen();//States anlegen
                
                schedule("* * * * *", readElement);</elemente.length;i++)>`
                
                da ich es aber nicht testen kann, keine Garantie das das geht.
                
                (Ist auch nur dirty zusammen geschrieben von mir)
                
                **~~[b]~~ EDIT: schedule würde ich durch setIntervall ersetzen[/b]**[/i][/i][/i]
                ```___ ` 

                Entwickler vom: - Viessman Adapter
                - Alarm Adapter

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  der_Auge
                  schrieb am zuletzt editiert von
                  #10

                  leider noch mehr Fehlermeldungen und nicht definierte Variablen

                  :cry:

                  Gruß

                  Jürgen

                  Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                  Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                  SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                  Test : DS916+ VM Debian

                  Test : Tinker mit piVCCU

                  1 Antwort Letzte Antwort
                  0
                  • blauholstenB Offline
                    blauholstenB Offline
                    blauholsten
                    Developer
                    schrieb am zuletzt editiert von
                    #11

                    @der_Auge:

                    leider noch mehr Fehlermeldungen und nicht definierte Variablen

                    :cry:

                    Gruß

                    Jürgen `
                    Sorry, kannst du mir den Log Mal schicke

                    Entwickler vom: - Viessman Adapter
                    - Alarm Adapter

                    1 Antwort Letzte Antwort
                    0
                    • blauholstenB Offline
                      blauholstenB Offline
                      blauholsten
                      Developer
                      schrieb am zuletzt editiert von
                      #12

                      @der_Auge:

                      leider noch mehr Fehlermeldungen und nicht definierte Variablen

                      :cry:

                      Gruß

                      Jürgen `

                      Welche variablen waren nicht definiert?

                      element und elementName? Das hatte ich alles so von deinem Code übernommen.

                      Neuer Versuch:

                      `// =============================================================================
                      // --- 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 element = 'PrEnergySumHwc1'; // Hier Name des element eintragen das abgefragt werden soll
                      //var elementName = "Betriebsstunden im Heizbetrieb"; // Hier die Bezeichnung für das element eintragen
                      //var req = 'read -f ' + element; // der Befehl wird zusammengesetzt
                      //var pfad = 'eBus.Temperatur.'+ element; // 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++) {/var/pfad="eBus.Temperatur." +/elemente[i];/innerhalb/der/instanz/wo/die/daten/gespeichert/werden/createstate(pfad,/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/-="">' + 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, 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]
                      

                      Entwickler vom: - Viessman Adapter
                      - Alarm Adapter

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        der_Auge
                        schrieb am zuletzt editiert von
                        #13

                        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

                        Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                        Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                        SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                        Test : DS916+ VM Debian

                        Test : Tinker mit piVCCU

                        1 Antwort Letzte Antwort
                        0
                        • blauholstenB Offline
                          blauholstenB Offline
                          blauholsten
                          Developer
                          schrieb am zuletzt editiert von
                          #14

                          @der_Auge:

                          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.

                          Entwickler vom: - Viessman Adapter
                          - Alarm Adapter

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            der_Auge
                            schrieb am zuletzt editiert von
                            #15

                            @blauholsten:

                            @der_Auge:

                            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 schreiben

                            setState(pfad, WertVor); // Werte setzen

                            die var "pfad" wird nicht mit übergeben?

                            Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                            Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                            SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                            Test : DS916+ VM Debian

                            Test : Tinker mit piVCCU

                            1 Antwort Letzte Antwort
                            0
                            • blauholstenB Offline
                              blauholstenB Offline
                              blauholsten
                              Developer
                              schrieb am zuletzt editiert von
                              #16

                              @der_Auge:

                              @blauholsten:

                              @der_Auge:

                              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 schreiben

                              setState(pfad, WertVor); // Werte setzen

                              die var "pfad" wird nicht mit übergeben? `
                              Bin gleich am pc

                              EDIT:

                              `// =============================================================================
                              // --- 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]
                              

                              Entwickler vom: - Viessman Adapter
                              - Alarm Adapter

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                der_Auge
                                schrieb am zuletzt editiert von
                                #17

                                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

                                Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                                Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                                SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                                Test : DS916+ VM Debian

                                Test : Tinker mit piVCCU

                                1 Antwort Letzte Antwort
                                0
                                • blauholstenB Offline
                                  blauholstenB Offline
                                  blauholsten
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #18

                                  @der_Auge:

                                  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]
                                  

                                  Entwickler vom: - Viessman Adapter
                                  - Alarm Adapter

                                  1 Antwort Letzte Antwort
                                  0
                                  • blauholstenB Offline
                                    blauholstenB Offline
                                    blauholsten
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #19

                                    @der_Auge:

                                    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?

                                    Entwickler vom: - Viessman Adapter
                                    - Alarm Adapter

                                    1 Antwort Letzte Antwort
                                    0
                                    • D Offline
                                      D Offline
                                      der_Auge
                                      schrieb am zuletzt editiert von
                                      #20

                                      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>

                                      Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                                      Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                                      SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                                      Test : DS916+ VM Debian

                                      Test : Tinker mit piVCCU

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        der_Auge
                                        schrieb am zuletzt editiert von
                                        #21

                                        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

                                        Master: DN2820FYKH (4GB) Linux NUC 4.4.0-22-generic #40-Ubuntu x86_64

                                        Slave: Linux RPi2-1 4.1.19-v7+ #858 v4.4.3 # 2.15.1

                                        SQL-DB : Linux DS 3.10.77 #7321 x86_64 synology412+

                                        Test : DS916+ VM Debian

                                        Test : Tinker mit piVCCU

                                        1 Antwort Letzte Antwort
                                        0
                                        • blauholstenB Offline
                                          blauholstenB Offline
                                          blauholsten
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #22

                                          @der_Auge:

                                          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)

                                          Entwickler vom: - Viessman Adapter
                                          - Alarm Adapter

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          683

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe