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.
    • I
      Ingo last edited by

      Herzlichen Dank für deine Antwort.

      Ich hatte den Koppler noch nicht am Raspi, erst mal nur am Laptop und über Putty versucht.

      Ich habe das Teil jetzt an den Raspi angeschlossen und nach der Anleitung von Jürgen im ersten Beitrag folgendes eingegeben:

      sudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl
      
      wget https://github.com/john30/ebusd/releases/download/v3.0/ebusd-3.0_armhf_mqtt1.deb
      
      sudo dpkg -i --force-overwrite ebusd-3.0_armhf_mqtt1.deb
      
      wget https://github.com/john30/ebusd-configuration/releases/download/v2.1.1/ebusd-configuration-2.1.b143f39-de_all.deb
      
      sudo dpkg -i --force-overwrite ebusd-configuration-2.1.b143f39-de_all.deb
      
      ebusd -f -c /tmp --logareas bus --loglevel info -d /dev/ttyUSB0
      
      

      Dabei kamen folgende Meldungen (siehe Bilder).

      Nun bin ich nicht der große Spezialist um dies zu deuten.

      Ich würde mich über Hilfe freuen.

      Grüße Ingo
      1519_1.png
      1519_2.png
      1519_3.png
      1519_4.png

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

        versuche erst mal

        apt update
        apt upgrade -y
        
        

        und dann

        sudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl
        

        oder

        sudo apt-get install mosquitto mosquitto-clients libmodule-pluggable-perl
        

        Gruß

        Jürgen

        1 Reply Last reply Reply Quote 0
        • I
          Ingo last edited by

          ich denke, das hat soweit geklappt.

          Dann nach der Anleitung von der FHEM-Seite das Poti eingestellt, die "AA"´s kriege ich jedoch nicht zu sehen.

          Ist das so wie auf dem Bild schon mal ok ?

          Grüße Ingo
          1519_2017-12-18__17_.png

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

            das sieht doch sehr gut aus.

            genau so soll es sein.

            nun kannst du noch die configuration installieren (wenn du es noch nicht gemacht hast)

            und dann den dienst starten und schauen ob etwas im ioBroker ankommt

            Gruß

            Jürgen

            1 Reply Last reply Reply Quote 0
            • I
              Ingo last edited by

              Ich habe Daten in ioBroker !!!

              Danke für eure Hilfe, werde mich morgen durch den Rest der Anleitung wühlen.

              Hatte mich wegen der fehlenden "AA"`s verrückt gemacht.

              Grüße Ingo
              1519_2017-12-18__18_.png

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

                Cool und willkommen im Club! 🙂 Der_Auge hat alles erklärt.

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

                  Glückwunsch

                  dann können wir ja nun zum nächsten Schritt kommen.

                  = javascript.0

                  Hier mal mein angepasster Script

                  // =============================================================================
                  // Auslesen von Einzelwerten vom eBusd
                  // =============================================================================
                  var root = 'eBus';          // root of state inside 'javascript.0'
                  var host = 'RPi2-2';        // set to your host running ebusd
                  var port = 8888;            // default ebusd port
                  var logging = false;         // "true" oder "false" wenn nicht gewünscht
                  var net  = require('net');  // 
                  var conn = false;
                  // =============================================================================
                  var element = 'FlowTemp';
                  // ebusctl read -f FlowTemp
                  // 51.19;ok
                  var req = 'read -f ' + element;
                  var pfad = 'eBus.Temperatur.'+ element;                  // Pfad innerhalb der Instanz
                  
                  // =============================================================================
                  // Datenpunkte anlegen
                  // =============================================================================
                  createState(pfad, 0, {name: "Vorlauftemperatur" ,rolle: 'value.temperature' ,type: 'string',unit: '°C'});
                  
                  // ----------------------------------------------------------  Start 
                  if (logging) log('1\. Start trying eBus abfrage');
                  var client = new net.Socket();
                  client.connect(port, host, function() {
                      if (logging) log('2\. Connected to ebusd on ' + host + ':' + port);
                          conn = true;
                          client.write(req + '\n');
                      if (logging) log('3\. TX-Befehl: "' + req + '" wird gesendet');
                  });
                  
                  // =============================================================================
                  // Funktion Daten abfragen 
                  // =============================================================================
                  function parse(data) {
                      var arr = data.toString().split(/\r?;/);            // wie viele Werte werden durch ";" getrennt 
                      if (logging) log("Menge  : " + arr.length);
                      var fields = data.toString().split('\;');           // hier wird auf den = getriggert
                          if (logging) log('Felder : ' + fields);
                          if(fields.length > 1) {                         // wenn mehrere Felder gefunden wurden
                            if (logging) log('WertVor : ' + fields[0]);
                            var WertVor =fields[0];
                            if (logging) log("WertNach: " + fields[1]);
                            fields[0] = fields[0].replace(' ','_');
                            if (logging) log("Feld 1 : " + fields[0]);
                            if (logging) log("Feld 2 : " + fields[1]);
                      setState(pfad, WertVor);                            // Werte setzen
                      }
                  }
                  
                  // =============================================================================
                  // Daten abfragen
                  // =============================================================================
                  var databuf = '';
                  client.on('data', function(data) {
                    var prev = 0, next;
                    var datastr = data.toString();
                    if (logging) log("4\. RX-Daten : " + datastr);
                    while ((next = datastr.indexOf('\n\n', prev)) > -1) {
                      databuf += datastr.substring(prev, next);
                      parse(databuf);
                      databuf = '';
                      prev = next + 1;
                    }
                    databuf += datastr.substring(prev);
                      client.write('quit\n');
                  });
                  
                  // =============================================================================
                  // ? Ende
                  // =============================================================================
                  client.on('close', function() {
                      conn = false;
                      log('Connection to ebusd closed');
                  });
                  
                  // =============================================================================
                  // Funktion aufrufen
                  // =============================================================================
                  function getData() {
                    client.connect(port, host, function() {
                      if (logging) log('Connected to ebusd on ' + host + ':' + port);   
                          client.write(req + '\n');
                      if (logging) log('TX-Befehl: "' + req + '" wird gesendet');
                    });
                  }
                  
                  schedule('*/1 * * * *', getData);
                  

                  Vielleicht funktioniert er auch bei euch

                  Gruß

                  Jürgen

                  1 Reply Last reply Reply Quote 0
                  • I
                    Ingo last edited by

                    Moin, Moin,

                    man, ich komme ja kaum nach.

                    Da ich noch nicht so richtig durchsehe, mal eine sicher unqualifizierte Frage:

                    Das Script, kommt das in ioBroker oder auf den Raspi ????

                    Grüße Ingo

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

                      @Ingo:

                      Moin, Moin,

                      man, ich komme ja kaum nach.

                      Da ich noch nicht so richtig durchsehe, mal eine sicher unqualifizierte Frage:

                      Das Script, kommt das in ioBroker oder auf den Raspi ????

                      Grüße Ingo `
                      in ioBroker. Damit werden neue Datenpunkte erzeugt, in denen die Werte im Klartext stehen und die du dann z.B. Speichern kannst um sie als Grafik auszugeben/auszuwerten.

                      1 Reply Last reply Reply Quote 0
                      • I
                        Ingo last edited by

                        Danke für die Hilfe,

                        das Script läuft und hat 1 Datenpunkt angelegt, FlowTemp.

                        Ich habe ja schon einige Datenpunkte, jedoch bei weitem nicht so viele wie ihr.

                        Mir würde für den Anfang ein lesender Zugriff auf Vor- und Rücklauftemperatur, Außentemperatur (sollten schon da sein) und den Wasserdruck reichen.

                        Später dann evtl. auch schreibend die Wunschtemperatur.

                        Ich muß mich mal in Ruhe durch den Trööt wühlen, bin noch nicht dazu gekommen.

                        Grüße Ingo

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

                          Hallo Ingo,

                          aus dem eBus werden nur die Werte gelesen, die auch über den eBus geschickt werden. D.h. du hast einige Werte die immer vorhanden sind. Andere Werte müssen von dir erst mal abgerufen werden und erst dann steh sie dir zur Verfügung. Das wird z.B. so: http://forum.iobroker.net/viewtopic.php … 22#p101558 gemacht.

                          • Also du fragst deine Heizung/hc/hwc/… wie der aktueller Wert in FlowTempMin steht.

                          • Dein Gerät antwortet dir.

                          • Da der Wert über den eBus läuft, wird das durch den mosquitto-client gelesen und an ioBroker geschickt.

                          • Im ioBroker erscheint der Datenpunkt FlowTempMin mit dem dazugehörigen Wert.

                          Welche Werte ausgelesen werden können, kannst du hier sehen: http://forum.iobroker.net/viewtopic.php … 22#p101616

                          Schau dir das mal an und dann können wir die Skripte von der_Auge um die interessante Punkte erweitern.

                          Gruß,

                          a200.

                          1 Reply Last reply Reply Quote 0
                          • I
                            Ingo last edited by

                            Hallo a200,

                            ich glaub, mir geht so sachte ein Lichtlein auf.

                            Vielen Dank,

                            Grüße Ingo

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

                              @Ingo:

                              Mir würde für den Anfang ein lesender Zugriff auf Vor- und Rücklauftemperatur, Außentemperatur (sollten schon da sein) und den Wasserdruck reichen. `

                              @a200:

                              • Also du fragst deine Heizung/hc/hwc/… wie der aktueller Wert in FlowTempMin steht.

                              • Dein Gerät antwortet dir.

                              • Da der Wert über den eBus läuft, wird das durch den mosquitto-client gelesen und an ioBroker geschickt.

                              • Im ioBroker erscheint der Datenpunkt FlowTempMin mit dem dazugehörigen Wert. `

                              wenn dich das mit dem ebusd richtig verstanden habe fragt er bei https://github.com/john30/ebusd/wiki/4. … figuration nach der Version des Senders (vaillant/08.bai.csv)

                              Danach wird ja nach Version eine weitere Datei geladen (vaillant/bai.0010002315.inc)

                              Dort gibt es dann die Objektnamen

                              r,,FlowTemp,d.40 Vorlauftemperatur,,,,"1800",,,tempsensor,,,Vorlauftemperatur
                              r,,ReturnTemp,d.41 Rücklauftemperatur,,,,"9800",,,tempmirrorsensor,,,Rücklauftemperatur
                              ...
                              ...
                              r,,WaterPressure,Wasserdruck,,,,"0200",,,presssensor,,,Wasserdruck
                              
                              

                              Wenn ich diese per script anfrage bekomme ich eine Antwort. Diese kann ich aber "nur" selber in einen Datenpunkt schreiben. Über MQTT kommt der nicht

                              wenn ich auf dem RPi2-2 vom Terminal eine Abfrage starte [ebusctl read -f FlowTemp] wird das über den eBus / MQTT an ioBroker gesendet.

                              Also scheid da noch ein unterschied bei unserer Installation zu sein.

                              Gruß

                              Jürgen

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

                                unsere Unterschiede:

                                Abgefragt mit

                                "ebusctl –port=8888 --server=192.168.28.144 i"

                                Heizung von derAuge:

                                update: 8
                                address 03: master #11
                                address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0204;HW=9602", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
                                address 10: master #2
                                address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0419;HW=4603"
                                address 31: master #8, ebusd
                                address 36: slave #8, ebusd
                                

                                "ebusctl info"

                                Heizung von a200:

                                update: 8
                                address 03: master #11
                                address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0604;HW=5502", loaded "bai.308523.inc", "vaillant/08.bai.csv"
                                address 10: master #2
                                address 15: slave #2, scanned "MF=Vaillant;ID=UI   ;SW=0508;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"
                                
                                1 Reply Last reply Reply Quote 0
                                • A
                                  algermi last edited by

                                  Servus,

                                  mal nee generelle Frage, kann man mit dieser Config nur Werte abfragen oder auch schreibend zugreifen?

                                  LG

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

                                    @algermi:

                                    Servus,

                                    mal nee generelle Frage, kann man mit dieser Config nur Werte abfragen oder auch schreibend zugreifen?

                                    LG `

                                    Das ist noch eine offene Aufgabe.

                                    zB: SollTemp einstellen oder " Tage abwesenheit"

                                    Gruß

                                    Jürgen

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      Ingo last edited by

                                      Hallo, ihr Spezialisten,

                                      ich habe mich jetzt eine ganze Weile in ebusd hineingelesen und auch Verschiedenes ausprobiert.

                                      Es bleiben jedoch zu viele Fragen.

                                      Das Script von der_Auge (Auslesen von Einzelwerten…) habe ich in ioBroker laufen, sollte ja eigentlich einen Datenpunkt "Vorlauftemperatur"

                                      erstellen. Passiert aber nicht, statt dessen gibt es jetzt den Datenpunkt "FlowTemp" mit Wert.

                                      Die Abfrage von "ebusctl find -F circuit,name,comment" liefert sehr viele Daten, wovon ich die wenigsten mit "ebusctl read -f xxxxxxxx"

                                      abfragen kann. Ein Beispiel wäre "Waterpressure".

                                      In ioBroker unter "version" wird "ebusd 3.0.595c7c0" angezeigt. Was ich nicht kapiere, ist das die aktuelle Version ? Und welche csv-Dateien

                                      benötige ich und wie installiere ich diese ?

                                      Anbei ein Screenshot von Objekte.

                                      Grüße und schöne Feiertage

                                      Ingo
                                      1519_objekte.png

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

                                        Hi Ingo,

                                        lass uns das mal langsam durchgehen. 1. Was zeigt denn dein raspi, wenn du

                                        ebusctl info

                                        ausführst?

                                        1 Reply Last reply Reply Quote 0
                                        • I
                                          Ingo last edited by

                                          Hallo a200,

                                          anbei Screenshot.

                                          Danke und Grüße Ingo
                                          1519_ebusctl_info.png

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

                                            ok. d.h. dass deine csv Dateien nicht geladen werden. Hast du sie installiert? Eher nicht.

                                            git clone https://github.com/john30/ebusd-configuration
                                            cd ebusd-configuration
                                            ./make_all.sh
                                            sudo dpkg -i --force-overwrite ebusd-configuration-2.1.XXXXX-de_all.deb
                                            ````Damit werden die csv Dateien an die richtige stelle kopiert.
                                            
                                            Dann ebusd restarten (Notfalls raspi rebooten). Danach sollte bei ebusctl info sowas wie das hier angezeigt werden:
                                            

                                            root@raspberrypi:~# ebusctl info
                                            version: ebusd 3.0pre.cc59b32
                                            signal: acquired
                                            symbol rate: 42
                                            reconnects: 0
                                            masters: 3
                                            messages: 712
                                            conditional: 12
                                            poll: 1
                                            update: 8
                                            address 03: master #11
                                            address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0604;HW=5502", loaded "bai.308523.inc", "vaillant/08.bai.csv"
                                            address 10: master #2
                                            address 15: slave #2, scanned "MF=Vaillant;ID=UI ;SW=0508;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"

                                            
                                            Versuchs es mal. Denn nur dann können deine Geräte erkannt werden.
                                            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

                                            294
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            21
                                            82
                                            37493
                                            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