Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. UDP empfangen und auswerten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    UDP empfangen und auswerten

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Gutty last edited by

      @gutty
      Den Multicast-Adapter probiert?

      G 1 Reply Last reply Reply Quote 0
      • G
        Gutty @paul53 last edited by Gutty

        @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 Reply Quote 0
        • mickym
          mickym Most Active last edited by mickym

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

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Gutty last edited by

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

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @paul53 last edited by

              @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 1 Reply Last reply Reply Quote 0
              • G
                Gutty @mickym last edited by

                @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

                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Gutty last edited by

                  @gutty

                  @gutty sagte in UDP empfangen und auswerten:

                  node-Red benutze ich (noch?) nicht.

                  Ein Fehler. 😉 - Adapter installieren und auf gehts. 😉

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    Gutty @mickym last edited by

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

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Gutty last edited by 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 1 Reply Last reply Reply Quote 0
                      • G
                        Gutty @mickym last edited by

                        @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 Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        896
                        Online

                        31.9k
                        Users

                        80.3k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        913
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo