Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Frage] Realisierung Adapter UDP Keba Wallbox

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Frage] Realisierung Adapter UDP Keba Wallbox

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

      Hallo ehome

      Ich hab mich mal im Blind-Programmieren versucht ;-). Kannst du bitte den folgenden Adapter manuell installieren (Katzen-Symbol (3. von links) im "Adapters"-Reiter) indem du bei "Custom" die folgende URL eingibst?

      https://github.com/UncleSamSwiss/ioBroker.kecontact
      

      Danach kannst du eine Instanz erstellen und dort bitte das Log-Level (in der Liste im Experten-Modus) auf "Debug" stellen.

      Einige Informationen zur Installation und zu den Parametern findest du hier:

      https://github.com/UncleSamSwiss/ioBroker.kecontact

      Der Adapter macht im Moment nichts, ausser sich mit dem KeContact zu verbinden und die empfangenen Daten im ioBroker-Log zu speichern.

      Wenn der Adapter läuft, kannst du mir bitte dein ioBroker-Log zukommen lassen (entweder hier posten oder per PM). Sobald ich dein Feedback habe, werde ich versuchen, die restliche Funktionalität einzubauen und irgendwann dann auch einen ersten Release des Adapters machen.

      /UncleSam

      1 Reply Last reply Reply Quote 0
      • E
        ehome last edited by

        wie geil ist das denn ????

        erst wird einem bei der Skripterstellung geholfen bis der Arzt kommt - und nun baut jemand einen Adapter 😄 😄 😄 😄

        Sehr schön!!!

        Also, Adapter ließ sich problemlos installieren und konfigurieren.

        Log nach Start:

        kecontact.0	2017-06-11 20:04:59.325	warn	Error handling message: SyntaxError: Unexpected token :
        kecontact.0	2017-06-11 20:04:59.293	warn	UDP socket error: Error: bind EADDRINUSE 192.168.0.2:7090
        kecontact.0	2017-06-11 20:04:59.290	warn	UDP socket error: Error: bind EADDRINUSE 127.0.0.1:7090
        kecontact.0	2017-06-11 20:04:59.251	info	starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
        kecontact.0	2017-06-11 20:04:33.044	error	exception by stop: Not running
        kecontact.0	2017-06-11 20:04:33.043	error	at Signal.wrap.onsignal (node.js:873:46)
        kecontact.0	2017-06-11 20:04:33.043	error	at process.emit (events.js:166:7)
        kecontact.0	2017-06-11 20:04:33.043	error	at emitNone (events.js:67:13)
        kecontact.0	2017-06-11 20:04:33.043	error	at process.g (events.js:260:16)
        kecontact.0	2017-06-11 20:04:33.043	error	at process.stop (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4519:18)
        kecontact.0	2017-06-11 20:04:33.043	error	at Adapter.emit (events.js:169:7)
        kecontact.0	2017-06-11 20:04:33.043	error	at emitOne (events.js:77:13)
        kecontact.0	2017-06-11 20:04:33.043	error	at Adapter. (/opt/iobroker/node_modules/iobroker.kecontact/kecontact.js:34:35)
        kecontact.0	2017-06-11 20:04:33.043	error	at Socket.close (dgram.js:380:8)
        kecontact.0	2017-06-11 20:04:33.043	error	at Socket._healthCheck (dgram.js:486:11)
        kecontact.0	2017-06-11 20:04:33.043	error	Error: Not running
        kecontact.0	2017-06-11 20:04:33.029	error	uncaught exception: Not running
        kecontact.0	2017-06-11 19:59:55.526	warn	Error handling message: SyntaxError: Unexpected token :
        kecontact.0	2017-06-11 19:59:55.459	warn	UDP socket error: Error: bind EADDRINUSE 192.168.0.2:7090
        kecontact.0	2017-06-11 19:59:55.452	warn	UDP socket error: Error: bind EADDRINUSE 127.0.0.1:7090
        kecontact.0	2017-06-11 19:59:55.421	info	starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
        
        

        Es werden keine Objekte erzeugt (auch der Adapter taucht unter Objekte nicht auf.

        Auf der VM auf der ioBroker läuft, wird aber zumindest ein Socket aufgemacht …

        root@iobroker:~# netstat -a | grep 709
        udp        0      0 *:7090                  *:*
        
        
        1 Reply Last reply Reply Quote 0
        • E
          ehome last edited by

          Hier noch das momentan laufende Skript was funktioniert:

          Nachdem die Werte beim Start einmal eingelesen wurden (ich habe ds manuell angestossen) wird nur noch

          nach einem Broadcast der Box geupdated

          var pfad  = 'Wallbox.KEBA.'; 
          var PORT  = 7090;
          var PORT2 = 7092;
          var HOST  = '0.0.0.0';
          var BOX   = '192.168.0.11';
          var buf1 = new Buffer('report 1');
          var buf2 = new Buffer('report 2');
          var buf3 = new Buffer('report 3');
          
          var dgram = require('dgram');
          //var dgram2 = require('dgram');
          //var dgramc = require('dgram');
          
          var socket = dgram.createSocket('udp4');
          var server = dgram.createSocket('udp4');
          var server2 = dgram.createSocket('udp4');
          
          // report 1
          
          createState(pfad+"Product",       "unset", {name: 'Model name (variant)'});
          createState(pfad+"Serial",        "unset", {name: 'Serial number'});
          createState(pfad+"Firmware",      "unset", {name: 'Firmware version'});
          
          // report 2
          
          createState(pfad+"State",        0,   {type: 'number', name: 'Current state of the wallbox'});
          createState(pfad+"Error1",       0,   {type: 'number', name: 'Detail code for state 4'});
          createState(pfad+"Error2",       0,   {type: 'number', name: 'Detail code for state 4 b'});
          createState(pfad+"Plug",         0,   {type: 'number', name: 'Current condition of the loading connection'});
          createState(pfad+"Enable_sys",   0,   {type: 'number', name: 'Enable state for charging'});
          createState(pfad+"Enable_user",  0,   {type: 'number', name: 'Enable condition via UDP'});
          createState(pfad+"Max_curr",     0,   {type: 'number', unit: 'mA', name: 'Current preset value via Control pilot'});
          createState(pfad+"Max_curr_pct", 0,   {type: 'number', unit: '%', name: 'Current preset value via Control pilot in 0,1% of the PWM value'});
          createState(pfad+"Curr_HW",      0,   {type: 'number', unit: 'mA', name: 'Highest possible charging current of the charging connection'});
          createState(pfad+"Curr_user",    0,   {type: 'number', unit: 'mA', name: 'Current preset value of the user via UDP'});
          createState(pfad+"Curr_FS",      0,   {type: 'number', name: 'Current preset value for the Failsafe function'});
          createState(pfad+"Tmo FS",       0,   {type: 'number', unit: 's', name: 'Communication timeout before triggering the Failsafe function'});
          createState(pfad+"Output",       0,   {type: 'number', name: 'State of the relay output X2'});
          createState(pfad+"Input",        0,   {type: 'number', name: 'State of the potential free Enable input X1'});
          createState(pfad+"Sec",          0,   {type: 'number', unit: 's', name: 'Current system clock since restart of the wallbox'});
          
          // report 3
          
          createState(pfad+"U1",      0,   {type: 'number', unit: 'V', name: 'Current voltage in V of phase 1'});
          createState(pfad+"U2",      0,   {type: 'number', unit: 'V', name: 'Current voltage in V of phase 2'});
          createState(pfad+"U3",      0,   {type: 'number', unit: 'V', name: 'Current voltage in V of phase 3'});
          createState(pfad+"I1",      0,   {type: 'number', unit: 'V', name: 'Current voltage in mA of phase 1'});
          createState(pfad+"I2",      0,   {type: 'number', unit: 'V', name: 'Current voltage in mA of phase 2'});
          createState(pfad+"I3",      0,   {type: 'number', unit: 'V', name: 'Current voltage in mA of phase 3'});
          createState(pfad+"P",       0,   {type: 'number', unit: 'mW', name: 'Current power in mW (Real Power)'});
          createState(pfad+"PF",      0,   {type: 'number', unit: '%', name: 'Power factor in 0,1% (cosphi)'});
          createState(pfad+"E_pres",  0,   {type: 'number', unit: 'Wh', name: 'Power consumption of the current loading session in 0,1Wh'});
          createState(pfad+"E_total", 0,   {type: 'number', unit: 'Wh', name: 'Total power consumption (persistent) without current loading session 0,1Wh'});
          
          server.on('listening', function () {
              var address = server.address();
              log('UDP Server listening on ' + address.address + ":" + address.port);
          });
          server.bind(PORT, HOST);
          
          server2.on('listening', function () {
              server2.setBroadcast(true);
              server2.setMulticastLoopback(true);
              var address = server2.address();
              log('UDP Server 2 listening on ' + address.address + ":" + address.port);
          });
          server2.bind(PORT2, HOST); 
          
          // Antworten auf Abfrage
          
          server.on('message', function (message, remote) {
              log('Meldung von der Wall Box: ' + message);
              var obj = JSON.parse(message);
          
              if(obj.ID === '3') {
          
                 // werte report 3
          
                 setState(pfad+"U1",     obj.U1);      
                 setState(pfad+"U2",     obj.U2);
                 setState(pfad+"U3",     obj.U3);
                 setState(pfad+"I1",     obj.I1);
                 setState(pfad+"I2",     obj.I2);
                 setState(pfad+"I3",     obj.I3);
                 setState(pfad+"P",      obj.P);
                 setState(pfad+"PF",     0.1*obj.PF);  
                 setState(pfad+"E_pres", 0.1*obj['E pres']);
                 setState(pfad+"E_total", 0.1*obj['E total']);
          
              } else if(obj.ID === '2') {
          
                  // werte report 2
          
                  setState(pfad+"State",        obj.State);      
                  setState(pfad+"Error1",       obj.Error1);     
                  setState(pfad+"Error2",       obj.Error1);     
                  setState(pfad+"Plug",         obj.Plug);       
                  setState(pfad+"Enable_sys",   obj['Enable sys']); 
                  setState(pfad+"Enable_user",  obj['Enable user']);
                  setState(pfad+"Max_curr",     obj['Max curr']);   
                  setState(pfad+"Max_curr_pct", obj['Max curr %']);
                  setState(pfad+"Curr_HW",      obj['Curr HW']);    
                  setState(pfad+"Curr_user",    obj['Curr user']);  
                  setState(pfad+"Curr_FS",      obj['Curr FS']);    
                  setState(pfad+"Tmo FS",       obj['Tmo FS']);     
                  setState(pfad+"Output",       obj.Output);     
                  setState(pfad+"Input",        obj.Input);       
                  setState(pfad+"Sec",          obj.Sec);        
          
              } else if(obj.ID === '1') {
          
                  // report 1
          
                  setState(pfad+"Product", obj.Product);
                  setState(pfad+"Serial", obj.Serial);
                  setState(pfad+"Firmware", obj.Firmware);
          
              } else {
          
                    log('unexpected message: ' + message); 
          
                  }
          });
          
          // starten der Abfragen nach Empfang von Broadcasts
          var timer = null;
          
          server2.on('message', function (message, remote) {
                 if(timer) clearTimeout(timer);
                 log('Broadcast from Wallbox: ' + message);
                 var obj = JSON.parse(message);
                 sendcmd(buf2);
                 timer = setTimeout(function() {
                     sendcmd(buf3);
                 }, 1000);
          });
          
          function sendcmd(cmd) {
              socket.send(cmd, 0, cmd.length,PORT, BOX, function(err, result) {
                  if (err) log('Fehler Senden ' + cmd, 'error');
                  else {
                      log('Kommando gesendet: ' + cmd );
                  }
              });
          }
          
          //var timer = null;
          //schedule('*/5 * * * *', function() {  // jede Minute
          //    if(timer) clearTimeout(timer);
          //        sendcmd(buf2);
          //        timer = setTimeout(function() {
          //            sendcmd(buf3);
          //        }, 1000);
          //});
          
          //schedule("2 * * * *", function() {  // jede Stunde
          //    sendcmd(buf1);
          //});
          
          
          1 Reply Last reply Reply Quote 0
          • UncleSam
            UncleSam Developer last edited by

            Besten Dank für das Log und dein Script (das sieht schon sehr gut aus :-).

            Ein paar Fragen hätte ich noch:

            1. Kannst du das Log-Level des Adapters noch auf "Debug" stellen (Experten-Ansicht in der Adapter-Übersicht), sonst sehe ich leider nur die Fehlermeldungen

            2. Was macht in deinem Script der "server2"? Der ist ja auf einem anderen Port (7092) als in der Protokollspezifikation (7090), braucht es den, oder war das nur ein Test von dir?

            3. Du schickst beim Empfang eines Pakets im server2 jeweils "report 2" und "report 3", wie oft kommt das bei dir vor? Irgendwo habe ich gelesen, dass das alle paar Sekunden sein kann, das wäre dann etwas viel Traffic; ich habe bei mir einen Intervall-Timer (einstellbar, default 30 Sekunden) benutzt. Führt das zu irgendeinem Problem?

            Ich warte im Moment mal auf dein Debug-Log und werde dann weiter machen.

            1 Reply Last reply Reply Quote 0
            • E
              ehome last edited by

              mit den 2 Servern ist es folgendermaßen (jedenfalls habe ich es so verstanden)

              Mit dem Reports 1 bis 3 kann man alle möglichen Stati abfragen. Das geht über den Port 7090.

              Wenn sich etwas ändert (z.B. aktivierung des Tatsers zum enablen/disablen des Ladens an der Box - bei mir an einem potentialfreien Homematic Schalt-Aktor) dann sendet die Box Broadcasts mit den entsprechenden Werten – allerdings auf Port 7092.

              Dazu im Handbuch:

              __2.2 UDP Broadcast Messages

              The broadcast messages are intended to avoid the permanent polling of the following described reports.

              If there is a change of the status, the authorization, the enable input X1, the maximum possible current presets

              (temperature reduction), or an increase of the energy value a message is generated for the change.

              For a detailed evaluation of the status, the corresponding report can be queried.__

              Deswegen reicht es, wenn zum Start des Adapters alle 3 Reports gezogen werden und dann nur noch auf Broadcasts gewartet wird.

              In dem Skript ist es so, dass nach Empfang eines Broadcasts einfach die beiden Reports abgefragt werden.

              Da ich ja später das Laden des Autos abhängig vom produzierten Strom der PV Anlage steuern möchte gibt es noch einen „schreibenden“ Wert

              da probiere ich noch gerade rum wie der eingestellt wird - es scheint nicht so ganz wie in der Anleitung zu sein ….

              Hier der Log (Adapter gestartet, etwas laufen gelassen, dann gestoppt)

              ioBroker.adminAdapterInstanzenObjekteZuständeEreignisseGruppenBenutzerAufzählungenLogSkripte
              Admin
              
              kecontact.0	2017-06-12 20:03:17.210	error	exception by stop: Not running
              kecontact.0	2017-06-12 20:03:17.194	error	at Signal.wrap.onsignal (node.js:873:46)
              kecontact.0	2017-06-12 20:03:17.194	error	at process.emit (events.js:166:7)
              kecontact.0	2017-06-12 20:03:17.194	error	at emitNone (events.js:67:13)
              kecontact.0	2017-06-12 20:03:17.194	error	at process.g (events.js:260:16)
              kecontact.0	2017-06-12 20:03:17.194	error	at process.stop (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4519:18)
              kecontact.0	2017-06-12 20:03:17.194	error	at Adapter.emit (events.js:169:7)
              kecontact.0	2017-06-12 20:03:17.194	error	at emitOne (events.js:77:13)
              kecontact.0	2017-06-12 20:03:17.194	error	at Adapter. (/opt/iobroker/node_modules/iobroker.kecontact/kecontact.js:34:35)
              kecontact.0	2017-06-12 20:03:17.194	error	at Socket.close (dgram.js:380:8)
              kecontact.0	2017-06-12 20:03:17.194	error	at Socket._healthCheck (dgram.js:486:11)
              kecontact.0	2017-06-12 20:03:17.194	error	Error: Not running
              kecontact.0	2017-06-12 20:03:17.187	error	uncaught exception: Not running
              kecontact.0	2017-06-12 20:02:54.402	debug	"
              kecontact.0	2017-06-12 20:02:54.402	debug	}
              kecontact.0	2017-06-12 20:02:54.402	debug	"Sec": 545805
              kecontact.0	2017-06-12 20:02:54.402	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:02:54.402	debug	"E total": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"PF": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"P": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"I3": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"I2": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"I1": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"U3": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"U2": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"U1": 0,
              kecontact.0	2017-06-12 20:02:54.402	debug	"ID": "3",
              kecontact.0	2017-06-12 20:02:54.402	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:02:54.400	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:02:54.399	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:02:24.393	debug	"
              kecontact.0	2017-06-12 20:02:24.393	debug	}
              kecontact.0	2017-06-12 20:02:24.393	debug	"Sec": 545775
              kecontact.0	2017-06-12 20:02:24.393	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:02:24.393	debug	"E total": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"PF": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"P": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"I3": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"I2": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"I1": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"U3": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"U2": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"U1": 0,
              kecontact.0	2017-06-12 20:02:24.393	debug	"ID": "3",
              kecontact.0	2017-06-12 20:02:24.393	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:02:24.391	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:02:24.391	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:01:54.394	debug	"
              kecontact.0	2017-06-12 20:01:54.394	debug	}
              kecontact.0	2017-06-12 20:01:54.394	debug	"Sec": 545745
              kecontact.0	2017-06-12 20:01:54.394	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:01:54.394	debug	"E total": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"PF": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"P": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"I3": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"I2": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"I1": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"U3": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"U2": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"U1": 0,
              kecontact.0	2017-06-12 20:01:54.394	debug	"ID": "3",
              kecontact.0	2017-06-12 20:01:54.394	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:01:54.389	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:01:54.388	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:01:24.375	debug	"
              kecontact.0	2017-06-12 20:01:24.375	debug	}
              kecontact.0	2017-06-12 20:01:24.375	debug	"Sec": 545715
              kecontact.0	2017-06-12 20:01:24.375	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:01:24.375	debug	"E total": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"PF": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"P": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"I3": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"I2": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"I1": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"U3": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"U2": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"U1": 0,
              kecontact.0	2017-06-12 20:01:24.375	debug	"ID": "3",
              kecontact.0	2017-06-12 20:01:24.375	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:01:24.374	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:01:24.373	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:54.372	debug	"
              kecontact.0	2017-06-12 20:00:54.372	debug	}
              kecontact.0	2017-06-12 20:00:54.372	debug	"Sec": 545685
              kecontact.0	2017-06-12 20:00:54.372	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:00:54.372	debug	"E total": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"PF": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"P": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"I3": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"I2": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"I1": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"U3": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"U2": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"U1": 0,
              kecontact.0	2017-06-12 20:00:54.372	debug	"ID": "3",
              kecontact.0	2017-06-12 20:00:54.372	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:00:54.371	debug	"
              kecontact.0	2017-06-12 20:00:54.371	debug	}
              kecontact.0	2017-06-12 20:00:54.371	debug	"Sec": 545685
              kecontact.0	2017-06-12 20:00:54.371	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:00:54.371	debug	"Input": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Output": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Setenergy": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Tmo CT": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Curr timer": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Tmo FS": 120,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Curr FS": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Curr user": 6000,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Curr HW": 32000,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Max curr %": 1000,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Max curr": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Enable user": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Enable sys": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Authreq": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"AuthON": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Plug": 3,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Error2": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"Error1": 0,
              kecontact.0	2017-06-12 20:00:54.371	debug	"State": 1,
              kecontact.0	2017-06-12 20:00:54.371	debug	"ID": "2",
              kecontact.0	2017-06-12 20:00:54.371	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:00:54.369	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:54.368	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:24.384	debug	"
              kecontact.0	2017-06-12 20:00:24.384	debug	}
              kecontact.0	2017-06-12 20:00:24.384	debug	"Sec": 545655
              kecontact.0	2017-06-12 20:00:24.384	debug	"Serial": "17501302",
              kecontact.0	2017-06-12 20:00:24.384	debug	"E total": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"E pres": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"PF": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"P": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"I3": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"I2": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"I1": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"U3": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"U2": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"U1": 0,
              kecontact.0	2017-06-12 20:00:24.384	debug	"ID": "3",
              kecontact.0	2017-06-12 20:00:24.384	debug	UDP datagram from 192.168.0.11:7090: "{
              kecontact.0	2017-06-12 20:00:24.383	warn	Error handling message: SyntaxError: Unexpected token :
              kecontact.0	2017-06-12 20:00:24.383	debug	"
              kecontact.0	2017-06-12 20:00:24.383	debug	UDP datagram from 192.168.0.11:7090: ""Firmware":"P30 v 3.08.4 (170307-132509)",
              kecontact.0	2017-06-12 20:00:24.379	debug	Sent "report 3" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:24.379	debug	Sent "report 2" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:24.378	debug	Sent "report 1" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:24.377	debug	Sent "i" to 192.168.0.11:7090
              kecontact.0	2017-06-12 20:00:24.361	warn	UDP socket error: Error: bind EADDRINUSE 192.168.0.2:7090
              kecontact.0	2017-06-12 20:00:24.360	warn	UDP socket error: Error: bind EADDRINUSE 127.0.0.1:7090
              kecontact.0	2017-06-12 20:00:24.355	debug	UDP Client listening on 0.0.0.0:7090
              kecontact.0	2017-06-12 20:00:24.336	info	starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
              kecontact.0	2017-06-12 20:00:24.313	debug	statesDB connected
              kecontact.0	2017-06-12 20:00:24.257	debug	objectDB connected
              
              
              1 Reply Last reply Reply Quote 0
              • UncleSam
                UncleSam Developer last edited by

                Hallo ehome

                Die neue Version 0.0.2 des Adapters ist bereit zum Testen:

                https://github.com/UncleSamSwiss/ioBroker.kecontact

                Ich habe nun das Nachrichten-Handling eingebaut und du solltest alle Werte in ioBroker (Objects und States Ansichten) sehen können.

                Bezüglich Timer habe ich es nun wie folgt gelöst:

                • wenn das Polling Interval gesetzt ist (grösser null), wird regelmässig gepollt (Standard-Wert: 30 Sekunden)

                • wenn eine Broadcast-Meldung rein kommt, schicke ich die zwei Report Requests und der Polling Timer wird zurück gesetzt

                Kann ich dich bitten, die neue Version zu installieren? Falls du keine States siehst in der "Objects" Liste, dann musst du wohl zuerst den Adapter nochmals löschen, neu installieren und wieder eine Instanz anlegen.

                Bitte lass den Adapter eine Weile laufen - vorzugsweise auch während dem Laden deines Autos - und schicke mir das Log-File falls du Fehler oder Unschönheiten siehst (bitte per PM, sonst wird das hier etwas unübersichtlich).

                Hast du bezüglich der Befehle, die du schicken möchtest schon etwas rausgefunden? Du hast geschrieben, dass es nicht ganz so zu sein scheint wie in der Anleitung. Im Moment habe ich diesbezüglich noch gar nichts eingebaut.

                1 Reply Last reply Reply Quote 0
                • E
                  ehome last edited by

                  Hallo UncleSam,

                  die States werden angelegt - allerduings startet der Adapter nicht sondern endet mit Fehlern.

                  Hier das LOG:

                  Drücke Strg+A und danach Strg+C, um den Inhalt in die Zwischenablage zu kopieren. Klicke irgendwo, um das Fenster zu schliessen.
                  kecontact.0	2017-06-25 20:08:37.742	info	terminating
                  kecontact.0	2017-06-25 20:08:37.685	error	at process._tickCallback (node.js:428:17)
                  kecontact.0	2017-06-25 20:08:37.685	error	at nextTickCallbackWith3Args (node.js:522:9)
                  kecontact.0	2017-06-25 20:08:37.685	error	at dgram.js:214:18
                  kecontact.0	2017-06-25 20:08:37.685	error	at exports._exceptionWithHostPort (util.js:930:20)
                  kecontact.0	2017-06-25 20:08:37.685	error	at Object.exports._errnoException (util.js:907:11)
                  kecontact.0	2017-06-25 20:08:37.685	error	Error: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:08:37.666	error	uncaught exception: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:08:37.601	info	starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
                  kecontact.0	2017-06-25 20:08:37.578	debug	statesDB connected
                  kecontact.0	2017-06-25 20:08:37.520	debug	objectDB connected
                  kecontact.0	2017-06-25 20:08:27.683	info	terminating
                  kecontact.0	2017-06-25 20:08:27.639	error	at process._tickCallback (node.js:428:17)
                  kecontact.0	2017-06-25 20:08:27.639	error	at nextTickCallbackWith3Args (node.js:522:9)
                  kecontact.0	2017-06-25 20:08:27.639	error	at dgram.js:214:18
                  kecontact.0	2017-06-25 20:08:27.639	error	at exports._exceptionWithHostPort (util.js:930:20)
                  kecontact.0	2017-06-25 20:08:27.639	error	at Object.exports._errnoException (util.js:907:11)
                  kecontact.0	2017-06-25 20:08:27.639	error	Error: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:08:27.630	error	uncaught exception: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:08:27.600	info	starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
                  kecontact.0	2017-06-25 20:08:27.578	debug	statesDB connected
                  kecontact.0	2017-06-25 20:08:27.524	debug	objectDB connected
                  kecontact.0	2017-06-25 20:07:56.533	info	terminating
                  kecontact.0	2017-06-25 20:07:56.472	error	at process._tickCallback (node.js:428:17)
                  kecontact.0	2017-06-25 20:07:56.472	error	at nextTickCallbackWith3Args (node.js:522:9)
                  kecontact.0	2017-06-25 20:07:56.472	error	at dgram.js:214:18
                  kecontact.0	2017-06-25 20:07:56.472	error	at exports._exceptionWithHostPort (util.js:930:20)
                  kecontact.0	2017-06-25 20:07:56.472	error	at Object.exports._errnoException (util.js:907:11)
                  kecontact.0	2017-06-25 20:07:56.472	error	Error: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:07:56.468	error	uncaught exception: bind EADDRINUSE 0.0.0.0:7090
                  kecontact.0	2017-06-25 20:07:56.432	info	starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
                  kecontact.0	2017-06-25 20:07:56.396	debug	statesDB connected
                  kecontact.0	2017-06-25 20:07:56.337	debug	objectDB connected
                  
                  

                  Die IP Adresse habe ich bei der Adapter-Config eingegeben.

                  Gruß

                  Olli

                  1 Reply Last reply Reply Quote 0
                  • UncleSam
                    UncleSam Developer last edited by

                    Läuft dein Script gleichzeitig?

                    Es können nicht (einfach so) zwei UDP-Sockets gleichzeitig auf demselben Port registriert sein. Eventuell musst du also deine Javascript-Adapter-Instanz stoppen.

                    1 Reply Last reply Reply Quote 0
                    • E
                      ehome last edited by

                      Hi,

                      das war mir eigentlich klar, hatte das Skript und den Java Skript Adapter (läuft in einem eigenen) gestoppt.

                      Dachte das würde reichen, hatte dann auch nicht mehr mit

                      netstat -an | grep udp | grep 709
                      
                      

                      kontrolliert - dumm von mir nur, dass ich die Woche mit node red experimentiert hatte und nicht daran gedacht hatte :oops:

                      Also - Adapter läuft nun (nach löschen des node red flows) und Objekte werden angelegt. 😄

                      Bezüglich der Befehle die ich snden möchte habe ich folgendes:

                      gesendet wird an IP-WALLBOX:7090, "curr XXX" - Als Antwort kommt dann "TCH-OK :done"

                      Damit kann man den Ladestrom einstellen (laut Doku)
                      ` > [n] = Is the maximum allowed loading current in milliampere.

                      The answer TCH-OK confirms only the receiving of the command and not the

                      correctness of the value.

                      Allowed are values between 6000mA and 63000mA. Invalid values are discarded

                      and the default is set to 6000mA. The value is also depending on the DIP-switch

                      settings and the used cable of the charging station.

                      The correct reception can be verified using the proper report or by getting the

                      corresponding broadcast message. `

                      Wenn ich also (in dem WIN Tool hercules) "curr 14320" an die Wallbox sende, wird dort "Curr user": 14320 gesetzt.

                      Allerdings wird das nicht bei den Adapter-Objekten angezeigt, die bleiben z.T. leer.

                      Kann es sein dass du nicht alle Reports abfragst ?
                      358_kecintact-objects.png

                      1 Reply Last reply Reply Quote 0
                      • UncleSam
                        UncleSam Developer last edited by

                        @ehome:

                        Wenn ich also (in dem WIN Tool hercules) "curr 14320" an die Wallbox sende, wird dort "Curr user": 14320 gesetzt.

                        Allerdings wird das nicht bei den Adapter-Objekten angezeigt, die bleiben z.T. leer.

                        Kann es sein dass du nicht alle Reports abfragst ? `
                        Wenn du das Refresh-Interval auf einem Wert > 30 hast, sollte eigentlich alles regelmässig abgefragt werden (siehst du auch im Log, wenn du es auf "Debug" setzt).

                        Hast du die DIP-Switches an der Wallbox richtig gesetzt, damit Werte setzen via UDP überhaupt zugelassen ist (ich vermute, das ist aus Sicherheitsgründen standardmässig ausgeschaltet).

                        Gibt es weitere Werte, die du setzen möchtest?

                        Wenn ja, teste sie bitte mit hercules und schick mir dann die genauen Befehle, die ich senden soll.

                        1 Reply Last reply Reply Quote 0
                        • E
                          ehome last edited by

                          Hallo UncleSam,

                          ok ich lege mal los:

                          soweit ich das bis jetzt beurteilen kann benötige ich nur folgende Anfragen:

                          <list type="decimal">2. report 1: eigentlich nur beim Starten des Moduls, da Seriennummer, Typ FW der Box hoffentlich recht statisch sind …)
                          <list type="2">* report 2: der regelmäßig (z.B. alle 30s oder 5min ODER wenn die Box über 255.255.255.255 ein Broadcast raushaut (s. weiter unten)
                          <list type="3">* report 3: analog zu report2
                          <list type="4">* curr X: X zwischen 6000 und 32000 (Wird mit DIP Schaltern an der Box eingestellt). X sollte über ein "schreibendes" Objekt möglich sein, da der Wert ja abhängig von der PV-Anlage über iObroker gesetzt werden soll

                          Zu den Reports:

                          Im log sehe ich nur die Werte von report 3 (soweit ich es sehen kann). D

                          Hier der Output des Adapter-Logs:

                          Drücke Strg+A und danach Strg+C, um den Inhalt in die Zwischenablage zu kopieren. Klicke irgendwo, um das Fenster zu schliessen.
                          kecontact.0	2017-07-03 21:30:33.633	debug	inMem message kecontact.0.* kecontact.0.uptime
                          kecontact.0	2017-07-03 21:30:33.633	debug	inMem message kecontact.0.* kecontact.0.serial
                          kecontact.0	2017-07-03 21:30:33.633	debug	inMem message kecontact.0.* kecontact.0.eTotal
                          kecontact.0	2017-07-03 21:30:33.633	debug	inMem message kecontact.0.* kecontact.0.ePres
                          kecontact.0	2017-07-03 21:30:33.633	debug	inMem message kecontact.0.* kecontact.0.pf
                          kecontact.0	2017-07-03 21:30:33.632	debug	inMem message kecontact.0.* kecontact.0.p
                          kecontact.0	2017-07-03 21:30:33.632	debug	inMem message kecontact.0.* kecontact.0.i3
                          kecontact.0	2017-07-03 21:30:33.567	debug	inMem message kecontact.0.* kecontact.0.i2
                          kecontact.0	2017-07-03 21:30:33.556	debug	inMem message kecontact.0.* kecontact.0.i1
                          kecontact.0	2017-07-03 21:30:33.555	debug	inMem message kecontact.0.* kecontact.0.u3
                          kecontact.0	2017-07-03 21:30:33.555	debug	inMem message kecontact.0.* kecontact.0.u2
                          kecontact.0	2017-07-03 21:30:33.533	debug	inMem message kecontact.0.* kecontact.0.u1
                          kecontact.0	2017-07-03 21:30:33.523	debug	Unknown value received: ID=3
                          kecontact.0	2017-07-03 21:30:33.522	debug	UDP datagram from 192.168.0.11:7090: '{ 'ID': '3', 'U1': 0, 'U2': 0, 'U3': 0, 'I1': 0, 'I2': 0, 'I3': 0, 'P': 0, 'PF': 0, 'E pres': 0, 'E total': 0, 'Serial': '17501302', 'Sec': 2365446 } '
                          kecontact.0	2017-07-03 21:30:33.517	debug	Sent 'report 3' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:30:33.517	debug	Sent 'report 2' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.uptime
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.serial
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.eTotal
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.ePres
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.pf
                          kecontact.0	2017-07-03 21:30:13.622	debug	inMem message kecontact.0.* kecontact.0.p
                          kecontact.0	2017-07-03 21:30:13.621	debug	inMem message kecontact.0.* kecontact.0.i3
                          kecontact.0	2017-07-03 21:30:13.621	debug	inMem message kecontact.0.* kecontact.0.i2
                          kecontact.0	2017-07-03 21:30:13.618	debug	inMem message kecontact.0.* kecontact.0.i1
                          kecontact.0	2017-07-03 21:30:13.553	debug	inMem message kecontact.0.* kecontact.0.u3
                          kecontact.0	2017-07-03 21:30:13.542	debug	inMem message kecontact.0.* kecontact.0.u2
                          kecontact.0	2017-07-03 21:30:13.542	debug	inMem message kecontact.0.* kecontact.0.u1
                          kecontact.0	2017-07-03 21:30:13.542	debug	Unknown value received: ID=3
                          kecontact.0	2017-07-03 21:30:13.542	debug	UDP datagram from 192.168.0.11:7090: '{ 'ID': '3', 'U1': 0, 'U2': 0, 'U3': 0, 'I1': 0, 'I2': 0, 'I3': 0, 'P': 0, 'PF': 0, 'E pres': 0, 'E total': 0, 'Serial': '17501302', 'Sec': 2365426 } '
                          kecontact.0	2017-07-03 21:30:13.542	debug	Sent 'report 3' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:30:13.541	debug	Sent 'report 2' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:53.610	debug	inMem message kecontact.0.* kecontact.0.uptime
                          kecontact.0	2017-07-03 21:29:53.610	debug	inMem message kecontact.0.* kecontact.0.serial
                          kecontact.0	2017-07-03 21:29:53.610	debug	inMem message kecontact.0.* kecontact.0.eTotal
                          kecontact.0	2017-07-03 21:29:53.610	debug	inMem message kecontact.0.* kecontact.0.ePres
                          kecontact.0	2017-07-03 21:29:53.610	debug	inMem message kecontact.0.* kecontact.0.pf
                          kecontact.0	2017-07-03 21:29:53.609	debug	inMem message kecontact.0.* kecontact.0.p
                          kecontact.0	2017-07-03 21:29:53.609	debug	inMem message kecontact.0.* kecontact.0.i3
                          kecontact.0	2017-07-03 21:29:53.609	debug	inMem message kecontact.0.* kecontact.0.i2
                          kecontact.0	2017-07-03 21:29:53.609	debug	inMem message kecontact.0.* kecontact.0.i1
                          kecontact.0	2017-07-03 21:29:53.608	debug	inMem message kecontact.0.* kecontact.0.u3
                          kecontact.0	2017-07-03 21:29:53.605	debug	inMem message kecontact.0.* kecontact.0.u2
                          kecontact.0	2017-07-03 21:29:53.532	debug	inMem message kecontact.0.* kecontact.0.u1
                          kecontact.0	2017-07-03 21:29:53.523	debug	Unknown value received: ID=3
                          kecontact.0	2017-07-03 21:29:53.522	debug	UDP datagram from 192.168.0.11:7090: '{ 'ID': '3', 'U1': 0, 'U2': 0, 'U3': 0, 'I1': 0, 'I2': 0, 'I3': 0, 'P': 0, 'PF': 0, 'E pres': 0, 'E total': 0, 'Serial': '17501302', 'Sec': 2365406 } '
                          kecontact.0	2017-07-03 21:29:53.509	debug	Sent 'report 3' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:53.508	debug	Sent 'report 2' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:33.593	debug	inMem message kecontact.0.* kecontact.0.uptime val=2365386, ack=true, ts=1499110173536, q=0, from=system.adapter.kecontact.0, lc=1499110173536
                          kecontact.0	2017-07-03 21:29:33.592	debug	inMem message kecontact.0.* kecontact.0.serial val=17501302, ack=true, ts=1499110173535, q=0, from=system.adapter.kecontact.0, lc=1498491663484
                          kecontact.0	2017-07-03 21:29:33.590	debug	inMem message kecontact.0.* kecontact.0.eTotal val=0, ack=true, ts=1499110173534, q=0, from=system.adapter.kecontact.0, lc=1498491663482
                          kecontact.0	2017-07-03 21:29:33.589	debug	inMem message kecontact.0.* kecontact.0.ePres val=0, ack=true, ts=1499110173533, q=0, from=system.adapter.kecontact.0, lc=1498491663481
                          kecontact.0	2017-07-03 21:29:33.588	debug	inMem message kecontact.0.* kecontact.0.pf val=0, ack=true, ts=1499110173532, q=0, from=system.adapter.kecontact.0, lc=1498491663472
                          kecontact.0	2017-07-03 21:29:33.581	debug	inMem message kecontact.0.* kecontact.0.p val=0, ack=true, ts=1499110173532, q=0, from=system.adapter.kecontact.0, lc=1498491663446
                          kecontact.0	2017-07-03 21:29:33.580	debug	inMem message kecontact.0.* kecontact.0.i3 val=0, ack=true, ts=1499110173531, q=0, from=system.adapter.kecontact.0, lc=1498491663444
                          kecontact.0	2017-07-03 21:29:33.578	debug	inMem message kecontact.0.* kecontact.0.i2 val=0, ack=true, ts=1499110173530, q=0, from=system.adapter.kecontact.0, lc=1498491663443
                          kecontact.0	2017-07-03 21:29:33.577	debug	inMem message kecontact.0.* kecontact.0.i1 val=0, ack=true, ts=1499110173529, q=0, from=system.adapter.kecontact.0, lc=1498491663430
                          kecontact.0	2017-07-03 21:29:33.559	debug	inMem message kecontact.0.* kecontact.0.u3 val=0, ack=true, ts=1499110173528, q=0, from=system.adapter.kecontact.0, lc=1498491663419
                          kecontact.0	2017-07-03 21:29:33.539	debug	inMem message kecontact.0.* kecontact.0.u2 val=0, ack=true, ts=1499110173522, q=0, from=system.adapter.kecontact.0, lc=1498491663410
                          kecontact.0	2017-07-03 21:29:33.534	debug	inMem message kecontact.0.* kecontact.0.u1 val=0, ack=true, ts=1499110173512, q=0, from=system.adapter.kecontact.0, lc=1498491663399
                          kecontact.0	2017-07-03 21:29:33.509	debug	Unknown value received: ID=3
                          kecontact.0	2017-07-03 21:29:33.508	debug	'
                          kecontact.0	2017-07-03 21:29:33.508	debug	}
                          kecontact.0	2017-07-03 21:29:33.508	debug	'Sec': 2365386
                          kecontact.0	2017-07-03 21:29:33.508	debug	'Serial': '17501302',
                          kecontact.0	2017-07-03 21:29:33.508	debug	'E total': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'E pres': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'PF': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'P': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'I3': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'I2': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'I1': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'U3': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'U2': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'U1': 0,
                          kecontact.0	2017-07-03 21:29:33.508	debug	'ID': '3',
                          kecontact.0	2017-07-03 21:29:33.508	debug	UDP datagram from 192.168.0.11:7090: '{
                          kecontact.0	2017-07-03 21:29:33.506	debug	Sent 'report 3' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:33.506	debug	Sent 'report 2' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:33.506	debug	Sent 'report 1' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:33.505	debug	Sent 'i' to 192.168.0.11:7090
                          kecontact.0	2017-07-03 21:29:33.347	debug	UDP broadcast server listening on 0.0.0.0:7092
                          kecontact.0	2017-07-03 21:29:33.346	debug	UDP server listening on 0.0.0.0:7090
                          kecontact.0	2017-07-03 21:29:33.321	info	starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.kecontact, node: v4.8.3
                          kecontact.0	2017-07-03 21:29:33.274	debug	statesDB connected
                          kecontact.0	2017-07-03 21:29:33.213	debug	objectDB connected
                          kecontact.0	2017-07-03 21:29:29.749	info	terminating
                          
                          

                          Setzen des Wertes curr

                          358_hercules_send.png

                          Werden Werte < 6000 oder > 32000 eingegeben kommt keine Warnung, sondern auch TCH-OK: done

                          Broadcasts

                          Ändert sich an der Box ohne Steuerungen durch iObroker etwas (z.B. der Taster zum ein/ausschalten der Ladeerlaubnis wird getätigt)

                          schickt die Box ein Broadcast raus. Das sieht dann so aus:

                          358_taster_aus.png
                          hier müsste dann auf ein Broadcast von der Box reagiert werden (mit Abfrage der Reports 2 und 3). Ich habe das in meinem Skript nicht hinbekommen das ging irgendwie nur indem ich auf Port 7092 gelauscht habe:

                          Leider kann ich nicht sagen was beim Laden so an Daten kommt - da sich der Liefertermin des Autos leider auf Anfang August verschoben hat ;(

                          Gruß

                          Olli

                          werner2000x 1 Reply Last reply Reply Quote 0
                          • UncleSam
                            UncleSam Developer last edited by

                            Besten Dank für deine Tests.

                            Version 0.0.3 sollte nun immer ca. 300 ms warten zwischen einzelnen Telegrammen, damit solltest du alle Reports erhalten.

                            Zudem habe ich das Schreiben der drei bekannten Werte eingebaut ("Enable User", "Current User" und "Output" - so heissen die in ioBroker, in der Wallbox sind das "ena", "curr" und "output").

                            Falls du Enable User nicht testen kannst, solltest du zumindest mit einem Multimeter den Output überprüfen können (bitte vorher im Handbuch nachlesen :!: ).

                            Damit alle Werte einwandfrei funktionieren, musst du leider die Adapter-Instanz löschen, danach die neue Version installieren und dann wieder eine Instanz erstellen (sonst werden gewisse State Objekte als Zahlen anstatt als Wahrheitswert dargestellt - z.B. Enable User und Output).

                            @ehome:

                            Leider kann ich nicht sagen was beim Laden so an Daten kommt - da sich der Liefertermin des Autos leider auf Anfang August verschoben hat ;( `
                            Dann bist du ja beinahe so blind beim Testen wie ich ;-).

                            1 Reply Last reply Reply Quote 0
                            • F
                              fuchs1978 last edited by

                              Hallo,

                              ich finde es klasse, was ihr hier auf die Beine gestellt habt. Ich habe seit einigen Wochen iobroker laufen. Inzwischen lese ich den SMA Meter aus um einiges zu steuern. Infos dazu habe ich auf der Seite EB Systeme gefunden. Über die KEBA Wallbox bin ich dann zu eurem Post gelangt. Ein E Auto liegt bei mir noch in naher Zukunft, trotzdem die Frage, welche Wallbox nutzt ihr?

                              1 Reply Last reply Reply Quote 0
                              • UncleSam
                                UncleSam Developer last edited by

                                @fuchs1978:

                                Welche Wallbox nutzt ihr? ` Im Moment ist es nur Olli (ehome), der ein E-Auto bekommt; ich bin nur der Programmierer ;-).

                                1 Reply Last reply Reply Quote 0
                                • E
                                  ehome last edited by

                                  Na ja ein e-Auto zu kaufen alleine ist ja keine wirkliche Leistung. :mrgreen:

                                  UncleSam gebührt der Lob – er hat „blind“ einen Adapter auf die Beine gestellt

                                  Die Wallbox ist eine "KEBA 97.924 KeContact P30 (22 kW, 6m Kabel, Typ2, DC, EM, ETH, LMS, c-Serie)"

                                  @UncleSam:

                                  Genau heute habe ich endlich mein Zoe bekommen. (Beim Tessla gefiel mir der Pries nicht so) ….

                                  Der Adapter scheint zu funktionieren –konnte noch nicht viel Testen – aber die „Hauptfunktion“ das Einstellen des Ladestroms (Variable „currentUser“) funktioniert. Nach Änderung des Wertes Wertes von 10680 auf 32000 wurde im im Zoe direkt eine deutlich kürze Ladezeit angegeben. Jetzt muss nur noch die PV Anlage montiert werden - dann gibt es wirklichen Öko-Strom fürs Auto 😄

                                  Die Anderen Werte scheinen auch plausibel zu sein.

                                  Also, super Arbeit – und der Adapter verdient eine Versionsummer von mindestens 1.0.0 !

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    fuchs1978 last edited by

                                    Super, viel Spaß mit deinem neuen Spielzeug 🙂 Wie generierst du den Ladestrom für deinen ZOE, also wie ermittelst du den Überschuss? Ich habe da bereits einen SMA Meter eingebaut, der per Multicast sekündlich sendet. Kann man ganz einfach auch mit ioBroker auslesen. Ich hoffe du berichtest mal über deine Erfahrungen.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Sneak-L8 last edited by

                                      Hallo UncleSam,

                                      zunächst mal Danke fürs Bereitstellen des KeBa-Adapters!

                                      Habe seit dem Wochenende auch ne KeBa KeContact P30 (c-Serie) in der Garage hängen, jetzt muss ich nur noch 6 Wochen aufs Auto warten…

                                      Die Wallbox hab ich heue mal aktiviert und den Adapter genutzt. Daten kommen soweit an. Aber im Log finde ich eine Warnung:

                                      kecontact.0	2017-10-23 18:21:21.941	warn	Error handling message: SyntaxError: Unexpected token } in JSON at position 45
                                      

                                      Wird da evtl. etwas nicht korrekt ausgelesen?

                                      Viele Grüße

                                      Sneak-L8

                                      1 Reply Last reply Reply Quote 0
                                      • UncleSam
                                        UncleSam Developer last edited by

                                        @Sneak-L8:

                                        Wird da evtl. etwas nicht korrekt ausgelesen? ` Hallo Sneak-L8

                                        Da scheint tatsächlich etwas komisches von der Wallbox zu kommen. Kannst du bitte die Adapter-Instanz (im Fortgeschrittenen-Modus) auf "Debug" stellen und neu starten und mir danach per PM das gesamte Log schicken (oder hier als "Spoiler" posten)? Wenn ich sehe, welche Daten daher kommen, kann ich herausfinden wo das Problem liegt.

                                        /UncleSam

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Sneak-L8 last edited by

                                          Hallo UncleSam,

                                          PN ist grade raus.

                                          Viele Grüße

                                          Sneak-L8

                                          1 Reply Last reply Reply Quote 0
                                          • UncleSam
                                            UncleSam Developer last edited by

                                            @Sneak-L8:

                                            PN ist grade raus. ` Besten Dank. Das ist tatsächlich ein Fehler im Format der Nachricht von der Wallbox. Du kannst den getrost ignorieren; erstens ist die Firmwareversion das einzige, was ioBroker mit dieser Nachricht bekommt (und die ist nun wirklich nicht sehr relevant) und zweitens wird die sowieso in der nächsten Nachricht gleich nochmals geschickt.

                                            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

                                            945
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            68
                                            1256
                                            349207
                                            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