Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. EBus - USB-Adapter # john30/ebusd # Vaillant ecoTEC # VRC 700 # MQTT

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MichaelV last edited by

      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 Reply Last reply Reply Quote 0
      • D
        der_Auge last edited by

        @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

        1 Reply Last reply Reply Quote 0
        • M
          MichaelV last edited by

          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 Reply Last reply Reply Quote 0
          • N
            novadvbs last edited by

            Hallo!

            Tolle Arbeit die ihr da leistet 😄 😄 😄

            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 Reply Last reply Reply Quote 0
            • D
              der_Auge last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • D
                der_Auge last edited by

                @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
                1 Reply Last reply Reply Quote 0
                • blauholsten
                  blauholsten Developer last edited by

                  @novadvbs:

                  ! Hallo!
                  ! Tolle Arbeit die ihr da leistet 😄 😄 😄
                  ! 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.

                  1 Reply Last reply Reply Quote 0
                  • N
                    novadvbs last edited by

                    Hallo!

                    Danke für die Unterstützung 😄 😄 😄 !!!

                    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 😄 😄 😄 😄

                    `// =============================================================================
                    // --- 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 Reply Last reply Reply Quote 0
                    • D
                      der_Auge last edited by

                      @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]

                      1 Reply Last reply Reply Quote 0
                      • N
                        novadvbs last edited by

                        Hallo Jürgen.

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

                        Lg

                        Robin

                        1 Reply Last reply Reply Quote 0
                        • N
                          novadvbs last edited by

                          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 😄

                          LG

                          Robin
                          4953_unbenannt.png

                          1 Reply Last reply Reply Quote 0
                          • D
                            der_Auge last edited by

                            @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 😄

                            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

                            1 Reply Last reply Reply Quote 0
                            • N
                              novadvbs last edited by

                              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 Reply Last reply Reply Quote 0
                              • M
                                mig81 last edited by

                                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 Reply Last reply Reply Quote 0
                                • M
                                  mig81 last edited by

                                  Habe es jetzt auch geschafft meine Heizung auszulesen. 😄 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 Reply Last reply Reply Quote 0
                                  • B
                                    B3ta last edited by

                                    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 Sauer 1 Reply Last reply Reply Quote 0
                                    • S
                                      schubi82 last edited by

                                      Guten Morgen!

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

                                      1 Reply Last reply Reply Quote 0
                                      • Hiltex
                                        Hiltex last edited by

                                        @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?

                                        1 Reply Last reply Reply Quote 0
                                        • Steffen Sauer
                                          Steffen Sauer @B3ta last edited by

                                          @B3ta Hallo.

                                          Ich Probiere ach gerade mit den Skripten rum. Leider bisher ohne erfolg. Die Daten als solche greife ich per MQTT ab. Das hier veröffentlichte Skript zur Einzelabfrage erstellt die Verzeichnisstruktur, holt den Wert ab aber bekommt ihn nicht gespeichert. 😞

                                          18:10:05.727 info javascript.0 (4914) Start javascript script.js.Heizung.eBus.Einzelwert_test
                                          18:10:05.764 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: 1. Start trying eBus abfrage
                                          18:10:05.788 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: registered 0 subscriptions and 1 schedule
                                          18:10:05.793 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: 2. Connected to ebusd on iobroker3:8888
                                          18:10:05.795 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: 3. TX-Befehl: "read -f Hc1FlowTemp" wird gesendet
                                          18:10:06.584 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: 4. RX-Daten : 23
                                          18:10:06.586 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: Menge : 1
                                          18:10:06.587 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: Felder : 23
                                          18:10:06.619 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: 4. RX-Daten : connection closed
                                          18:10:06.620 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: Menge : 1
                                          18:10:06.622 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: Felder : connection closed
                                          18:10:06.637 info javascript.0 (4914) script.js.Heizung.eBus.Einzelwert_test: Connection to ebusd closed
                                          18:10:08.680 info javascript.0 (4914) Stop script script.js.Heizung.eBus.Einzelwert_test

                                          Unter Objekten steht dann immer 0 als Vorlauftemperatur.

                                          Weiß jemand wo der Fehler liegt?

                                          1 Reply Last reply Reply Quote -1
                                          • T
                                            twingo667 last edited by

                                            Hallo Zusammen und ein gutes neues Jahr!

                                            Ich nutze einen Pi3B mit dem eBus Adapter GPIO von John30 und eine Vaillant Multimatic 700f, VRC156 exclusive, 920 gateway.

                                            Der Adapter blinkt grün und orange dauerleuchtet.

                                            eBusD 21.3 ist installiert und die Global Data kommen im mqtt an.

                                            Ich habe auch dei Configs installiert, einmal nach der Anleitung im GitHub und einmal nach der Anleitung weiter oben.

                                            Wenn ich einen checkconfig mache, bekomme ich nur das:

                                            pi@raspberrypi:/etc/ebusd $ sudo ebusd --checkconfig --scanconfig="full"
                                            2022-01-03 14:46:38.101 [main notice] ebusd 21.3.v21.3 performing configuration check...
                                            2022-01-03 14:46:38.313 [main notice] found messages: 11 (0 conditional on 0 conditions, 0 poll, 4 update)
                                            2022-01-03 14:46:38.313 [main notice] ebusd stopped

                                            Der eBUSDaemon startet "einwandfrei" nur ohne Vaillant-Antworten:

                                            pi@raspberrypi:~ $ tail -f /var/log/ebusd.log
                                            2022-01-03 14:30:29.390 [main notice] ebusd 21.3.v21.3 started with auto scan on device /dev/ttyAMA0
                                            2022-01-03 14:30:29.627 [bus notice] bus started with own address 31/36
                                            2022-01-03 14:30:29.635 [mqtt notice] connection established
                                            2022-01-03 14:30:29.654 [bus notice] signal acquired
                                            2022-01-03 14:30:53.024 [bus notice] max. symbols per second: 103
                                            2022-01-03 14:32:12.001 [bus notice] max. symbols per second: 119
                                            2022-01-03 14:32:34.786 [main notice] update check: OK
                                            2022-01-03 14:37:33.773 [main notice] SIGTERM received
                                            2022-01-03 14:37:39.236 [main notice] ebusd stopped
                                            2022-01-03 14:48:22.879 [main notice] ebusd 21.3.v21.3 started with auto scan on device /dev/ttyAMA0
                                            2022-01-03 14:48:23.090 [bus notice] bus started with own address 31/36
                                            2022-01-03 14:48:23.098 [mqtt notice] connection established
                                            2022-01-03 14:48:23.144 [bus notice] signal acquired
                                            2022-01-03 14:48:38.028 [bus notice] max. symbols per second: 109

                                            Was mache ich falsch ?

                                            Danke im Voraus !
                                            Marcus

                                            Dirk99 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            659
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            21
                                            82
                                            37183
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo