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

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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

UDP empfangen und auswerten

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
11 Beiträge 3 Kommentatoren 1.3k Aufrufe 1 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.
  • G Offline
    G Offline
    Gutty
    schrieb am zuletzt editiert von Gutty
    #1

    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 2 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • paul53P paul53

        @gutty
        Den Multicast-Adapter probiert?

        G Offline
        G Offline
        Gutty
        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
        0
        • mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • paul53P paul53

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

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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 Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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 Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #11

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

                        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

                        795

                        Online

                        32.7k

                        Benutzer

                        82.3k

                        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