Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Frage] Realisierung Adapter UDP Keba Wallbox

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

[Frage] Realisierung Adapter UDP Keba Wallbox

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
1.3k Beiträge 69 Kommentatoren 445.2k Aufrufe 53 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    ehome
    schrieb am zuletzt editiert von
    #12

    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

    werner2000xW 1 Antwort Letzte Antwort
    0
    • UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #13

      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 ;-).

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      1 Antwort Letzte Antwort
      0
      • F Offline
        F Offline
        fuchs1978
        schrieb am zuletzt editiert von
        #14

        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 Antwort Letzte Antwort
        0
        • UncleSamU Offline
          UncleSamU Offline
          UncleSam
          Developer
          schrieb am zuletzt editiert von
          #15

          @fuchs1978:

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

          Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
          ♡-lichen Dank an meine Sponsoren

          1 Antwort Letzte Antwort
          0
          • E Offline
            E Offline
            ehome
            schrieb am zuletzt editiert von
            #16

            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 :D

            Die Anderen Werte scheinen auch plausibel zu sein.

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

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              fuchs1978
              schrieb am zuletzt editiert von
              #17

              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 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Sneak-L8
                schrieb am zuletzt editiert von
                #18

                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 Antwort Letzte Antwort
                0
                • UncleSamU Offline
                  UncleSamU Offline
                  UncleSam
                  Developer
                  schrieb am zuletzt editiert von
                  #19

                  @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

                  Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                  ♡-lichen Dank an meine Sponsoren

                  1 Antwort Letzte Antwort
                  0
                  • S Offline
                    S Offline
                    Sneak-L8
                    schrieb am zuletzt editiert von
                    #20

                    Hallo UncleSam,

                    PN ist grade raus.

                    Viele Grüße

                    Sneak-L8

                    1 Antwort Letzte Antwort
                    0
                    • UncleSamU Offline
                      UncleSamU Offline
                      UncleSam
                      Developer
                      schrieb am zuletzt editiert von
                      #21

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

                      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                      ♡-lichen Dank an meine Sponsoren

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        tgirard
                        schrieb am zuletzt editiert von
                        #22

                        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 Antwort Letzte Antwort
                        0
                        • UncleSamU Offline
                          UncleSamU Offline
                          UncleSam
                          Developer
                          schrieb am zuletzt editiert von
                          #23

                          @tgirard:

                          kann /muss / darf ich da was machen ` Hallo Thierry

                          Möglicherweise ist das derselbe Fehler wie bei Sneak-L8. 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

                          Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                          ♡-lichen Dank an meine Sponsoren

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            chrissh
                            schrieb am zuletzt editiert von
                            #24

                            Hallo Uncle Sam,

                            danke für deinen Adapter. Ist gerade installiert. Auto wird erstmals am Freitag geladen.

                            Hier der Log

                            ! kecontact.0 2018-02-12 13:58:39.513 debug Sent "report 3" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:58:39.213 debug Sent "report 2" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:58:09.512 debug Sent "report 3" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:58:09.213 debug Sent "report 2" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:57:39.514 debug Sent "report 3" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:57:39.212 debug Sent "report 2" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:57:09.511 debug Sent "report 3" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:57:09.211 debug Sent "report 2" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:56:40.112 debug Sent "report 3" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:56:39.812 debug Sent "report 2" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:56:39.518 debug Unknown value received: COM-module=0 kecontact.0 2018-02-12 13:56:39.513 debug " kecontact.0 2018-02-12 13:56:39.513 debug } kecontact.0 2018-02-12 13:56:39.513 debug "Sec": 4492 kecontact.0 2018-02-12 13:56:39.513 debug "COM-module": 0, kecontact.0 2018-02-12 13:56:39.513 debug "Firmware":"P30 v 3.08.7 (170404-153240)", kecontact.0 2018-02-12 13:56:39.513 debug "Serial": "18115191", kecontact.0 2018-02-12 13:56:39.513 debug "Product": "KC-P30-ES240022-E00", kecontact.0 2018-02-12 13:56:39.513 debug "ID": "1", kecontact.0 2018-02-12 13:56:39.513 debug UDP datagram from 192.168.1.58:7090: "{ kecontact.0 2018-02-12 13:56:39.511 debug Sent "report 1" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:56:39.216 warn Error handling message: SyntaxError: Unexpected token } in JSON at position 45 kecontact.0 2018-02-12 13:56:39.215 debug " kecontact.0 2018-02-12 13:56:39.215 debug UDP datagram from 192.168.1.58:7090: ""Firmware":"P30 v 3.08.7 (170404-153240)", kecontact.0 2018-02-12 13:56:39.213 debug Sent "i" to 192.168.1.58:7090 kecontact.0 2018-02-12 13:56:39.110 debug UDP broadcast server listening on 0.0.0.0:7092 kecontact.0 2018-02-12 13:56:39.108 debug UDP server listening on 0.0.0.0:7090 kecontact.0 2018-02-12 13:56:39.078 info starting. Version 0.0.3 in /opt/iobroker/node_modules/iobroker.kecontact, node: v6.12.2 kecontact.0 2018-02-12 13:56:38.998 debug statesDB connected kecontact.0 2018-02-12 13:56:38.881 debug objectDB connected kecontact.0 2018-02-12 13:56:35.027 info terminating !

                            Gruß

                            Chriss

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Sneak-L8
                              schrieb am zuletzt editiert von
                              #25

                              Hallo zusammen,

                              bin gerade dabei, die KeContact mir meiner PV-Anlage (SMA Sunny Home Manager) zu koppeln um überschüssigen Strom ins Auto zu bringen.

                              Sieht als Skript schon ganz gut aus. Weil es dann zu eben Adapter erweitern uns hier zur Verfügung stellen.

                              Das nur vorab als Info falls jemand auch Keba/SMA hat (wobei das grundsätzlich auch mit anderen Energy Metern klappen sollte).

                              Viele Grüße

                              Sneak-L8

                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                chrissh
                                schrieb am zuletzt editiert von
                                #26

                                So hab jetzt ein paar mal das neue Auto geladen aber ich bekomme noch keine Werte rein.

                                Muss ich noch irgendwas konfigurieren ausser die IP-Adresse?

                                In meinen ersten post habe ich ja noch meinen Log angegeben. Vielleich

                                gibt der ja noch Aufschluss. :|
                                5713_bildschirmfoto_2018-02-18_um_16.42.04.png
                                5713_bildschirmfoto_2018-02-18_um_16.40.54.png
                                5713_bildschirmfoto_2018-02-18_um_16.40.33.png

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  Sneak-L8
                                  schrieb am zuletzt editiert von
                                  #27

                                  Hast Du in der Wallbox die UDP-Funktion aktiviert? Das ist ein Dip-Schaller in der Box. Sonst liefert sie keine Werte…

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    Sneak-L8
                                    schrieb am zuletzt editiert von
                                    #28

                                    Hallo zusammen,

                                    bevor ich mich daran mache, meine Ladesteuerung in den Keba-Adapter zu intergrieren, möchte ich das Skript zur Ladesteuerung schonmal zeigen. Ich hatte zuerst die States der Einspeisung/Netzbezug vom SunnyhomeManager abonniert und immer sofort auf eine Veränderung reagiert. Das war dann aber fast ein wenig schnell, da wird die Wallbox jede Sekunde mit einer anderen Leistung (mA-genau) geregelt. Daher hab ich eine Abstufung in 500mA-Schritten vorgenommen.

                                    Wenn die PV-Anlage aber gerade so die Leistung für die minimale Ladung bringt, dann wird die Wallbox bei einem Watt Hausverbrauch mehr oder weniger jedes mal aktiviert und deaktiviert. Das hat mein E-Golf dann doch nicht gerne und hat beim Start erstmal ne Elekronik-Warnung von sich gegeben (Zündung aus, Zündung an hat aber geholfen).

                                    Daher bin ich dazu übergegangen, die Regelung zeitgesteuert (jede Minute) anzupassen. Außerdem gibt es eine Wattzahl, die nach Ladebeginn unterschritten werden muss, um mit dem Laden wieder zu stoppen, um eine gewisse Träge zu gewährleisten. Zudem gibt es einen Timer der sagt, dass noch mind. fünf Minuten geladen wird, bevor wieder abgebrochen wird. Den Timer könnte man auch mit Start der Ladung setzen.

                                    Da es derzeit noch Probleme mit der Leistungsfähigkeit des Hausanschlusses gibt und ich nachts während der Nachtspeicherheizung nicht laden darf, habe ich noch einen zeitgesteuerten Ladestopp eingebaut.

                                    Die Variablen am Anfang (nDelta, nNetzbezug und nMinLfz) würden später als Parameter in die Adapterkonfiguration wandern.

                                    Hier das Skript:

                                    ! ````
                                    var nMinCurr = 6000; // in mA
                                    var nMaxCurr = getState("kecontact.0.currentHardware"/Maximum Current Hardware/).val; // in mA
                                    var nDelta = 500; // Regelgröße der Ladung in mA (damit nicht jedes mA geregelt wird)
                                    var nNetzbezug = 400; // Max. Wattzahl die bei minimaler Ladung auch vom Netz gezogen werden darf.
                                    var nMinLfz = 300; // Sekunden wie lange Ladung mindestens aufrechterhalten wird, auch wenn zu wenig Strom anliegt
                                    var nAktGenau = 0; // Aktueller genauer Ladewert
                                    var nAnzPhasen = 0; // Anzahl der Phasen, mit denen Fahrzeug lädt
                                    var doLog = true; // Aktivieren, um bei der Fehlersuche zu unterstützen
                                    var lAutoVerb = false; // Ist ein Auto mit der Ladebox verbunden?
                                    var oLadeVerz = null; // Timerbeginn, wenn Lademinimum unterschritten wird
                                    var oSchedule = null; // Schedule-Object
                                    var cStateEinspeisung = "sma-em.0.1901706890.psurplus"; /*Aktuelle Einspeisung, negative Werte werden als Verbrauch interpretiert */
                                    var cStateNetzbezug = "sma-em.0.1901706890.pregard"; /*Aktueller Netzbezug (Stromverbrauch), negative Werte wären Einspeisung */
                                    // Konstanten für States
                                    var cStateWallboxAnAus = "kecontact.0.enableUser"; /Enable User/
                                    var cStateWallboxLadung = "kecontact.0.currentUser"; /Current User/
                                    var cStateWallboxP1 = "kecontact.0.i1"; /Current 1/
                                    var cStateWallboxP2 = "kecontact.0.i2"; /Current 2/
                                    var cStateWallboxP3 = "kecontact.0.i3"; /Current 3/
                                    var cStateWallboxVerb = "kecontact.0.plug"; /*Plug, Steckerverbindung */
                                    var cStateWallboxStatus = "kecontact.0.state"; /*State, Status der Ladung */
                                    var cStateAktLadung = "kecontact.0.p"; /Power - Aktuelle Ladung E-Auto/
                                    var cStateLadebeginn = "wallboxStart"; /Zeitpukt, wann mit dem Laden des Autos aktiv begonnen wurde/
                                    var cStateLadeverbindung = "wallboxVerbindung"; /Zeitpukt, wann das Auto mit der Wallbox zuletzt verbunden wurde/
                                    var cStateLadestopp = "wallboxSperre"; /grundsätzliches Ladeverbot z.B. wegen Nachtspeicherheizung/
                                    var cStateLadeautomatik = "wallboxPVAutomatik"; /*Ladung E-Auto abhängig von PV-Leistung, false = max Ladung unabh. von PV /
                                    ! createState(cStateLadeautomatik, true, {
                                    read: true,
                                    write: true,
                                    name: "Gibt an, ob die Wallbox abhängig vom PV-Überschuss laden soll (aus = mit voller Leistung laden)",
                                    type: "boolean",
                                    def: true
                                    });
                                    ! createState(cStateLadestopp, false, {
                                    read: true,
                                    write: false,
                                    name: "Gibt an, ob die Wallbox derzeit gesperrt ist (z.B. wegen aktiver Nachtspeicherheizung)",
                                    type: "boolean",
                                    def: false
                                    });
                                    ! createState(cStateLadebeginn, null, {
                                    read: true,
                                    write: false,
                                    name: "Gibt an, wann die Wallbox begonnen hat, das Auto zu laden",
                                    type: "string",
                                    role: "datetime",
                                    def: null
                                    });
                                    ! createState(cStateLadeverbindung, null, {
                                    read: true,
                                    write: false,
                                    name: "Gibt an, wann das Auto zuletzt mit der Wallbox verbunden wurde",
                                    type: "string",
                                    role: "datetime",
                                    def: null
                                    });
                                    ! function schreibeInfo(text) {
                                    if (doLog) {
                                    log(text, "info");
                                    }
                                    }
                                    ! function switchWallbox(enabled) {
                                    schreibeInfo("schalte wallbox: " + enabled);
                                    if (getState(cStateWallboxAnAus).val != enabled) {
                                    setState(cStateWallboxAnAus, enabled);
                                    schreibeInfo("Schalt-Kommando abgesetzt");
                                    if (! enabled) {
                                    oLadeVerz = null;
                                    }
                                    }
                                    }
                                    function regulateWallbox(milliAmpere) {
                                    schreibeInfo("regle wallbox: " + milliAmpere);
                                    if (getState(cStateWallboxLadung).val != milliAmpere) {
                                    setState(cStateWallboxLadung, milliAmpere);
                                    schreibeInfo("Regler-Kommando abgesetzt");
                                    }
                                    }
                                    function getUeberschussOhneWallbox() {
                                    // zunächst ist mal nichts verfügbar
                                    var nVerfuegbar = 0;
                                    if (cStateEinspeisung !== '') {
                                    nVerfuegbar = nVerfuegbar + getState(cStateEinspeisung).val;
                                    }
                                    if (cStateNetzbezug !== '') {
                                    nVerfuegbar = nVerfuegbar - getState(cStateNetzbezug).val;
                                    }
                                    nVerfuegbar = nVerfuegbar + (getState(cStateAktLadung).val / 1000);
                                    return(nVerfuegbar);
                                    }
                                    ! function checkAutoLadung() {
                                    var nCurr = 0; // in mA
                                    var oAutoState = getState(cStateLadeautomatik);
                                    // Wenn Wallbox lädt, dann die Anzahl der Phasen ermitteln
                                    var nAktPhasen = nAnzPhasen;
                                    if (getState(cStateAktLadung).val > 1000) {
                                    // Wenn Auto wirklich geladen wird, dann merken, wann das begonnen hat,
                                    // damit man gem. Schalter oben dafür sorgen kann, dass mind. eine
                                    // eingestellte Zeitpsanne geladen wird.
                                    if (oLadeVerz === null) {
                                    oLadeVerz = new Date();
                                    schreibeInfo("Auto beginnt zu laden");
                                    setState(cStateLadebeginn, oLadeVerz, true);
                                    }
                                    var nTempAnz = 0;
                                    if (getState(cStateWallboxP1).val > 100) {
                                    nTempAnz ++;
                                    }
                                    if (getState(cStateWallboxP2).val > 100) {
                                    nTempAnz ++;
                                    }
                                    if (getState(cStateWallboxP3).val > 100) {
                                    nTempAnz ++;
                                    }
                                    if (nTempAnz > 0) {
                                    // Jetzt die Anzahl Phasen merken
                                    nAnzPhasen = nTempAnz;
                                    nAktPhasen = nTempAnz;
                                    schreibeInfo("Wallbox lädt mit " + nAnzPhasen + " Phasen");
                                    } else {
                                    schreibeInfo("Trotz Ladung keine Phasenanzahl für Wallbox ermittelt");
                                    }
                                    }
                                    // Wenn bisher keine Phasenzahl bekannt, dann mit einer Phase rechnen
                                    if (nAktPhasen <= 0) {
                                    nAktPhasen = 1;
                                    }
                                    // State "reparieren", weil VIS-Control 0/1 anstelle false/true setzt
                                    if (typeof oAutoState.val != "boolean") {
                                    setState(cStateLadeautomatik, oAutoState.val == 1, true);
                                    }
                                    if (getState(cStateLadestopp).val) {
                                    // Ladung aktuell gesperrt
                                    schreibeInfo("Wallbox ist aktuell gesperrt");
                                    } else {
                                    if (lAutoVerb && getState(cStateLadeautomatik).val) {
                                    var nVerfuegbar = getUeberschussOhneWallbox();
                                    // Ladesteuerung in Stufen von 500mA regeln
                                    nCurr = Math.round(nVerfuegbar / 230 * 1000 / nDelta / nAktPhasen) * nDelta;
                                    if ((nCurr < nMinCurr) && oLadeVerz !== null) {
                                    // Wenn das Auto gerade lädt bzw. laden darf, dann Grenzwerte zum Abschalten berücksichtigen
                                    nCurr = Math.round(nVerfuegbar + nNetzbezug / 230 * 1000 / nDelta / nAktPhasen) * nDelta;
                                    if (nCurr >= nMinCurr) {
                                    schreibeInfo("Minimale Unterschreitung Ladestrom, Laden wird fortgesetzt");
                                    oLadeVerz = null;
                                    nCurr = nMinCurr;
                                    } else {
                                    if (nMinLfz > 0) {
                                    oAktZeit = new Date();
                                    if ((oAktZeit.getTime() - oLadeVerz.getTime()) / 1000 < nMinLfz) {
                                    // Mindestladedauer unterschritten? Dann mit minimaler Stärke weiter laden
                                    nCurr = nMinCurr;
                                    schreibeInfo("Minimale Ladezeit noch nicht erreicht, Laden wird fortgesetzt");
                                    }
                                    }
                                    }
                                    }
                                    schreibeInfo("dynamische Anpassung mit " + nCurr + " mA");
                                    } else {
                                    nCurr = nMaxCurr; // Automatik aus oder kein Auto verbunden? Dann mit voller Leistung laden
                                    schreibeInfo("Wallbox wird aktuell mit voller Leistung betrieben");
                                    }
                                    }
                                    if (nCurr < nMinCurr) {
                                    // Wallbox deaktivieren
                                    switchWallbox(false);
                                    regulateWallbox(nMinCurr);
                                    } else {
                                    if (nCurr > nMaxCurr) {
                                    nCurr = nMaxCurr;
                                    }
                                    schreibeInfo("Wallbox auf " + nCurr + " mA");
                                    regulateWallbox(nCurr);
                                    switchWallbox(true);
                                    }
                                    }
                                    function checkSchedule(obj) {
                                    schreibeInfo("Status ist: " + getState(cStateWallboxVerb).val);
                                    // 0 unplugged
                                    // 1 plugged on charging station
                                    // 3 plugged on charging station plug locked
                                    // 5 plugged on charging station plugged on EV
                                    // 7 plugged on charging station plug locked plugged on EV
                                    // Bei Ladestation mit ist Status immer mind. 3
                                    var lNewVerb = (getState(cStateWallboxVerb).val >= 5);
                                    if (lAutoVerb != lNewVerb) {
                                    // Es hat sich was geändert, Ladung begonnen oder beendet
                                    // Aber eigentlich uninteressant, Schedule sollte imm geprüft werden
                                    lAutoVerb = lNewVerb;
                                    if (lAutoVerb) {
                                    schreibeInfo("Auto wurde mit Wallbox verbunden");
                                    oLadeVerz = null;
                                    setState(cStateLadebeginn, oLadeVerz, true);
                                    } else {
                                    schreibeInfo("Auto wurde von Wallbox getrennt");
                                    }
                                    checkAutoLadung();
                                    }
                                    if (lAutoVerb) {
                                    if (oSchedule === null) {
                                    oSchedule = schedule("
                                    /1 * * * *", checkAutoLadung);
                                    setState(cStateLadeverbindung, new Date(), true);
                                    schreibeInfo("Schedule für Ladeautomatik aktiviert");
                                    }
                                    } else {
                                    if(oSchedule) {
                                    clearSchedule(oSchedule);
                                    oSchedule = null;
                                    schreibeInfo("Schedule für Ladeautomatik beendet");
                                    }
                                    }

                                    }
                                    subscribe({id: cStateWallboxStatus, change: "ne"}, checkSchedule);
                                    subscribe({id: cStateLadeautomatik, change: "ne"}, checkAutoLadung);
                                    subscribe({id: cStateLadestopp, change: "ne"}, checkAutoLadung);
                                    schedule({hour: 6, minute: 1}, function () {
                                    // Nachtspeicherzeit ist vorbei, Wallbox freigeben
                                    setState(cStateLadestopp, false, true);
                                    });
                                    schedule({hour: 21, minute: 39}, function () {
                                    // Nachtspeicherzeit beginnt, Wallbox sperren
                                    setState(cStateLadestopp, true, true);
                                    });
                                    // bei Scriptstart alles einmal ausführen
                                    checkSchedule();
                                    checkAutoLadung();

                                    
                                    Frage 1: kann ich in einem Adapter in der Konfiguration einen State auswählen lassen? Dann wäre die Steuerung eigentlich für alle EnergyMeter nutzbar und nicht nur für den von SMA (ja, momentan läuft das Skript nur mit meinem, da die Serien-Nr hartcodiert ist). Oder lasse ich einfach den Namen des Adapters ins Textfeld eintragen?
                                    
                                    Frage 2: ich würde gerne auf dem bestehen Adapter von UncleSam aufsetzen. Mache ich da einen Branch in git auf und lege ich meinen "eigenen" Bereich in git an? Aktuell ist da ja ein privater Bereich von UncleSam..
                                    
                                    Ich bin auf Eure Meinungen gespannt.
                                    
                                    Viele Grüße
                                    
                                    Sneak-L8
                                    
                                    P.S. KeBa hat kürzlich eine neue Firmware V3.9.10 für die KeContact P30 veröffentlicht
                                    
                                    Edit: Skript aktualisiert
                                    1 Antwort Letzte Antwort
                                    0
                                    • F Offline
                                      F Offline
                                      fuchs1978
                                      schrieb am zuletzt editiert von
                                      #29

                                      Wir haben uns nun auch ein E-Auto bestellt. Habt ihr Erfahrungen mit Ladestationen und Förderungen dazu?

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Sneak-L8
                                        schrieb am zuletzt editiert von
                                        #30

                                        Ich hab mir einige Ladestationen (im Netz, nicht live) angeschaut und bin bei der Keba KeContact P30 c-Serie hängen geblieben, weil sie alles hat was ich wollte (Zähler, Netzanbindung, FI), sehr flexibel (ein-/dreiphasig, 3,7, 11, 22 kW) und vom Preis-/Leistungsverhältnis gut ist.

                                        Bisher funktioniert sie auch einwandfrei und lässt sich auch PV-abhängig regeln…

                                        Förderung hab ich allerdings keine bekommen. Aber im Vergleich zur Mennekes kostet sie in etwa nur die Häfte, was sich auch wie eine Förderung anfühlt...

                                        1 Antwort Letzte Antwort
                                        0
                                        • E Offline
                                          E Offline
                                          ehome
                                          schrieb am zuletzt editiert von
                                          #31

                                          @Sneak-L8

                                          möchte bei mir das gleiche realisieren - mache es mir momentan einfach und lade das Auto bei Sonnenschein mit "Handregelung"

                                          was natürlich nicht Zweck einer Hausautomatisation ist ;)

                                          Würde das Skript zum Testen gerne mal bei mir laufen lassen (habe ein PV Anlage mit SolarEdge).

                                          Sind die Werte

                                          var cStateEinspeisung    = "sma-em.0.1901706890.psurplus"; /*Aktuelle Einspeisung, negative Werte sind */
                                          var cStateNetzbezug      = "sma-em.0.1901706890.pregard";  /*Aktueller Netzbezug (Stromverbrauch)*/
                                          
                                          

                                          In kWh oder Wh ??

                                          was meinst du mit "Aktuelle Einspeisung, negative Werte sind"

                                          Gruß

                                          ehome

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          554

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe