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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    13
    1
    347

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.3k

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
    #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
                  • D Offline
                    D Offline
                    der_Auge
                    schrieb am zuletzt editiert von
                    #23

                    Hallo zusammen,

                    anbei wie versprochen der Script der nun mehrere Werte vom eBus abfragt

                    var Elemente =

                    var ElementeNamen =

                    müssen angepasst werden.

                    ! ```
                    `// =============================================================================
                    // --- Abfragen von Werten vom "ebusd"
                    // =============================================================================
                    var logging = false; // "true" oder "false" wenn nicht gewünscht
                    var HOST = 'RPi2-2'; // Hostname oder IP-Adresse auf dem der ebusd läuft
                    var PORT = 8888; // Portnummer auf dem der ebusd hört
                    var step = -1;
                    var pfad = 'eBus.Temperatur.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                    // =============================================================================
                    var net = require('net');
                    var client = new net.Socket();
                    // =============================================================================
                    var Elemente = ['dcfState','FlowTemp','HcHours','HwcHours','OutdoorstempSensor','PrEnergyCountHc1','PrEnergyCountHwc1','PrEnergySumHc1','PrEnergySumHwc1','ReturnTemp','PumpHours','PumpHwcFlowNumber','PumpHwcFlowSum','SDFanSpeed','SDTRT','StorageTemp','WaterPressure'];
                    var ElementeNamen = ['','','','','',''];
                    // =============================================================================
                    ! // =============================================================================
                    // Datenpunkte anlegen
                    // =============================================================================
                    function anlegen(){
                    if (logging) log('--------> Start -> es gibt für ' + Elemente.length + ' Elemente einen Datenpunkt anzulegen');
                    for(var i=0;i <elemente.length;i++) {/createstate(pfad/+/elemente[i],/0,/{name:/elementenamen[i]});/if/(logging)/log('0.'/i/'/datenpunkt:/pfad/-="">' + ElementeNamen[i] + ' angelegt');
                    }}
                    // =============================================================================
                    ! // =============================================================================
                    // --- function zum Abfragen der Werte
                    // =============================================================================
                    function readElement(){
                    if (logging) log('--------> Start ->');
                    if (logging) log(' ---> Variable "step" = '+ step + ' für die Anzahle von ' + Elemente.length + ' Elemente');
                    if(Elemente.length < 1){
                    log('keine Elemente zum abfragen');
                    client.destroy();
                    return;
                    }
                    ! if(step < Elemente.length -1){
                    step++ ;
                    if (logging) log('0.'+ step + ' ---> Neue Abfrage --------------------> Durchlauf : ' + step + ' von ' + Elemente.length );
                    // --- hier dann die function mit werten aufrufen
                    var req = 'read -f ' + Elemente[step]; // der Befehl wird zusammengesetzt
                    var ele = Elemente[step];
                    var eleN = ElementeNamen[step];
                    client.write(req + '\n'); // hier wird der Befehl gesendet
                    if (logging) log('1.'+ step + ' BEFEHL wurde gesendet : ' + req);
                    }
                    else{
                    step = -1;
                    if (logging) log('0.'+ step + ' ---> keine weitere Abfrage nötig -----> Fertig');
                    setTimeout(readElement, 60000); //Wenn alle Werte abgefragt sind--> Neustart in 1 Minute

                        return;
                    }
                    

                    }

                    ! // =============================================================================
                    // --- Aufruf --- DATEN lesen
                    // =============================================================================
                    client.on('data', function(data) {
                    // if (logging) log('3 .'+ step + ' Daten werden empfangen : ' + data);
                    // --- die empfangenen Daten werden gewandelt und aufgeteilt (SUB-Funktion) ---
                    var datastr = data.toString();
                    // if (logging) log('3a.'+ step + ' RX-Daten (String) : ' + datastr);
                    //------------------------------------------------------------------------------
                    var databuf = '';
                    var prev = 0, next;
                    if (logging) log('3b.'+ step + ' Durchlauf : ' + step);
                    while ((next = datastr.indexOf('\n\n', prev)) > -1) {
                    databuf += datastr.substring(prev, next);
                    if (logging) log('3c.'+ step + ' Funktion aufrufen mit : ' + databuf + " als Daten");
                    //--- SUB-Funktion aufrufen ---
                    parse(databuf);
                    databuf = ''; // Datenbuffer leeren
                    prev = next + 1;
                    }
                    databuf += datastr.substring(prev);
                    readElement();//Abfragen des nächsten Wertes
                    //------------------------------------------------------------------------------
                    });
                    // =============================================================================
                    ! // =============================================================================
                    // Verbindungsabbau
                    // =============================================================================
                    client.on('close', function(fertig) {
                    if (logging) {
                    if (logging) log('4. -----> Verbindung geschlossen .');
                    client.destroy();
                    }
                    });
                    // =============================================================================
                    ! // =============================================================================
                    // --- SUB-Funktion --- Daten-String aufteilen
                    // =============================================================================
                    function parse(data) {
                    var arr = data.toString().split(/\r?;/); // wie viele Werte werden durch ";" getrennt
                    if (logging) log('3d.'+ step + ' Menge an Daten durch ; getrennt : ' + arr.length);
                    var fields = data.toString().split(';'); // hier wird auf den = getriggert
                    if (logging) log('anzahl an Feldern : ' + fields.length);
                    if(fields.length > 0) { // wenn mehrere Felder gefunden wurden
                    if (logging) log('WertVor : ' + fields[0]);
                    var WertVor =fields[0];
                    if (logging) log("WertNach : " + fields[1]);
                    fields[0] = fields[0].replace(' ','_');
                    if (logging) log("Feld 1 : " + fields[0]);
                    if (logging) log("Feld 2 : " + fields[1]);
                    setState(pfad + Elemente[step], WertVor); // Werte setzen
                    if (logging) log('4.'+ step + ' im Datenpunkt "' +pfad + '" wird "' + WertVor + '" gespeichert');
                    }
                    }
                    // =============================================================================
                    ! // =============================================================================
                    // --- Function --- Fehler abfangen und ausgeben
                    // =============================================================================
                    client.on('error', function(err) {
                    client.destroy();
                    if (logging) log(' Es ist ein Fehler aufgetreten : '+ err);
                    });
                    // =============================================================================
                    ! // =============================================================================
                    // Verbindungsaufbau
                    // =============================================================================
                    client.connect(PORT, HOST, function(){
                    readElement();
                    if (logging) log('1. Verbindungsaufbau zu : ' + HOST + ':' + PORT);
                    ! });
                    // =============================================================================
                    ! anlegen(); //States anlegen
                    ! //setInterval(readElement, 60000);</elemente.length;i++)>`
                    3361_ebus_ergebniss.png [/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
                    • K Offline
                      K Offline
                      Kodak
                      schrieb am zuletzt editiert von
                      #24

                      dummer Frage wie bokommt man das Skript in VIS angezeigt :?

                      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

                      365

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      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