Node RED UDP Empfang

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • rem4332
    Dumb Home'r
    • 10.07.2020
    • 15

    #1

    Node RED UDP Empfang

    Hallo Zusammen, ich versuche verzweifelt etwas hinzubekommen stehe aber irgendwie auf dem Schlauch.
    Vielleicht kann mir von euch wer helfen. Bitte Danke

    Ich habe mehrere Ladestationen von Keba, diese brav in Lox eingebunden. Sehe im Monitor auch alle UDP Daten wie es sein soll.
    Leider kann ich Loxone nicht dazu verwenden um aus dem UDP stream etwas auszulesen und wieder an die Keba zu schicken.
    Mir geht es um die Chip ID die sich Authentifiziert.
    Jetzt habe ich mir gedacht ich installiere einen Loxberry mit NodeRED drauf und greife die Daten einfach dort ab und schicke diese dann per MQTT wieder an die Lox.
    Soweit so gut aber leider klappt das mit dem Node Red nicht recht.

    Ich Sehe im TCP Dump zwar UDP Daten aber diese kommen einfach nicht im NodeRed an.

    Hat vielleicht jemand einen TIPP für mich ? Ich sehe irgendwie den Wald nicht mehr vor lauter Bäumen. Vielen Dank im Voraus

    lg Reinhard






  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6314

    #2
    Ist doch ganz einfach und logisch. Du hast es falsch eingebunden, konfiguriert und programmiert.
    Jetzt willst Du wissen was Du falsch gemacht hast? Kann Dir hier niemand sagen.
    Du beschreibst weder was für Daten Du über UDP bekommst, noch wie Du die versucht hast in Loxone zu verarbeiten, noch was Du in NodeRed programmiert hast, noch wie Du die Verbindung zu Loxone machst, noch was Du wie von Lox wegschicken willst. Noch irgend etwas anderes.
    Mache Screenshots von den UDP Daten, von den den relevanten Config Seiten, von Deinem NodeRed Programm etc.

    Dann ist man vielleicht in der Lage zu helfen.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • rem4332
      Dumb Home'r
      • 10.07.2020
      • 15

      #3
      Guten Morgen,

      vielen Dank für deine Antwort svethi.
      Entschuldige war für mich ganz klar verständlich wenn ich von UDP spreche das ich alles sehen möchte was daher kommt.
      Programm gibt es noch kein richtiges ich habe im Flow genau den UDP Listener und ein Debug fertig, weil ich ja erstmal alle UDP Pakete möchte.
      Die Keba Ladestationen senden einen UDP Broadcast wenn ich das richtig verstanden habe und bei Werteänderung kommt auch ein Paket.
      Am Miniserver habe ich die Stationen unter Netzwerkperipherie eingefügt --> Dort sehe ich im Monitor die Daten ankommen.
      Auf meinem Loxberry sehe ich mit TCP Dump auch Daten, (mir kommt vor weniger als am Miniserver), wenn ich vom Miniserver einen UDP Befehl
      an meinen Loxberry NodeRED sende sehe ich diesen im TCP Dump und auch im NodeRED.
      Die Broadcast Daten werden mir aber nicht angezeigt und da stehe ich gerade auf dem Schlauch weil ich nicht weiß warum das so sein sollte.

      Vielen Dank


      Loxone Auszug

      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 404
Größe: 22,9 KB
ID: 360371Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 410
Größe: 2,7 KB
ID: 360372


      Node RED Auszug​
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 419
Größe: 5,2 KB
ID: 360373Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 412
Größe: 16,9 KB
ID: 360374​​

      Vielen Dank
      ​​
      Angehängte Dateien

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6314

        #4
        Warum Dir Daten am Loxberry nicht angezeigt werden, die nicht für ihn bestimmt sind, kann ich Dir sehr wohl sagen. Heute arbeitet man mit Network Switches und nicht mehr mit HUB‘s hier ist es dann so, dass Du Pakete nur sehen kannst, wenn Du das entsprechende Gerät bist, oder die Vermittlungsstelle. Das ist aber ein anderes Thema. Was mir nicht klar war, dass es scheinbar für die Wallbox ein Netzwerkgerät in Loxone gibt. Wenn Loxone da die Infos schon abfängt, kann es das Du die da nicht weiter verarbeiten kannst. Dazu müsstest Du wahrscheinlich die Wallboxen wieder raus nehmen und UDP selber verarbeiten. Aber Du müsstest Deine Information doch in den einzelnen Wallboxen bekommen und verarbeiten können.
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • rem4332
          Dumb Home'r
          • 10.07.2020
          • 15

          #5
          Vielen Dank svethi für deine Antwort.
          Hmm den Broadcast empfangen doch alle Maschinen im gleichen Netz, ich teste das mal, wenn ich die Kebas von der LoxConfig wegnehme ob ich dann mehr sehe.
          Ich weiß was du meinst im Netz, vielleicht ist auch mein Broadcast Ansatz falsch mal sehen.
          Du hattes vollkommen recht sag ich ja vor lauter Wald sehe ich die Bäume nicht. Wenn ich das Gerät aus der Konfig nehme kommen auch keine UDP Pakete mehr an.
          Alles klar, dh die Lox triggert die Keba Wallboxen damit die eine Antwort geben. Hat im Monitor nach Broadcast ausgesehen und Wireshark hatte ich nicht gestartet.
          Asche über mein Haupt.

          Ja die Wallbox ist in der Lox eingebunden. Es gibt ein fertiges Netzwerkgerät dazu (Keba KeContact P30). Dort wird aber auch nur die IP eingetragen und die Lox spricht dann per UDP mit der
          Wallbox. Bzw. hatl die Wallbox mit der Lox.
          Im UDP Monitor kommen dann solche Daten an:
          Ladestation 6:7090 (10.43.80.9) {\n"ID": "3",\n"U1": 227,\n"U2": 226,\n"U3": 229,\n"I1": 15943,\n"I2": 16024,\n"I3": 16133,\n"P": 10935737,\n"PF": 999,\n"E pres": 6232,\n"E total": 77266003,\n"Serial": "20243570",\n"Sec": 12008\n}\n7B,0A,22,49,44,22,3A,20,22,33,22,2C,0A,2 2,55,31,22,3A,20,32,32,37,2C,0A,22,55,32,22,3A,20, 32,32,36,2C,0A,22,55,33,22,3A,20,32,32,39,2C,0A,22 ,49,31,22,3A,20,31,35,39,34,33,2C,0A,22,49,32,22,3 A,20,31,36,30,32,34,2C,0A,22,49,33,22,3A,20,31,36, 31,33,33,2C,0A,22,50,22,3A,20,31,30,39,33,35,37,33 ,37,2C,0A,22,50,46,22,3A,20,39,39,39,2C,0A,22,45,2 0,70,72,65,73,22,3A,20,36,32,33,32,2C,0A,22,45,20, 74,6F,74,61,6C,22,3A,20,37,37,32,36,36,30,30,33,2C ,0A,22,53,65,72,69,61,6C,22,3A,20,22,32,30,32,34,3 3,35,37,30,22,2C,0A,22,53,65,63,22,3A,20,31,32,30, 30,38,0A,7D,0A
          Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 745
Größe: 3,0 KB
ID: 360427
          das mit dem Verarbeiten ist richtig, aber ich kann den Wert nicht zwischenspeichern also mir Merken.
          Ich beschreibe mal was ich machen will ich denke dann wird es doch noch einfacher. Ich habe hier 16 WBs (Wallboxen), jeder Nutzer hat einen RFID Chip, diese sind auf der Master WB angelegt und geben somit den Ladevorgang frei, wenn das Auto angeschlossen ist. Nun hab ich in der Lox die WBs eingebunden und gesagt sie dürfen nur ab 0700 -- 1900 laden.
          Das ist die Zeit wo wir mit unserer PV Strom erzeugen. Soweit so gut, aber der User hält seinen Chip um 0500 zur Ladestation und es sollte dann automatisch um 0700 zu laden beginnen.
          Die WBs können das natürlich nicht, die Auth ist nach 90sec weg.

          Zum Problem, ich kann die CHIP ID auslesen wenn dieser bei der WB hingehalten wird. Ich kann auch per UDP Befehl den Ladevorgang starten/stopen.
          Aber ich komme nicht dahinter wie ich mir die CHIP ID (aus der Befehlserkennung) in der Lox speichern kann und danach um 0700 wieder an die Ladestation schicke damit diese zu laden beginnt.
          Daher meine banale Idee mit Node Red die Daten einzulesen zu speichern und dann zur richtigen Zeit wieder an die WB abzugeben.
          Um diese Dinge halt noch hübsch darzustellen wollte ich die WB in der Lox, damit Verbrauch per Sitzung aufgezeichnet werden unsw. wie auch die Zeitsteuerung über die Lox zu bewältigen.


          So ich glaub das wars.

          Vielen Dank



          Kommentar

          • rem4332
            Dumb Home'r
            • 10.07.2020
            • 15

            #6
            Ich könnte mich echt selbst hauen. Danke nochmal für den Tipp ich bin nun schon weiter. Ich muss der WB eine Anfrage senden sonst bekomme ich nix retour von Ihr.
            Ganz verstehen tu ich es noch nicht weil in der Beschreibung steht doch
            2.3 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

            das würde ja heißen das die Ladestation sehr wohl einen Broadcast macht.


            Kommentar

            • rem4332
              Dumb Home'r
              • 10.07.2020
              • 15

              #7
              Guten Morgen zusammen,

              so ich bin einen ganzen Schritt weiter gekommen.
              Zur Info es macht keinen unterschied ob die WB in die Lox eingebunden ist oder nicht.
              Was ich noch nicht herausgefunden habe ist warum nur die Lox die Broadcasts der Ladestationen sieht und der Loxberry nicht.
              Werde ich heute Abend mal mit Wireshark analysieren.

              So sieht meine derzeitige Logik aus noch weit nicht perfekt aber vielleicht kommen ja noch ein paar Kommentare von euch dazu.
              Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 34,5 KB ID: 360549
              Was ich mach, mit dem Befehl "report 100" als UDP Command bekommt man von der WB als Antwort einen json String
              Code:
              {
              "ID": "100",
              "Session ID": 248,
              "Curr HW": 20000,
              "E start": 60813292,
              "E pres": 0,
              "started[s]": 1665592070,
              "ended[s]": 1665592397,
              "started": "2022-10-12 16:27:50.000",
              "ended": "2022-10-12 16:33:17.000",
              "reason": 1,
              "timeQ": 3,
              "RFID tag": "ef639b4600000000",
              "RFID class": "d00e064d000000000000",
              "Serial": "20243579",
              "Sec": 2672981
              }
              retour aus diesem extrahiere ich meine RFID die an die WB gehalten wurde.
              Leider musste ich feststellen das die WB im gesperrten Zustand (von der Lox aus Zeitschaltuhr)Klicke auf die Grafik für eine vergrößerte Ansicht  Name: image.png Ansichten: 0 Größe: 10,8 KB ID: 360550
              leider nicht die RFID aufzeichnet. Somit ist die RFID die letztgültige von der letzten erfolgreichen Ladung.
              Über Funktion schneide ich noch die Nullen weg und sende ein start [RFID] an die gewünschte WB.
              Und schon hat man eine Zeitsteuerung mit RFID Auth wenn auch noch nicht perfekt.

              Vielen Dank nochmal auch für die Denkanstöße. Wenn auch nach einem etwas holprigen Start.

              lg Reinhard

              Kommentar

              Lädt...