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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Frage] Realisierung Adapter UDP Keba Wallbox

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • T
                                            tgirard last edited by

                                            Guten Abend

                                            Ich habe den Adapter ebenfalls installiert und bin total begeistert!! Ich habe aktuell noch eine andere Ladelösung (smartfox), diese ist aber aktuell leider unzuverlässig…

                                            Einen Fehler bekomme ich im Log:

                                            kecontact.0 2017-11-02 16:23:12.863 warn Error handling message: SyntaxError: Unexpected token r

                                            kecontact.0 2017-11-02 16:23:10.896 warn Error handling message: SyntaxError: Unexpected token r

                                            kecontact.0 2017-11-02 16:23:08.862 warn Error handling message: SyntaxError: Unexpected token c

                                            kecontact.0 2017-11-02 16:23:06.861 warn Error handling message: SyntaxError: Unexpected token r

                                            kecontact.0 2017-11-02 16:23:04.861 warn Error handling message: SyntaxError: Unexpected token r

                                            kecontact.0 2017-11-02 16:23:02.861 warn Error handling message: SyntaxError: Unexpected token c

                                            kecontact.0 2017-11-02 16:23:00.873 warn Error handling message: SyntaxError: Unexpected token r

                                            kecontact.0 2017-11-02 16:22:58.863 warn Error handling message: SyntaxError: Unexpected token r

                                            kann /muss / darf ich da was machen

                                            beste Grüsse Thierry

                                            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

                                            636
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            68
                                            1251
                                            308485
                                            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