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. ioBroker Allgemein
  4. EBus - USB-Adapter # john30/ebusd # Vaillant ecoTEC # VRC 700 # MQTT

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.2k

EBus - USB-Adapter # john30/ebusd # Vaillant ecoTEC # VRC 700 # MQTT

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
82 Beiträge 21 Kommentatoren 44.5k Aufrufe 10 Watching
  • Ä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.
  • N Offline
    N Offline
    NemoN
    schrieb am zuletzt editiert von
    #44

    @a200:

    wir haben ja im Prinzip die gleiche Heizung, folgende Ausgabe bei mir:

    # ebusctl info
    version: ebusd 3.0.v3.0-9-gb9c69f0
    update check: revision v3.0-23-g4c1aefb available, broadcast.csv: different version available, vaillant/hcmode.inc: newer version available, vaillant/hwcmode.inc: newer version available, vaillant/mcmode.inc: newer version available
    access: *
    signal: acquired
    symbol rate: 51
    max symbol rate: 166
    reconnects: 0
    masters: 3
    messages: 740
    conditional: 9
    poll: 1
    update: 11
    address 03: master #11
    address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv"
    address 10: master #2
    address 15: slave #2, scanned "MF=Vaillant;ID=UI   ;SW=0501;HW=6201", loaded "vaillant/15.ui.csv"
    address 23: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/23.solsy.cc.csv"
    address 25: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/25.solsy.hwc.csv"
    address 26: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/26.solsy.hc.csv"
    address 31: master #8, ebusd
    address 36: slave #8, ebusd
    address 50: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/50.solsy.mc.csv"
    address ec: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/ec.solsy.sc.csv"
    
    

    hast du schon die richtigen Datenpunkt für Vor und Rücklauf finden können?

    Bei mir ist der Vorlauf kälter als der Rücklauf, was ja eigentlich nicht sein kann.

    Desweiteren habe ich eine Menge Unknown Broadcasts, ist das bei dir auch so?

    2017-12-25 17:33:01.196 [update notice] update hc SumFlowSensor QQ=10: -13.94;cutoff
    2017-12-25 17:33:01.381 [update notice] update mc Mode QQ=10: 19;auto;0;0;low;mixer;day
    2017-12-25 17:33:01.545 [update notice] unknown MS cmd: 1026b504010d / 05170000800f
    2017-12-25 17:33:01.712 [update notice] update hwc Status QQ=10: 0;off;51.75;55
    2017-12-25 17:33:01.880 [update notice] unknown MS cmd: 10ecb5040121 / 050700043800
    2017-12-25 17:33:02.038 [update notice] update mc RoomTempOffset QQ=10: 0.00
    2017-12-25 17:33:02.799 [update notice] update bai Status01 QQ=10: 35.0;35.0;-;-;-;off
    2017-12-25 17:33:02.956 [update notice] unknown MS cmd: 1050b5050427005a00 / 00
    2017-12-25 17:33:03.238 [update notice] unknown MS cmd: 1025b5040117 / 0101
    2017-12-25 17:33:03.781 [update notice] unknown MS cmd: 1050b505082b0f010000000080 / 00
    2017-12-25 17:33:06.560 [bus notice] poll ui YieldThisYear: 0;0;0;0;0;0;0;0;0;0;0;0
    2017-12-25 17:33:06.795 [update notice] update hc DateTime QQ=10: valid;17:33:07;25.12.2017;7.312
    2017-12-25 17:33:09.848 [update notice] update bai Mode QQ=10: standby
    2017-12-25 17:33:10.839 [update notice] unknown MS cmd: 1008b513020508 / 00
    2017-12-25 17:33:11.649 [update notice] update hwc Mode QQ=10: 55;auto;02;off
    2017-12-25 17:33:13.140 [update notice] update broadcast outsidetemp QQ=10: 7.312
    2017-12-25 17:33:13.651 [bus notice] poll ui YieldThisYear: 0;0;0;0;0;0;0;0;0;0;0;0
    2017-12-25 17:33:13.887 [update notice] update hc currenterror QQ=10: -;-;-;-;-
    2017-12-25 17:33:14.080 [update notice] update bai Status01 QQ=10: 35.0;35.0;-;-;-;off
    2017-12-25 17:33:14.237 [update notice] unknown MS cmd: 1025b5050427005a00 / 00
    2017-12-25 17:33:14.395 [update notice] unknown MS cmd: 1025b5040117 / 0101
    2017-12-25 17:33:14.576 [update notice] unknown MS cmd: 1026b5040101 / 09130300000585000000
    2017-12-25 17:33:14.750 [update notice] unknown MS cmd: 1025b505082b0f010000000080 / 00
    2017-12-25 17:33:18.567 [bus notice] poll ui YieldThisYear: 0;0;0;0;0;0;0;0;0;0;0;0
    2017-12-25 17:33:19.919 [update notice] unknown MS cmd: 10ecb5040121 / 050700043800
    2017-12-25 17:33:20.115 [update notice] update bai Mode QQ=10: standby
    2017-12-25 17:33:20.957 [update notice] unknown MS cmd: 1008b513020508 / 00
    2017-12-25 17:33:21.453 [update notice] unknown MS cmd: 1023b505082b0f010000000080 / 00
    2017-12-25 17:33:21.990 [update notice] update hc SumFlowSensor QQ=10: -13.94;cutoff
    2017-12-25 17:33:22.171 [update notice] unknown MS cmd: 10ecb5040101 / 09000300000207000100
    2017-12-25 17:33:22.337 [update notice] unknown MS cmd: 10ecb504010d / 050000008000
    2017-12-25 17:33:22.507 [update notice] update hwc Status QQ=10: 0;off;51.75;55
    2017-12-25 17:33:23.014 [update notice] update bai Status01 QQ=10: 35.0;35.0;-;-;-;off
    2017-12-25 17:33:23.309 [update notice] unknown MS cmd: 10ecb5050427005a00 / 00
    2017-12-25 17:33:23.589 [update notice] unknown MS cmd: 1025b5040117 / 0101
    2017-12-25 17:33:24.912 [bus notice] poll ui YieldThisYear: 0;0;0;0;0;0;0;0;0;0;0;0
    
    
    1 Antwort Letzte Antwort
    0
    • I Offline
      I Offline
      Ingo
      schrieb am zuletzt editiert von
      #45

      Hallo NemoN,

      Ich habe auch die selbe Heizung wie im Titel der Beiträge.

      Ich kann folgendes auslesen:

      Wasserdruck : Waterpressure

      Vorlauf : FlowTemp

      Rücklauf : ReturnTemp

      Außentemp : OutdoorstempSensor

      sowie einige weitere, die mich aber momentan nicht so interessieren.

      Grüße Ingo

      Brix 3150, Debian, IoBroker

      RPi3 Raspberrymatic, Arduino Mega mit RF-Link 433 MHz, Echo Dot,

      RPi3 Magic Mirror mit View-Wechsel

      Xiaomi Gateway mit div. Sensoren

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        MichaelV
        schrieb am zuletzt editiert von
        #46

        Hi,

        würde mich auch gerne mit an das Thema hängen. Habe aus dem FHEM Forum die ebus Platine 2.0 bestellt und zusammen gebaut. Seit heute hängt sie an der Vaillant GeoTherm und liefert Werte per WLAN an ebusd (läuft auf einem Tinkerboard zusammen mit ioBroker):

        ! root@ioBroker-Tinker:~# ebusctl info
        ! version: ebusd 3.0pre.bbc4d04
        ! update check: version 3.1 available, broadcast.csv: newer version available, vaillant/08.ehp.csv: newer version available, vaillant/15.uih.csv: newer version available, vaillant/23.ehp.cc.csv: newer version available, vaillant/25.ehp.hwc.csv: newer version available, vaillant/50.ehp.mc.csv: newer version available, vaillant/broadcast.csv: different version a
        ! signal: acquired
        ! symbol rate: 69
        ! max symbol rate: 119
        ! min arbitration micros: 41
        ! max arbitration micros: 244
        ! min symbol latency: 5
        ! max symbol latency: 46
        ! reconnects: 0
        ! masters: 3
        ! messages: 638
        ! conditional: 285
        ! poll: 2
        ! update: 56
        ! address 03: master #11
        ! address 08: slave #11, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/08.ehp.csv"
        ! address 10: master #2
        ! address 15: slave #2, scanned "MF=Vaillant;ID=UIH00;SW=0226;HW=6901", loaded "vaillant/15.uih.csv"
        ! address 23: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/23.ehp.cc.csv"
        ! address 25: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/25.ehp.hwc.csv"
        ! address 31: master #8, ebusd
        ! address 36: slave #8, ebusd
        ! address 50: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/50.ehp.mc.csv"

        Nun würde ich die Daten gerne in ioBroker weiterverarbeiten. Verwende dazu die ebusd mqtt Version. Was muss ich denn nun tun, um die Daten in den ioBroker zu bekommen? Nur den MQTT Adapter in ioBroker installieren und als Server mit User/Passwort konfigurieren (und die entsprechenden Parameter in /etc/default/ebusd setzen)?

        Vielen Dank für Eure Hilfe,

        Michael

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

          @MichaelV:

          Hi,

          würde mich auch gerne mit an das Thema hängen. Habe aus dem FHEM Forum die ebus Platine 2.0 bestellt und zusammen gebaut. Seit heute hängt sie an der Vaillant GeoTherm und liefert Werte per WLAN an ebusd (läuft auf einem Tinkerboard zusammen mit ioBroker):

          ! root@ioBroker-Tinker:~# ebusctl info
          ! version: ebusd 3.0pre.bbc4d04
          ! update check: version 3.1 available, broadcast.csv: newer version available, vaillant/08.ehp.csv: newer version available, vaillant/15.uih.csv: newer version available, vaillant/23.ehp.cc.csv: newer version available, vaillant/25.ehp.hwc.csv: newer version available, vaillant/50.ehp.mc.csv: newer version available, vaillant/broadcast.csv: different version a
          ! signal: acquired
          ! symbol rate: 69
          ! max symbol rate: 119
          ! min arbitration micros: 41
          ! max arbitration micros: 244
          ! min symbol latency: 5
          ! max symbol latency: 46
          ! reconnects: 0
          ! masters: 3
          ! messages: 638
          ! conditional: 285
          ! poll: 2
          ! update: 56
          ! address 03: master #11
          ! address 08: slave #11, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/08.ehp.csv"
          ! address 10: master #2
          ! address 15: slave #2, scanned "MF=Vaillant;ID=UIH00;SW=0226;HW=6901", loaded "vaillant/15.uih.csv"
          ! address 23: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/23.ehp.cc.csv"
          ! address 25: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/25.ehp.hwc.csv"
          ! address 31: master #8, ebusd
          ! address 36: slave #8, ebusd
          ! address 50: slave, scanned "MF=Vaillant;ID=EHP00;SW=0344;HW=7201", loaded "vaillant/50.ehp.mc.csv"

          Nun würde ich die Daten gerne in ioBroker weiterverarbeiten. Verwende dazu die ebusd mqtt Version. Was muss ich denn nun tun, um die Daten in den ioBroker zu bekommen? Nur den MQTT Adapter in ioBroker installieren und als Server mit User/Passwort konfigurieren (und die entsprechenden Parameter in /etc/default/ebusd setzen)?

          Vielen Dank für Eure Hilfe,

          Michael `

          Hallo Michael,

          hast du die den Beitrag

          http://forum.iobroker.net/viewtopic.php … 322#p99337

          schon angeschaut?

          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
          • M Offline
            M Offline
            MichaelV
            schrieb am zuletzt editiert von
            #48

            Hallo Jürgen,

            ja, hatte ich gesehen und bin größtenteils danach vorgegangen. Meine Frage bezog sich darauf, ob ich ausser ebusd mqtt und dem MQTT Adapter in ioBroker sonst noch etwas installieren muss.

            Inzwischen läuft es bei mir (es musste sonst nichts installiert werden). Ich hatte 2 Probleme: der MQTT default Port (1883) funktionierte nicht, habe auf 1884 gewechselt und dann kam eine Verbindung zwischen ebusd und dem MQTT Adapter zustande.

            Dann wurden aber keine Daten der Wärmepumpe in ioBroker importiert. Hatte in der ebusd Konfiguration den Parameter -r gesetzt (für nur Daten lesen). Dadurch wurden anscheinend keine Daten mehr zwischen der ebus Platine und ebusd übertragen. Nachdem ich den Parameter rausgenommen hatte und einmal über das Bedienteil der Wärmepumpe mir alle Parameter angezeigt hatte, war auch alles schön im ioBroker.

            Somit kann es jetzt mit dem automatischen Abruf und ggfs dem setzen von Werten in der WP weiter gehen :-)

            Soweit ich es verstanden habe, wird das Script ("Auslesen von Einzelwerten …") dazu genutzt, die Daten bei der Heizung abzufragen damit sie über den ebus kommen und in ioBroker aktualisiert werden? Oder benötigt man das Script nur, um die Werte erstmalig in ioBroker zu importieren?

            Gruß,

            Michael

            1 Antwort Letzte Antwort
            0
            • N Offline
              N Offline
              novadvbs
              schrieb am zuletzt editiert von
              #49

              Hallo!

              Tolle Arbeit die ihr da leistet :D :D :D

              Bin neu hier und wage nun erste Schritte mit dem iobroker, habe bisher die Daten in FHEM dargestellt.

              Ich habe eine Ochsener Wärmepumpe die ich über EBUSD anbinde.

              Habe soweit euer Skript angepasst, bin leider kein Programmierer und kenne mich leider gar nicht mit Skripte aus. :(

              Bei mir werden die Werte in javascript nicht Dargestellt, habt ihr eine Idee woran das liegen kann?

              LG

              Robin
              4953_log.png
              4953_objekte.png
              4953_putty.png
              4953_skripte.png

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

                @MichaelV:

                Soweit ich es verstanden habe, wird das Script ("Auslesen von Einzelwerten …") dazu genutzt, die Daten bei der Heizung abzufragen damit sie über den ebus kommen und in ioBroker aktualisiert werden? Oder benötigt man das Script nur, um die Werte erstmalig in ioBroker zu importieren?

                Gruß,

                Michael `

                Hallo Michael,

                das Script holt jede Minute die Werte vom eBus

                Habe auch ein Script welches mehrere Elemente abfragt : http://forum.iobroker.net/viewtopic.php … 53#p110053

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

                  @novadvbs:

                  Bei mir werden die Werte in javascript nicht Dargestellt, habt ihr eine Idee woran das liegen kann? `

                  Hallo Robin,

                  Willkommen im Forum und bei ioBroker

                  versuche einmal das logging einzuschalten.

                  Die Zeile

                  var logging = false; // "true" oder "false" wenn nicht gewünscht
                  

                  anpassen auf

                  var logging = true; // "true" oder "false" wenn nicht gewünscht
                  

                  Danach bekommst du mehr Informationen im LOG

                  ich nutze eine PUTTY-Session um das log direkt anschauen zu können. (Dann brauche ich nicht immer im Browser hin und her schalten)

                  wenn du dich per SSH (Putty) verbunden hast:

                   tail -f /opt/iobroker/log/iobroker.2018-*
                  ````eingeben.
                  
                  Dann bist du LIVE dabei ;-)
                  
                  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
                    #52

                    @novadvbs:

                    ! Hallo!
                    ! Tolle Arbeit die ihr da leistet :D :D :D
                    ! Bin neu hier und wage nun erste Schritte mit dem iobroker, habe bisher die Daten in FHEM dargestellt.
                    ! Ich habe eine Ochsener Wärmepumpe die ich über EBUSD anbinde.
                    ! Habe soweit euer Skript angepasst, bin leider kein Programmierer und kenne mich leider gar nicht mit Skripte aus. :(
                    ! Bei mir werden die Werte in javascript nicht Dargestellt, habt ihr eine Idee woran das liegen kann?
                    ! LG
                    ! Robin `
                    Hi, habe zwar nicht direkt was mit dem Thema zu tun, aber ich sehe auf Anhieb in deinem Skript keine Anfrage "Elemente".

                    Schau dir bitte die letzte verlinkte Version von der_Auge an.

                    Entwickler vom: - Viessman Adapter
                    - Alarm Adapter

                    1 Antwort Letzte Antwort
                    0
                    • N Offline
                      N Offline
                      novadvbs
                      schrieb am zuletzt editiert von
                      #53

                      Hallo!

                      Danke für die Unterstützung :D :D :D !!!

                      Habe das Neue Skript für die Mehrfach abfrage nun verwendet, es kommen nun auch schon werte an.

                      Aber übersetzt weden sie noch nicht, wenn sie nich als einzellne werte übertragen werden.

                      Anbei der Log und das Skript

                      ps: Ihr seit die Besten :D :D :D :D

                      `// =============================================================================
                      // --- Abfragen von Werten vom "ebusd"
                      // =============================================================================
                      var logging = true; // "true" oder "false" wenn nicht gewünscht
                      var HOST = '192.168.0.137'; // 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.Waermepumpe.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                      // =============================================================================
                      var net = require('net');
                      var client = new net.Socket();
                      // =============================================================================
                      var Elemente = ['wp HZ_energie_kw volume','temperature twv1','temperature twr1','temperature water','temperature outside','wp volumenstrom volume',];
                      var ElementeNamen = ['HZ_energie_kw','HZ_Vorlauf','HZ_ruecklau','Boiler','Aussentemp','WP_volumenstrom'];
                      // =============================================================================
                      
                      // =============================================================================
                      // 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 = 'r -m 1 -c ' + 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++)>`
                      
                      `~~[code]~~10:42:20.368	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:20.368	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 0 für die Anzahle von 6 Elemente
                      10:42:20.368	[info]	javascript.0 script.js.Skript1: 0.1 ---> Neue Abfrage --------------------> Durchlauf : 1 von 6
                      10:42:20.369	[info]	javascript.0 script.js.Skript1: 1.1 BEFEHL wurde gesendet : r -m 1 -c temperature twv1
                      10:42:20.557	[info]	javascript.0 script.js.Skript1: 3b.1 Durchlauf : 1
                      10:42:20.557	[info]	javascript.0 script.js.Skript1: 3c.1 Funktion aufrufen mit : 7;0;0d;02;1000;0;26.5 als Daten
                      10:42:20.558	[info]	javascript.0 script.js.Skript1: 3d.1 Menge an Daten durch ; getrennt : 7
                      10:42:20.558	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:42:20.558	[info]	javascript.0 script.js.Skript1: WertVor : 7
                      10:42:20.559	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:42:20.559	[info]	javascript.0 script.js.Skript1: Feld 1 : 7
                      10:42:20.559	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:42:20.560	[info]	javascript.0 script.js.Skript1: 4.1 im Datenpunkt "eBus.Waermepumpe." wird "7" gespeichert
                      10:42:20.560	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:20.560	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 1 für die Anzahle von 6 Elemente
                      10:42:20.561	[info]	javascript.0 script.js.Skript1: 0.2 ---> Neue Abfrage --------------------> Durchlauf : 2 von 6
                      10:42:20.561	[info]	javascript.0 script.js.Skript1: 1.2 BEFEHL wurde gesendet : r -m 1 -c temperature twr1
                      10:42:20.762	[info]	javascript.0 script.js.Skript1: 3b.2 Durchlauf : 2
                      10:42:20.763	[info]	javascript.0 script.js.Skript1: 3c.2 Funktion aufrufen mit : 8;0;0d;02;1000;0;26.4 als Daten
                      10:42:20.763	[info]	javascript.0 script.js.Skript1: 3d.2 Menge an Daten durch ; getrennt : 7
                      10:42:20.764	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:42:20.764	[info]	javascript.0 script.js.Skript1: WertVor : 8
                      10:42:20.764	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:42:20.765	[info]	javascript.0 script.js.Skript1: Feld 1 : 8
                      10:42:20.765	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:42:20.766	[info]	javascript.0 script.js.Skript1: 4.2 im Datenpunkt "eBus.Waermepumpe." wird "8" gespeichert
                      10:42:20.766	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:20.766	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 2 für die Anzahle von 6 Elemente
                      10:42:20.766	[info]	javascript.0 script.js.Skript1: 0.3 ---> Neue Abfrage --------------------> Durchlauf : 3 von 6
                      10:42:20.767	[info]	javascript.0 script.js.Skript1: 1.3 BEFEHL wurde gesendet : r -m 1 -c temperature water
                      10:42:20.968	[info]	javascript.0 script.js.Skript1: 3b.3 Durchlauf : 3
                      10:42:20.968	[info]	javascript.0 script.js.Skript1: 3c.3 Funktion aufrufen mit : 4;0;0d;02;1000;0;44.4 als Daten
                      10:42:20.970	[info]	javascript.0 script.js.Skript1: 3d.3 Menge an Daten durch ; getrennt : 7
                      10:42:20.971	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:42:20.971	[info]	javascript.0 script.js.Skript1: WertVor : 4
                      10:42:20.972	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:42:20.972	[info]	javascript.0 script.js.Skript1: Feld 1 : 4
                      10:42:20.972	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:42:20.973	[info]	javascript.0 script.js.Skript1: 4.3 im Datenpunkt "eBus.Waermepumpe." wird "4" gespeichert
                      10:42:20.973	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:20.973	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 3 für die Anzahle von 6 Elemente
                      10:42:20.974	[info]	javascript.0 script.js.Skript1: 0.4 ---> Neue Abfrage --------------------> Durchlauf : 4 von 6
                      10:42:20.974	[info]	javascript.0 script.js.Skript1: 1.4 BEFEHL wurde gesendet : r -m 1 -c temperature outside
                      10:42:21.218	[info]	javascript.0 script.js.Skript1: 3b.4 Durchlauf : 4
                      10:42:21.218	[info]	javascript.0 script.js.Skript1: 3c.4 Funktion aufrufen mit : 0;0;0d;02;500;-500;2.9 als Daten
                      10:42:21.219	[info]	javascript.0 script.js.Skript1: 3d.4 Menge an Daten durch ; getrennt : 7
                      10:42:21.219	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:42:21.220	[info]	javascript.0 script.js.Skript1: WertVor : 0
                      10:42:21.220	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:42:21.221	[info]	javascript.0 script.js.Skript1: Feld 1 : 0
                      10:42:21.221	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:42:21.222	[info]	javascript.0 script.js.Skript1: 4.4 im Datenpunkt "eBus.Waermepumpe." wird "0" gespeichert
                      10:42:21.222	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:21.223	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 4 für die Anzahle von 6 Elemente
                      10:42:21.223	[info]	javascript.0 script.js.Skript1: 0.5 ---> Neue Abfrage --------------------> Durchlauf : 5 von 6
                      10:42:21.223	[info]	javascript.0 script.js.Skript1: 1.5 BEFEHL wurde gesendet : r -m 1 -c wp volumenstrom
                      10:42:21.427	[info]	javascript.0 script.js.Skript1: 3b.5 Durchlauf : 5
                      10:42:21.428	[info]	javascript.0 script.js.Skript1: 3c.5 Funktion aufrufen mit : 130;10;0d;34;1000;0;19.7 als Daten
                      10:42:21.428	[info]	javascript.0 script.js.Skript1: 3d.5 Menge an Daten durch ; getrennt : 7
                      10:42:21.429	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:42:21.429	[info]	javascript.0 script.js.Skript1: WertVor : 130
                      10:42:21.429	[info]	javascript.0 script.js.Skript1: WertNach : 10
                      10:42:21.430	[info]	javascript.0 script.js.Skript1: Feld 1 : 130
                      10:42:21.430	[info]	javascript.0 script.js.Skript1: Feld 2 : 10
                      10:42:21.430	[info]	javascript.0 script.js.Skript1: 4.5 im Datenpunkt "eBus.Waermepumpe." wird "130" gespeichert
                      10:42:21.431	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:42:21.431	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 5 für die Anzahle von 6 Elemente
                      10:42:21.431	[info]	javascript.0 script.js.Skript1: 0.-1 ---> keine weitere Abfrage nötig -----> Fertig
                      10:43:21.430	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:21.430	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = -1 für die Anzahle von 6 Elemente
                      10:43:21.431	[info]	javascript.0 script.js.Skript1: 0.0 ---> Neue Abfrage --------------------> Durchlauf : 0 von 6
                      10:43:21.432	[info]	javascript.0 script.js.Skript1: 1.0 BEFEHL wurde gesendet : r -m 1 -c wp HZ_energie_kw volume
                      10:43:21.594	[info]	javascript.0 script.js.Skript1: 3b.0 Durchlauf : 0
                      10:43:21.595	[info]	javascript.0 script.js.Skript1: 3c.0 Funktion aufrufen mit : 654.7 als Daten
                      10:43:21.596	[info]	javascript.0 script.js.Skript1: 3d.0 Menge an Daten durch ; getrennt : 1
                      10:43:21.597	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 1
                      10:43:21.598	[info]	javascript.0 script.js.Skript1: WertVor : 654.7
                      10:43:21.598	[info]	javascript.0 script.js.Skript1: WertNach : undefined
                      10:43:21.599	[info]	javascript.0 script.js.Skript1: Feld 1 : 654.7
                      10:43:21.600	[info]	javascript.0 script.js.Skript1: Feld 2 : undefined
                      10:43:21.601	[info]	javascript.0 script.js.Skript1: 4.0 im Datenpunkt "eBus.Waermepumpe." wird "654.7" gespeichert
                      10:43:21.601	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:21.602	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 0 für die Anzahle von 6 Elemente
                      10:43:21.603	[info]	javascript.0 script.js.Skript1: 0.1 ---> Neue Abfrage --------------------> Durchlauf : 1 von 6
                      10:43:21.604	[info]	javascript.0 script.js.Skript1: 1.1 BEFEHL wurde gesendet : r -m 1 -c temperature twv1
                      10:43:21.819	[info]	javascript.0 script.js.Skript1: 3b.1 Durchlauf : 1
                      10:43:21.820	[info]	javascript.0 script.js.Skript1: 3c.1 Funktion aufrufen mit : 7;0;0d;02;1000;0;26.4 als Daten
                      10:43:21.821	[info]	javascript.0 script.js.Skript1: 3d.1 Menge an Daten durch ; getrennt : 7
                      10:43:21.822	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:43:21.823	[info]	javascript.0 script.js.Skript1: WertVor : 7
                      10:43:21.824	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:43:21.825	[info]	javascript.0 script.js.Skript1: Feld 1 : 7
                      10:43:21.826	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:43:21.827	[info]	javascript.0 script.js.Skript1: 4.1 im Datenpunkt "eBus.Waermepumpe." wird "7" gespeichert
                      10:43:21.828	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:21.832	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 1 für die Anzahle von 6 Elemente
                      10:43:21.833	[info]	javascript.0 script.js.Skript1: 0.2 ---> Neue Abfrage --------------------> Durchlauf : 2 von 6
                      10:43:21.834	[info]	javascript.0 script.js.Skript1: 1.2 BEFEHL wurde gesendet : r -m 1 -c temperature twr1
                      10:43:22.235	[info]	javascript.0 script.js.Skript1: 3b.2 Durchlauf : 2
                      10:43:22.235	[info]	javascript.0 script.js.Skript1: 3c.2 Funktion aufrufen mit : 8;0;0d;02;1000;0;26.3 als Daten
                      10:43:22.236	[info]	javascript.0 script.js.Skript1: 3d.2 Menge an Daten durch ; getrennt : 7
                      10:43:22.236	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:43:22.237	[info]	javascript.0 script.js.Skript1: WertVor : 8
                      10:43:22.237	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:43:22.238	[info]	javascript.0 script.js.Skript1: Feld 1 : 8
                      10:43:22.238	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:43:22.239	[info]	javascript.0 script.js.Skript1: 4.2 im Datenpunkt "eBus.Waermepumpe." wird "8" gespeichert
                      10:43:22.239	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:22.240	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 2 für die Anzahle von 6 Elemente
                      10:43:22.240	[info]	javascript.0 script.js.Skript1: 0.3 ---> Neue Abfrage --------------------> Durchlauf : 3 von 6
                      10:43:22.240	[info]	javascript.0 script.js.Skript1: 1.3 BEFEHL wurde gesendet : r -m 1 -c temperature water
                      10:43:22.427	[info]	javascript.0 script.js.Skript1: 3b.3 Durchlauf : 3
                      10:43:22.427	[info]	javascript.0 script.js.Skript1: 3c.3 Funktion aufrufen mit : 4;0;0d;02;1000;0;44.4 als Daten
                      10:43:22.428	[info]	javascript.0 script.js.Skript1: 3d.3 Menge an Daten durch ; getrennt : 7
                      10:43:22.429	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:43:22.429	[info]	javascript.0 script.js.Skript1: WertVor : 4
                      10:43:22.430	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:43:22.430	[info]	javascript.0 script.js.Skript1: Feld 1 : 4
                      10:43:22.436	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:43:22.437	[info]	javascript.0 script.js.Skript1: 4.3 im Datenpunkt "eBus.Waermepumpe." wird "4" gespeichert
                      10:43:22.437	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:22.437	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 3 für die Anzahle von 6 Elemente
                      10:43:22.438	[info]	javascript.0 script.js.Skript1: 0.4 ---> Neue Abfrage --------------------> Durchlauf : 4 von 6
                      10:43:22.438	[info]	javascript.0 script.js.Skript1: 1.4 BEFEHL wurde gesendet : r -m 1 -c temperature outside
                      10:43:22.637	[info]	javascript.0 script.js.Skript1: 3b.4 Durchlauf : 4
                      10:43:22.638	[info]	javascript.0 script.js.Skript1: 3c.4 Funktion aufrufen mit : 0;0;0d;02;500;-500;3.2 als Daten
                      10:43:22.639	[info]	javascript.0 script.js.Skript1: 3d.4 Menge an Daten durch ; getrennt : 7
                      10:43:22.640	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:43:22.641	[info]	javascript.0 script.js.Skript1: WertVor : 0
                      10:43:22.641	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:43:22.642	[info]	javascript.0 script.js.Skript1: Feld 1 : 0
                      10:43:22.643	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:43:22.643	[info]	javascript.0 script.js.Skript1: 4.4 im Datenpunkt "eBus.Waermepumpe." wird "0" gespeichert
                      10:43:22.644	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:22.645	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 4 für die Anzahle von 6 Elemente
                      10:43:22.645	[info]	javascript.0 script.js.Skript1: 0.5 ---> Neue Abfrage --------------------> Durchlauf : 5 von 6
                      10:43:22.646	[info]	javascript.0 script.js.Skript1: 1.5 BEFEHL wurde gesendet : r -m 1 -c wp volumenstrom
                      10:43:22.840	[info]	javascript.0 script.js.Skript1: 3b.5 Durchlauf : 5
                      10:43:22.841	[info]	javascript.0 script.js.Skript1: 3c.5 Funktion aufrufen mit : 130;10;0d;34;1000;0;19.8 als Daten
                      10:43:22.842	[info]	javascript.0 script.js.Skript1: 3d.5 Menge an Daten durch ; getrennt : 7
                      10:43:22.842	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:43:22.843	[info]	javascript.0 script.js.Skript1: WertVor : 130
                      10:43:22.844	[info]	javascript.0 script.js.Skript1: WertNach : 10
                      10:43:22.845	[info]	javascript.0 script.js.Skript1: Feld 1 : 130
                      10:43:22.850	[info]	javascript.0 script.js.Skript1: Feld 2 : 10
                      10:43:22.851	[info]	javascript.0 script.js.Skript1: 4.5 im Datenpunkt "eBus.Waermepumpe." wird "130" gespeichert
                      10:43:22.852	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:43:22.853	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 5 für die Anzahle von 6 Elemente
                      10:43:22.853	[info]	javascript.0 script.js.Skript1: 0.-1 ---> keine weitere Abfrage nötig -----> Fertig
                      10:44:22.842	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:22.842	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = -1 für die Anzahle von 6 Elemente
                      10:44:22.843	[info]	javascript.0 script.js.Skript1: 0.0 ---> Neue Abfrage --------------------> Durchlauf : 0 von 6
                      10:44:22.843	[info]	javascript.0 script.js.Skript1: 1.0 BEFEHL wurde gesendet : r -m 1 -c wp HZ_energie_kw volume
                      10:44:22.998	[info]	javascript.0 script.js.Skript1: 3b.0 Durchlauf : 0
                      10:44:22.999	[info]	javascript.0 script.js.Skript1: 3c.0 Funktion aufrufen mit : 654.7 als Daten
                      10:44:22.999	[info]	javascript.0 script.js.Skript1: 3d.0 Menge an Daten durch ; getrennt : 1
                      10:44:22.999	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 1
                      10:44:23.000	[info]	javascript.0 script.js.Skript1: WertVor : 654.7
                      10:44:23.000	[info]	javascript.0 script.js.Skript1: WertNach : undefined
                      10:44:23.000	[info]	javascript.0 script.js.Skript1: Feld 1 : 654.7
                      10:44:23.001	[info]	javascript.0 script.js.Skript1: Feld 2 : undefined
                      10:44:23.001	[info]	javascript.0 script.js.Skript1: 4.0 im Datenpunkt "eBus.Waermepumpe." wird "654.7" gespeichert
                      10:44:23.001	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:23.001	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 0 für die Anzahle von 6 Elemente
                      10:44:23.002	[info]	javascript.0 script.js.Skript1: 0.1 ---> Neue Abfrage --------------------> Durchlauf : 1 von 6
                      10:44:23.002	[info]	javascript.0 script.js.Skript1: 1.1 BEFEHL wurde gesendet : r -m 1 -c temperature twv1
                      10:44:23.194	[info]	javascript.0 script.js.Skript1: 3b.1 Durchlauf : 1
                      10:44:23.195	[info]	javascript.0 script.js.Skript1: 3c.1 Funktion aufrufen mit : 7;0;0d;02;1000;0;26.3 als Daten
                      10:44:23.196	[info]	javascript.0 script.js.Skript1: 3d.1 Menge an Daten durch ; getrennt : 7
                      10:44:23.196	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:44:23.196	[info]	javascript.0 script.js.Skript1: WertVor : 7
                      10:44:23.197	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:44:23.197	[info]	javascript.0 script.js.Skript1: Feld 1 : 7
                      10:44:23.197	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:44:23.197	[info]	javascript.0 script.js.Skript1: 4.1 im Datenpunkt "eBus.Waermepumpe." wird "7" gespeichert
                      10:44:23.197	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:23.198	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 1 für die Anzahle von 6 Elemente
                      10:44:23.202	[info]	javascript.0 script.js.Skript1: 0.2 ---> Neue Abfrage --------------------> Durchlauf : 2 von 6
                      10:44:23.202	[info]	javascript.0 script.js.Skript1: 1.2 BEFEHL wurde gesendet : r -m 1 -c temperature twr1
                      10:44:23.398	[info]	javascript.0 script.js.Skript1: 3b.2 Durchlauf : 2
                      10:44:23.399	[info]	javascript.0 script.js.Skript1: 3c.2 Funktion aufrufen mit : 8;0;0d;02;1000;0;26.3 als Daten
                      10:44:23.400	[info]	javascript.0 script.js.Skript1: 3d.2 Menge an Daten durch ; getrennt : 7
                      10:44:23.400	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:44:23.400	[info]	javascript.0 script.js.Skript1: WertVor : 8
                      10:44:23.400	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:44:23.401	[info]	javascript.0 script.js.Skript1: Feld 1 : 8
                      10:44:23.401	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:44:23.401	[info]	javascript.0 script.js.Skript1: 4.2 im Datenpunkt "eBus.Waermepumpe." wird "8" gespeichert
                      10:44:23.401	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:23.402	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 2 für die Anzahle von 6 Elemente
                      10:44:23.402	[info]	javascript.0 script.js.Skript1: 0.3 ---> Neue Abfrage --------------------> Durchlauf : 3 von 6
                      10:44:23.402	[info]	javascript.0 script.js.Skript1: 1.3 BEFEHL wurde gesendet : r -m 1 -c temperature water
                      10:44:24.030	[info]	javascript.0 script.js.Skript1: 3b.3 Durchlauf : 3
                      10:44:24.031	[info]	javascript.0 script.js.Skript1: 3c.3 Funktion aufrufen mit : 4;0;0d;02;1000;0;44.4 als Daten
                      10:44:24.031	[info]	javascript.0 script.js.Skript1: 3d.3 Menge an Daten durch ; getrennt : 7
                      10:44:24.032	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:44:24.032	[info]	javascript.0 script.js.Skript1: WertVor : 4
                      10:44:24.033	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:44:24.033	[info]	javascript.0 script.js.Skript1: Feld 1 : 4
                      10:44:24.034	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:44:24.034	[info]	javascript.0 script.js.Skript1: 4.3 im Datenpunkt "eBus.Waermepumpe." wird "4" gespeichert
                      10:44:24.034	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:24.035	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 3 für die Anzahle von 6 Elemente
                      10:44:24.035	[info]	javascript.0 script.js.Skript1: 0.4 ---> Neue Abfrage --------------------> Durchlauf : 4 von 6
                      10:44:24.035	[info]	javascript.0 script.js.Skript1: 1.4 BEFEHL wurde gesendet : r -m 1 -c temperature outside
                      10:44:24.475	[info]	javascript.0 script.js.Skript1: 3b.4 Durchlauf : 4
                      10:44:24.476	[info]	javascript.0 script.js.Skript1: 3c.4 Funktion aufrufen mit : 0;0;0d;02;500;-500;3.1 als Daten
                      10:44:24.476	[info]	javascript.0 script.js.Skript1: 3d.4 Menge an Daten durch ; getrennt : 7
                      10:44:24.476	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:44:24.477	[info]	javascript.0 script.js.Skript1: WertVor : 0
                      10:44:24.477	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:44:24.478	[info]	javascript.0 script.js.Skript1: Feld 1 : 0
                      10:44:24.478	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:44:24.478	[info]	javascript.0 script.js.Skript1: 4.4 im Datenpunkt "eBus.Waermepumpe." wird "0" gespeichert
                      10:44:24.479	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:24.479	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 4 für die Anzahle von 6 Elemente
                      10:44:24.480	[info]	javascript.0 script.js.Skript1: 0.5 ---> Neue Abfrage --------------------> Durchlauf : 5 von 6
                      10:44:24.480	[info]	javascript.0 script.js.Skript1: 1.5 BEFEHL wurde gesendet : r -m 1 -c wp volumenstrom
                      10:44:24.698	[info]	javascript.0 script.js.Skript1: 3b.5 Durchlauf : 5
                      10:44:24.698	[info]	javascript.0 script.js.Skript1: 3c.5 Funktion aufrufen mit : 130;10;0d;34;1000;0;19.8 als Daten
                      10:44:24.699	[info]	javascript.0 script.js.Skript1: 3d.5 Menge an Daten durch ; getrennt : 7
                      10:44:24.699	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:44:24.700	[info]	javascript.0 script.js.Skript1: WertVor : 130
                      10:44:24.700	[info]	javascript.0 script.js.Skript1: WertNach : 10
                      10:44:24.700	[info]	javascript.0 script.js.Skript1: Feld 1 : 130
                      10:44:24.701	[info]	javascript.0 script.js.Skript1: Feld 2 : 10
                      10:44:24.701	[info]	javascript.0 script.js.Skript1: 4.5 im Datenpunkt "eBus.Waermepumpe." wird "130" gespeichert
                      10:44:24.701	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:44:24.702	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 5 für die Anzahle von 6 Elemente
                      10:44:24.702	[info]	javascript.0 script.js.Skript1: 0.-1 ---> keine weitere Abfrage nötig -----> Fertig
                      10:44:59.534	[info]	javascript.0 Stop script script.js.Skript1
                      10:45:13.007	[info]	javascript.0 Stop script script.js.Skript1
                      10:45:19.634	[info]	javascript.0 Start javascript script.js.Skript1
                      10:45:19.635	[info]	javascript.0 script.js.Skript1: --------> Start -> es gibt für 6 Elemente einen Datenpunkt anzulegen
                      10:45:19.635	[info]	javascript.0 script.js.Skript1: 0.0 Datenpunkt: eBus.Waermepumpe. -> HZ_energie_kw angelegt
                      10:45:19.636	[info]	javascript.0 script.js.Skript1: 0.1 Datenpunkt: eBus.Waermepumpe. -> HZ_Vorlauf angelegt
                      10:45:19.636	[info]	javascript.0 script.js.Skript1: 0.2 Datenpunkt: eBus.Waermepumpe. -> HZ_ruecklau angelegt
                      10:45:19.636	[info]	javascript.0 script.js.Skript1: 0.3 Datenpunkt: eBus.Waermepumpe. -> Boiler angelegt
                      10:45:19.637	[info]	javascript.0 script.js.Skript1: 0.4 Datenpunkt: eBus.Waermepumpe. -> Aussentemp angelegt
                      10:45:19.637	[info]	javascript.0 script.js.Skript1: 0.5 Datenpunkt: eBus.Waermepumpe. -> WP_volumenstrom angelegt
                      10:45:19.637	[info]	javascript.0 script.js.Skript1: registered 0 subscriptions and 0 schedules
                      10:45:19.638	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:19.638	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = -1 für die Anzahle von 6 Elemente
                      10:45:19.638	[info]	javascript.0 script.js.Skript1: 0.0 ---> Neue Abfrage --------------------> Durchlauf : 0 von 6
                      10:45:19.639	[info]	javascript.0 script.js.Skript1: 1.0 BEFEHL wurde gesendet : r -m 1 -c wp HZ_energie_kw volume
                      10:45:19.639	[info]	javascript.0 script.js.Skript1: 1\. Verbindungsaufbau zu : 192.168.0.137:8888
                      10:45:19.775	[info]	javascript.0 script.js.Skript1: 3b.0 Durchlauf : 0
                      10:45:19.776	[info]	javascript.0 script.js.Skript1: 3c.0 Funktion aufrufen mit : 654.7 als Daten
                      10:45:19.776	[info]	javascript.0 script.js.Skript1: 3d.0 Menge an Daten durch ; getrennt : 1
                      10:45:19.776	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 1
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: WertVor : 654.7
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: WertNach : undefined
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: Feld 1 : 654.7
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: Feld 2 : undefined
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: 4.0 im Datenpunkt "eBus.Waermepumpe." wird "654.7" gespeichert
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:19.777	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 0 für die Anzahle von 6 Elemente
                      10:45:19.778	[info]	javascript.0 script.js.Skript1: 0.1 ---> Neue Abfrage --------------------> Durchlauf : 1 von 6
                      10:45:19.778	[info]	javascript.0 script.js.Skript1: 1.1 BEFEHL wurde gesendet : r -m 1 -c temperature twv1
                      10:45:19.971	[info]	javascript.0 script.js.Skript1: 3b.1 Durchlauf : 1
                      10:45:19.971	[info]	javascript.0 script.js.Skript1: 3c.1 Funktion aufrufen mit : 7;0;0d;02;1000;0;26.3 als Daten
                      10:45:19.971	[info]	javascript.0 script.js.Skript1: 3d.1 Menge an Daten durch ; getrennt : 7
                      10:45:19.972	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:45:19.972	[info]	javascript.0 script.js.Skript1: WertVor : 7
                      10:45:19.972	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:45:19.972	[info]	javascript.0 script.js.Skript1: Feld 1 : 7
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: 4.1 im Datenpunkt "eBus.Waermepumpe." wird "7" gespeichert
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 1 für die Anzahle von 6 Elemente
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: 0.2 ---> Neue Abfrage --------------------> Durchlauf : 2 von 6
                      10:45:19.973	[info]	javascript.0 script.js.Skript1: 1.2 BEFEHL wurde gesendet : r -m 1 -c temperature twr1
                      10:45:20.173	[info]	javascript.0 script.js.Skript1: 3b.2 Durchlauf : 2
                      10:45:20.174	[info]	javascript.0 script.js.Skript1: 3c.2 Funktion aufrufen mit : 8;0;0d;02;1000;0;26.2 als Daten
                      10:45:20.174	[info]	javascript.0 script.js.Skript1: 3d.2 Menge an Daten durch ; getrennt : 7
                      10:45:20.174	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:45:20.174	[info]	javascript.0 script.js.Skript1: WertVor : 8
                      10:45:20.174	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: Feld 1 : 8
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: 4.2 im Datenpunkt "eBus.Waermepumpe." wird "8" gespeichert
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 2 für die Anzahle von 6 Elemente
                      10:45:20.175	[info]	javascript.0 script.js.Skript1: 0.3 ---> Neue Abfrage --------------------> Durchlauf : 3 von 6
                      10:45:20.176	[info]	javascript.0 script.js.Skript1: 1.3 BEFEHL wurde gesendet : r -m 1 -c temperature water
                      10:45:20.378	[info]	javascript.0 script.js.Skript1: 3b.3 Durchlauf : 3
                      10:45:20.378	[info]	javascript.0 script.js.Skript1: 3c.3 Funktion aufrufen mit : 4;0;0d;02;1000;0;44.4 als Daten
                      10:45:20.379	[info]	javascript.0 script.js.Skript1: 3d.3 Menge an Daten durch ; getrennt : 7
                      10:45:20.379	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:45:20.379	[info]	javascript.0 script.js.Skript1: WertVor : 4
                      10:45:20.380	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:45:20.380	[info]	javascript.0 script.js.Skript1: Feld 1 : 4
                      10:45:20.380	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:45:20.381	[info]	javascript.0 script.js.Skript1: 4.3 im Datenpunkt "eBus.Waermepumpe." wird "4" gespeichert
                      10:45:20.381	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:20.381	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 3 für die Anzahle von 6 Elemente
                      10:45:20.382	[info]	javascript.0 script.js.Skript1: 0.4 ---> Neue Abfrage --------------------> Durchlauf : 4 von 6
                      10:45:20.382	[info]	javascript.0 script.js.Skript1: 1.4 BEFEHL wurde gesendet : r -m 1 -c temperature outside
                      10:45:20.586	[info]	javascript.0 script.js.Skript1: 3b.4 Durchlauf : 4
                      10:45:20.588	[info]	javascript.0 script.js.Skript1: 3c.4 Funktion aufrufen mit : 0;0;0d;02;500;-500;3.1 als Daten
                      10:45:20.588	[info]	javascript.0 script.js.Skript1: 3d.4 Menge an Daten durch ; getrennt : 7
                      10:45:20.588	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 7
                      10:45:20.589	[info]	javascript.0 script.js.Skript1: WertVor : 0
                      10:45:20.589	[info]	javascript.0 script.js.Skript1: WertNach : 0
                      10:45:20.589	[info]	javascript.0 script.js.Skript1: Feld 1 : 0
                      10:45:20.592	[info]	javascript.0 script.js.Skript1: Feld 2 : 0
                      10:45:20.593	[info]	javascript.0 script.js.Skript1: 4.4 im Datenpunkt "eBus.Waermepumpe." wird "0" gespeichert
                      10:45:20.593	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:20.593	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 4 für die Anzahle von 6 Elemente
                      10:45:20.594	[info]	javascript.0 script.js.Skript1: 0.5 ---> Neue Abfrage --------------------> Durchlauf : 5 von 6
                      10:45:20.594	[info]	javascript.0 script.js.Skript1: 1.5 BEFEHL wurde gesendet : r -m 1 -c wp volumenstrom volume
                      10:45:20.830	[info]	javascript.0 script.js.Skript1: 3b.5 Durchlauf : 5
                      10:45:20.831	[info]	javascript.0 script.js.Skript1: 3c.5 Funktion aufrufen mit : 19.8 als Daten
                      10:45:20.831	[info]	javascript.0 script.js.Skript1: 3d.5 Menge an Daten durch ; getrennt : 1
                      10:45:20.832	[info]	javascript.0 script.js.Skript1: anzahl an Feldern : 1
                      10:45:20.832	[info]	javascript.0 script.js.Skript1: WertVor : 19.8
                      10:45:20.832	[info]	javascript.0 script.js.Skript1: WertNach : undefined
                      10:45:20.833	[info]	javascript.0 script.js.Skript1: Feld 1 : 19.8
                      10:45:20.833	[info]	javascript.0 script.js.Skript1: Feld 2 : undefined
                      10:45:20.833	[info]	javascript.0 script.js.Skript1: 4.5 im Datenpunkt "eBus.Waermepumpe." wird "19.8" gespeichert
                      10:45:20.834	[info]	javascript.0 script.js.Skript1: --------> Start ->
                      10:45:20.834	[info]	javascript.0 script.js.Skript1: ---> Variable "step" = 5 für die Anzahle von 6 Elemente
                      10:45:20.834	[info]	javascript.0 script.js.Skript1: 0.-1 ---> keine weitere Abfrage nötig -----> Fertig
                      10:46:01.036	[info]	javascript.0 Stop script script.js.Skript1
                      10:47:26.259	[info]	javascript.0 Start javascript script.js.Skript1
                      10:47:26.259	[info]	javascript.0 script.js.Skript1: --------> Start -> es gibt für 6 Elemente einen Datenpunkt anzulegen
                      10:47:26.259	[info]	javascript.0 script.js.Skript1: 0.0 Datenpunkt: eBus.Waermepumpe. -> HZ_energie_kw angelegt
                      10:47:26.259	[info]	javascript.0 script.js.Skript1: 0.1 Datenpunkt: eBus.Waermepumpe. -> HZ_Vorlauf angelegt
                      10:47:26.260	[info]	javascript.0 script.js.Skript1: 0.2 Datenpunkt: eBus.Waermepumpe. -> HZ_ruecklau angelegt
                      10:47:26.260	[info]	javascript.0 script.js.Skript1: 0.3 Datenpunkt: eBus.Waermepumpe. -> Boiler angelegt
                      10:47:26.260	[info]	javascript.0 script.js.Skript1: 0.4 Datenpunkt: eBus.Waermepumpe. -> Aussentemp angelegt
                      10:47:26.260	[info]	javascript.0 script.js.Skript1: 0.5 Datenpunkt: eBus.Waermepumpe. -> WP_volumenstrom angelegt
                      10:47:26.260	[info]	javascript.0 script.js.Skript1: registered 0 subscriptions and 0 schedules
                      10:47:26.261	[info]	javascript.0 script.js.Skript1: --------> Start ->[/code]`
                      LG
                      
                      Robin
                        [4953_op.png](/assets/uploads/files/4953_op.png)  [/i][/i][/i]
                      
                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        der_Auge
                        schrieb am zuletzt editiert von
                        #54

                        @novadvbs:

                        Hallo!

                        Habe das Neue Skript für die Mehrfach abfrage nun verwendet, es kommen nun auch schon werte an.

                        Aber übersetzt weden sie noch nicht, wenn sie nich als einzellne werte übertragen werden. ` Das stimmt.

                        in diesem Script wird nur der erste Wert eingetragen.

                        Hintergrund: Bei meiner Heizung bekomme ich immer nur Einzelwerte.

                        wenn du aller aufgelisteten Werte speichern möchtest müssen diese in der Routine ausgewertet werden. Das ist (zur Zeit) nicht der Fall.

                        Dafür gibt es auch einen Script

                        ! ```
                        `//------------------------------------------------------------------------
                        // --- Quelle = http://forum.iobroker.net/viewtopic.php?f=23&t=4205#p42405
                        // --- Autor = Hoich
                        // -----------------------------------------------------------------------
                        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 net = require('net');
                        ! log('trying');

                        var req = 'info';

                        ! createState('eBus.info');
                        ! var run=1;
                        function parse(data) {
                        log("run: " + run);
                        var arr = data.toString().split(/\r?\n/);
                        for(var i = 0; i <arr.length; i++)/{/var/line="arr[i];" fields="line.split(':" ');/if(fields.length="">1) {
                        log('Field=' + fields[0] + " Value=" + fields[1]);
                        fields[0] = fields[0].replace(' ','_');
                        if(run==1) {
                        createState('eBus.info' + '.' + fields[0], fields[1]);
                        } else if (run==2) {
                        var subfields = fields[1].split(', ');
                        var tmp = subfields[0].split('#');
                        var master = tmp[1];
                        createState('eBus.info' + '.' + master);
                        if(/^scanned/.test(subfields[1])) {
                        tmp = subfields[1].replace('scanned "', '');
                        tmp = tmp.replace('"', '');
                        tmp = tmp.split(';');
                        for(var j=0; j <tmp.length;j++) {/var/subfields2="tmp[j].split('=');" createstate('ebus.info'/+/'.'/master/subfields2[0],/subfields2[1]);/}/else/log('not/enough/fields:/'/line);/run++;/client="new" net.socket();/client.connect(port,/host,/function()/log('connected/to/ebusd/on/host/':'/port);/log('befehl/:/"'/req/'\n'/'"/wird/gesendet');/client.write(req/'\n');/});/databuf/;/client.on('data',/function(data)/prev="0," next;/datastr="data.toString();" 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');
                        });
                        ! client.on('close', function() {
                        log('Connection to ebusd closed');
                        });</tmp.length;j++)></arr.length;> ! Der bringt dann folgende Auswertung: ! >! ~~[spoiler]~~~~[code]~~2018-01-04 11:26:44.391 - info: javascript.0 Start javascript script.js.ebusd.eBus_info
                        2018-01-04 11:26:44.397 - info: javascript.0 script.js.ebusd.eBus_info: trying
                        2018-01-04 11:26:44.401 - info: javascript.0 script.js.ebusd.eBus_info: registered 0 subscriptions and 0 schedules
                        2018-01-04 11:26:44.412 - info: javascript.0 script.js.ebusd.eBus_info: Connected to ebusd on RPi2-2:8888
                        2018-01-04 11:26:44.413 - info: javascript.0 script.js.ebusd.eBus_info: Befehl : "info
                        " wird gesendet
                        2018-01-04 11:26:44.422 - info: javascript.0 script.js.ebusd.eBus_info: run: 1
                        2018-01-04 11:26:44.423 - info: javascript.0 script.js.ebusd.eBus_info: Field=version Value=ebusd 3.0.595c7c0
                        2018-01-04 11:26:44.425 - info: javascript.0 script.js.ebusd.eBus_info: Field=update check Value=version 3.1 available, broadcast.csv
                        2018-01-04 11:26:44.426 - info: javascript.0 script.js.ebusd.eBus_info: Field=access Value=*
                        2018-01-04 11:26:44.426 - info: javascript.0 script.js.ebusd.eBus_info: Field=signal Value=acquired
                        2018-01-04 11:26:44.427 - info: javascript.0 script.js.ebusd.eBus_info: Field=symbol rate Value=24
                        2018-01-04 11:26:44.427 - info: javascript.0 script.js.ebusd.eBus_info: Field=max symbol rate Value=150
                        2018-01-04 11:26:44.427 - info: javascript.0 script.js.ebusd.eBus_info: Field=reconnects Value=0
                        2018-01-04 11:26:44.428 - info: javascript.0 script.js.ebusd.eBus_info: Field=masters Value=3
                        2018-01-04 11:26:44.428 - info: javascript.0 script.js.ebusd.eBus_info: Field=messages Value=213
                        2018-01-04 11:26:44.428 - info: javascript.0 script.js.ebusd.eBus_info: Field=conditional Value=3
                        2018-01-04 11:26:44.429 - info: javascript.0 script.js.ebusd.eBus_info: Field=poll Value=1
                        2018-01-04 11:26:44.429 - info: javascript.0 script.js.ebusd.eBus_info: Field=update Value=8
                        2018-01-04 11:26:44.429 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 03 Value=master #11
                        2018-01-04 11:26:44.430 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 08 Value=slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0204;HW=9602", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
                        2018-01-04 11:26:44.430 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 10 Value=master #2
                        2018-01-04 11:26:44.430 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 15 Value=slave #2, scanned "MF=Vaillant;ID=70000;SW=0419;HW=4603", loaded "vaillant/15.700.csv"
                        2018-01-04 11:26:44.431 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 31 Value=master #8, ebusd
                        2018-01-04 11:26:44.432 - info: javascript.0 script.js.ebusd.eBus_info: Field=address 36 Value=slave #8, ebusd
                        2018-01-04 11:26:44.442 - info: javascript.0 script.js.ebusd.eBus_info: run: 2
                        2018-01-04 11:26:44.458 - info: javascript.0 script.js.ebusd.eBus_info: Connection to ebusd closed
                        [/code]`[/spoiler]
                        ! Bei der Mehfachabfrage habe ich mit auf die Umsetzung der Einzel-Elemente konzentriert
                        ! Gruß
                        ! Jürgen[/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
                        • N Offline
                          N Offline
                          novadvbs
                          schrieb am zuletzt editiert von
                          #55

                          Hallo Jürgen.

                          Ich würde nur jeweils den letzten Wert benötigen.

                          Lg

                          Robin

                          1 Antwort Letzte Antwort
                          0
                          • N Offline
                            N Offline
                            novadvbs
                            schrieb am zuletzt editiert von
                            #56

                            Hallo Jürgen.

                            habe einwenig im skript herumprobiert, funktioniert nun das feld 7 angezeigt wird.

                            ob das nun sauber programiert ist entzieht sich meiner kenntniss :D

                            LG

                            Robin
                            4953_unbenannt.png

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

                              @novadvbs:

                              Hallo Jürgen.

                              habe einwenig im skript herumprobiert, funktioniert nun das feld 7 angezeigt wird.

                              ob das nun sauber programiert ist entzieht sich meiner kenntniss :D

                              LG

                              Robin `

                              Hi Robin,

                              das sieht doch gut aus (Bis auf den einen Dreher im LOG)

                              Schön das du den Script verstanden hast. TOP

                              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
                              • N Offline
                                N Offline
                                novadvbs
                                schrieb am zuletzt editiert von
                                #58

                                Hallo Jürgen.

                                Das programmieren lernen dauert :(

                                welchen dreher meinst du?

                                Gibt es eine möglichkeit, die Daten im Skrip per UDP weiterzuleiten.

                                Ich habe einen Loxone Miniserver der UDP Daten emfängt.

                                In FHEM habe ich die Daten mit EBUSD eingelesen und per UDP weitergeleitet.

                                Habe einen code gefunden der mir das Wort "Hello" in einem eigenen Skript an den Miniserver schickt.

                                aber wie ich den in dein Skript einbauen kann verstehe ich noch nicht.

                                var dgram = require('dgram');
                                var message = ('Hello');
                                var client = dgram.createSocket('udp4');
                                client.send(message, 0, message.length, 1234,'192.168.0.2', function(err, bytes) {
                                        if (err) throw err;
                                        client.close();
                                });
                                

                                LG

                                Robin

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mig81
                                  schrieb am zuletzt editiert von
                                  #59

                                  Hallo, habt ihr den EBus auf dem selben Raspberry laufen wo auch ioBroker läuft?

                                  Oder brauche dafür ein separaten Raspberry?

                                  Ich habe mir jetzt auch den USB EBus-Adapter von Esera bestellt und hoffe das ich damit meine Vaillant VRC420 Heizung auslesen kann.

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mig81
                                    schrieb am zuletzt editiert von
                                    #60

                                    Habe es jetzt auch geschafft meine Heizung auszulesen. :D bekomme jetzt von meine Vaillant Therme jede menge Werte.

                                    Ich habe von Wolf noch ein SM1 Solarmodul parallel an den Bus- Adapter angeschlossen.

                                    Ebusd erkennt auch das Modul mit dem Namen "Kromschroeder" nur dazu keine cfg Datei geladen?

                                    Oder es wird nicht richtig erkannt.

                                    Hat jemand evtl eine Idee? :roll:

                                    root@All-in-One-Pi:/home/pi# ebusctl info

                                    version: ebusd 3.0.595c7c0

                                    update check: version 3.1 available, broadcast.csv: newer version available, vaillant/08.bai.csv: newer version available, vaillant/bai.308523.inc: newer version available, vaillant/broadcast.csv: different version available, vaillant/errors.inc: newer version available, vaillant/hcmode.inc: newer version available

                                    access: *

                                    signal: acquired

                                    symbol rate: 20

                                    max symbol rate: 187

                                    reconnects: 0

                                    masters: 5

                                    messages: 217

                                    conditional: 3

                                    poll: 0

                                    update: 8

                                    address 03: master #11

                                    address 07: master #16

                                    address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0518;HW=7401", loaded "vaillant/bai.308523.inc" ([PROD='0010004276']), "vaillant/08.bai.csv"

                                    address 0c: slave #16

                                    address 10: master #2

                                    address 15: slave #2, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002"

                                    address 26: slave, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002"

                                    address 31: master #8, ebusd

                                    address 36: slave #8, ebusd

                                    address 71: master #9

                                    address 76: slave #9, scanned "MF=Kromschroeder;ID= ;SW=0227;HW=-"

                                    1 Antwort Letzte Antwort
                                    0
                                    • B Offline
                                      B Offline
                                      B3ta
                                      schrieb am zuletzt editiert von
                                      #61

                                      Hallo Leutz

                                      Ich habe da mal paar fragen.

                                      Aber vorab. Ich habe ein EBusd RPi laufen und ein RPI mit Iobroker beides läuft wie gewollt. Es funktioniert auch alle werte die ich haben möchte mir im Iobroker anzeigen zu lassen mit hilfe dieses javascripts. Ist hier aus dem Forum.

                                      `// =============================================================================
                                      // --- Abfragen von Werten vom "ebusd"
                                      // =============================================================================
                                      var logging = false; // "true" oder "false" wenn nicht gewünscht
                                      var HOST = '192.168.2.xxx'; // 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.430.'; // Pfad innerhalb der Instanz wo die Daten gespeichert werden
                                      // =============================================================================
                                      var net = require('net');
                                      var client = new net.Socket();
                                      // =============================================================================
                                      var Elemente = ['DisplayedRoomTemp','Hc1OPMode','Hc1HeatCurve','Hc1ManualOPRoomTempDesired','Hc1QuickVetoTemp','HwcOPMode','HwcQuickVetoTemp','HwcManualOPTempDesired','DisplayedHwcStorageTemp','Hc1ActualFlowTempDesired','BMUFlowTempOrVF1'];
                                      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, 20000); //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</elemente.length;i++)>` 
                                      
                                      Zudem ist es mir auch möglich auf dem RPi mit dem EBus werte zu ändern.
                                      
                                      Nun zu meinen fragen...
                                      
                                      Kann man das Script ändern das es nur noch was schickt ohne auf Antwort zu warten oder geht es irgendwie auch über Blockly.
                                      
                                      Bin absolut nicht Javascript fähig und Blockly schlag ich mich irgendwie durch.
                                      
                                      Oder gibt es da noch einen einfacheren weg den ich nur nicht kenne , wie z.b. vom Rpi Iobroker per ssh den befehl auf den Rpi Ebusd zu schicken.
                                      
                                      Würde mich über hilfe echt freuen.[/i][/i][/i]
                                      
                                      Steffen SauerS 1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        schubi82
                                        schrieb am zuletzt editiert von
                                        #62

                                        Guten Morgen!

                                        Könnte man die Werte nicht auch über das Internetkommunikationsmodul VR900/VR920 auslesen/schreiben? Kann die App ja schließlich auch…

                                        1 Antwort Letzte Antwort
                                        0
                                        • HiltexH Offline
                                          HiltexH Offline
                                          Hiltex
                                          schrieb am zuletzt editiert von
                                          #63

                                          @schubi82:

                                          Guten Morgen!

                                          Könnte man die Werte nicht auch über das Internetkommunikationsmodul VR900/VR920 auslesen/schreiben? Kann die App ja schließlich auch… `

                                          Diese Frage würde ich gern nochmal aufgreifen.

                                          Ich selbst besitze eine auroCOMPACT und möchte die jetzt auch anbinden. Ich bin mir nicht sicher, ob sich der Aufpreis des VR920 (ca. 300€) gegenüber dem eBus-Koppler (80-130€) wirklich lohnt. Allerdings ist der VR920 ja der offizielle Vaillant-Weg.

                                          Findet sich vielleicht jemand, der das beantworten kann?

                                          Blog: indibit.de

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          881

                                          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