Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. UDP empfangen und auswerten

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    355

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

UDP empfangen und auswerten

Scheduled Pinned Locked Moved Einbindung von Geräten
11 Posts 3 Posters 1.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Gutty

    Hi, ich befasse mich seit kurzem mit IoBroker, um langsam mal den Wildwuchs in geordnete Bahnen zu bekommen.
    Ich habe im Haus verschiedene Geräte, die kommunizieren per udp broadcast mit selbst geschriebenem Protokoll. Z.B. sendet einer #23M19.5< das heisst dann, die Variable 23 hat den Wert 19,5
    Das wird dann geparst, von dem Gerät, das den Wert verwendet, z.B. Display für die Aussentemperatur, und ein anderes Gerät schickt den Wert auf Thingspeak.
    Nun will ich die werte in IoBroker reinbekommen, finde aber keinen "Adapter" der udp annimmt und dann z.B. über js parst und zur Verfügung stellt. Wie kann ich sowas angehen?
    Viele Grüsse vom Newbie aus Spanien

    paul53P Offline
    paul53P Offline
    paul53
    wrote on last edited by
    #2

    @gutty
    Den Multicast-Adapter probiert?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    G 1 Reply Last reply
    0
    • paul53P paul53

      @gutty
      Den Multicast-Adapter probiert?

      G Offline
      G Offline
      Gutty
      wrote on last edited by Gutty
      #3

      @paul53 Nein, weil "Have a uniform API available based on multicast communication and JSON formatted data transmission"

      und ich momentan am implementierten Protokoll nichts ändern will/kann. Aber für zukünftige Sachen käme der wohl in Frage

      1 Reply Last reply
      0
      • mickymM Offline
        mickymM Offline
        mickym
        Most Active
        wrote on last edited by mickym
        #4

        Wenn Du Node-Red nutzt, da gibts per Default UDP Nodes.

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Reply Last reply
        0
        • G Gutty

          Hi, ich befasse mich seit kurzem mit IoBroker, um langsam mal den Wildwuchs in geordnete Bahnen zu bekommen.
          Ich habe im Haus verschiedene Geräte, die kommunizieren per udp broadcast mit selbst geschriebenem Protokoll. Z.B. sendet einer #23M19.5< das heisst dann, die Variable 23 hat den Wert 19,5
          Das wird dann geparst, von dem Gerät, das den Wert verwendet, z.B. Display für die Aussentemperatur, und ein anderes Gerät schickt den Wert auf Thingspeak.
          Nun will ich die werte in IoBroker reinbekommen, finde aber keinen "Adapter" der udp annimmt und dann z.B. über js parst und zur Verfügung stellt. Wie kann ich sowas angehen?
          Viele Grüsse vom Newbie aus Spanien

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #5

          @gutty
          Man kann in der Javascript-Instanz udp-packet als zusätzliches NPM-Modul installieren.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          mickymM 1 Reply Last reply
          0
          • paul53P paul53

            @gutty
            Man kann in der Javascript-Instanz udp-packet als zusätzliches NPM-Modul installieren.

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            wrote on last edited by
            #6

            @paul53 sagte in UDP empfangen und auswerten:

            @gutty
            Man kann in der Javascript-Instanz udp-packet als zusätzliches NPM-Modul installieren.

            Na wenn er eh schon Node-Red nutzt dann wäre es halt eine zusätzliches Modul was geladen werden muss.

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            G 1 Reply Last reply
            0
            • mickymM mickym

              @paul53 sagte in UDP empfangen und auswerten:

              @gutty
              Man kann in der Javascript-Instanz udp-packet als zusätzliches NPM-Modul installieren.

              Na wenn er eh schon Node-Red nutzt dann wäre es halt eine zusätzliches Modul was geladen werden muss.

              G Offline
              G Offline
              Gutty
              wrote on last edited by
              #7

              @mickym nein, node-Red benutze ich (noch?) nicht. werds mir anschauen. Wie gesagt, ich bin noch sehr neu im IoBroker.

              Danke für die Infos

              mickymM 1 Reply Last reply
              0
              • G Gutty

                @mickym nein, node-Red benutze ich (noch?) nicht. werds mir anschauen. Wie gesagt, ich bin noch sehr neu im IoBroker.

                Danke für die Infos

                mickymM Offline
                mickymM Offline
                mickym
                Most Active
                wrote on last edited by
                #8

                @gutty

                @gutty sagte in UDP empfangen und auswerten:

                node-Red benutze ich (noch?) nicht.

                Ein Fehler. ;) - Adapter installieren und auf gehts. ;)

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                G 1 Reply Last reply
                0
                • mickymM mickym

                  @gutty

                  @gutty sagte in UDP empfangen und auswerten:

                  node-Red benutze ich (noch?) nicht.

                  Ein Fehler. ;) - Adapter installieren und auf gehts. ;)

                  G Offline
                  G Offline
                  Gutty
                  wrote on last edited by
                  #9

                  @mickym Nun, ich hab mich inzwischen etwas mehr mit befasst. Es war zu kompliziert gedacht. In Javascript direkt geht es am einfachsten:

                  const dgram = require('dgram');
                  const server = dgram.createSocket('udp4');
                  
                  server.on('listening', function () {
                    const address = server.address();
                  });
                  
                  server.on('message', function (message, remote) {
                  const text = message.toString();
                  
                  var regex = /#03M(-?\d+\.\d+)</;            
                  
                  var match = text.match(regex);
                  if (match) {
                    const zahl = Number(match[1]);
                  
                  setState('0_userdata.0.Druck'/*Druck*/, zahl, true);
                  }
                  
                  regex = /#43M(-?\d+\.\d+)</;            
                  match = text.match(regex);
                  if (match) {
                      const zahl = Number(match[1]);
                      setState('0_userdata.0.TempSonne', zahl);
                  }
                  
                  regex = /#42M(-?\d+\.\d+)</;            
                  match = text.match(regex);
                  if (match) {
                      const zahl = Number(match[1]);
                      setState('0_userdata.0.TempSchatten', zahl);
                  }
                  
                  const numArray = [getState('0_userdata.0.ESP_Dach.Temp1'/*Temp1*/).val, getState('0_userdata.0.ESP_Dach.Temp2'/*Temp2*/).val, getState('0_userdata.0.ESP_Dach.Temp3'/*Temp3*/).val, getState('0_userdata.0.TempSchatten'/*TempSchatten*/).val, getState('0_userdata.0.TempSonne'/*TempSonne*/).val];
                  const lowestNum = Math.min(...numArray);
                  const MaxNum = Math.max(...numArray);
                  setState('0_userdata.0.NiedriegstTemp'/*NiedriegstTemp*/, lowestNum);
                  setState('0_userdata.0.HoechstTemp'/*HoechstTemp*/, MaxNum);
                  });
                  server.bind(6001);
                  

                  Ein Grossteil davon stammt von ChatGPT, von Javascript habe ich noch so gut wie keine Ahnung.

                  mickymM 1 Reply Last reply
                  0
                  • G Gutty

                    @mickym Nun, ich hab mich inzwischen etwas mehr mit befasst. Es war zu kompliziert gedacht. In Javascript direkt geht es am einfachsten:

                    const dgram = require('dgram');
                    const server = dgram.createSocket('udp4');
                    
                    server.on('listening', function () {
                      const address = server.address();
                    });
                    
                    server.on('message', function (message, remote) {
                    const text = message.toString();
                    
                    var regex = /#03M(-?\d+\.\d+)</;            
                    
                    var match = text.match(regex);
                    if (match) {
                      const zahl = Number(match[1]);
                    
                    setState('0_userdata.0.Druck'/*Druck*/, zahl, true);
                    }
                    
                    regex = /#43M(-?\d+\.\d+)</;            
                    match = text.match(regex);
                    if (match) {
                        const zahl = Number(match[1]);
                        setState('0_userdata.0.TempSonne', zahl);
                    }
                    
                    regex = /#42M(-?\d+\.\d+)</;            
                    match = text.match(regex);
                    if (match) {
                        const zahl = Number(match[1]);
                        setState('0_userdata.0.TempSchatten', zahl);
                    }
                    
                    const numArray = [getState('0_userdata.0.ESP_Dach.Temp1'/*Temp1*/).val, getState('0_userdata.0.ESP_Dach.Temp2'/*Temp2*/).val, getState('0_userdata.0.ESP_Dach.Temp3'/*Temp3*/).val, getState('0_userdata.0.TempSchatten'/*TempSchatten*/).val, getState('0_userdata.0.TempSonne'/*TempSonne*/).val];
                    const lowestNum = Math.min(...numArray);
                    const MaxNum = Math.max(...numArray);
                    setState('0_userdata.0.NiedriegstTemp'/*NiedriegstTemp*/, lowestNum);
                    setState('0_userdata.0.HoechstTemp'/*HoechstTemp*/, MaxNum);
                    });
                    server.bind(6001);
                    

                    Ein Grossteil davon stammt von ChatGPT, von Javascript habe ich noch so gut wie keine Ahnung.

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #10

                    @gutty sagte in UDP empfangen und auswerten:

                    von Javascript habe ich noch so gut wie keine Ahnung.

                    Na deswegen habe ich Dir ja Node Red empfohlen, wenn Du nicht codieren willst.

                    Aber ich will niemand zu seinem Glück zwingen. chatGPT kann das sicher besser. ;)

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    G 1 Reply Last reply
                    0
                    • mickymM mickym

                      @gutty sagte in UDP empfangen und auswerten:

                      von Javascript habe ich noch so gut wie keine Ahnung.

                      Na deswegen habe ich Dir ja Node Red empfohlen, wenn Du nicht codieren willst.

                      Aber ich will niemand zu seinem Glück zwingen. chatGPT kann das sicher besser. ;)

                      G Offline
                      G Offline
                      Gutty
                      wrote on last edited by
                      #11

                      @mickym naja, etwas codieren kann ich schon, Arduino C halt. Deswegen ist mir Code grundsätzlich lieber als Blöcke zusammen klicken.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      274

                      Online

                      32.7k

                      Users

                      82.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe