Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. ioBroker Allgemein
  4. Mysensors - Wrong UDP data recieved from 192.168.1.102:57213: 234567890

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    299

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    275

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    916

Mysensors - Wrong UDP data recieved from 192.168.1.102:57213: 234567890

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
12 Beiträge 2 Kommentatoren 1.3k Aufrufe
  • Ä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.
  • M Offline
    M Offline
    Max
    schrieb am zuletzt editiert von
    #3

    @apollon77: Danke für die schnelle Antwort :)

    In dem ekey Gateway Handbuch S. 8-11 werden die Datenformate für den erforderlichen UDP-Datentransfer beschrieben. Neben Stringdaten werden auch long Datenfelder übertragen.

    So gesehen ist mein Stringfeld (für einen Anfangstest) trivial.

    Ich hoffe doch, dass die UDP Implementation im mysensors Adapter bei den Datentypen keine nennenswerten Limitationen ausweist. 1024 bytes und alle gängigen Feldtypen sollten schon gehen, oder?

    Hinzu kommt ja noch, dass die empfangenen Daten erst in einem Script ausgewertet werden müssen, um dann homematic keymatic Funktionalitäten aufzurufen. Also ist erste Empfangsinstanz für die Variablen ein Script und kein Gerät.

    Aber konkrete Rückfrage: Was wäre denn ein korrektes mysensors Format?

    1 Antwort Letzte Antwort
    0
    • apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #4

      Ist das UDP von deinem ekay Gateway wirklich mysensors kompatibel? Wenn ich das Handbuch lese isteht da nirgends etwas von "Mysensors" als protokoll.

      Daher nehme ich an es sind eigene UDP-Formate. Da bringt Dir der mysensors Adaoter pot. nichts oder wie kamst Du drauf das das gehen könnte?

      Wenn Du einfach nur UDP kommunikation willst wirst DU wohl bei einem eigenen Javascript landen

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Max
        schrieb am zuletzt editiert von
        #5

        IMO gibt es keine ekey Einbindung in mysensors. Somit ist das Datenformat erstmal nicht identisch mit einem anderen bislang über UDP integrierbaren (bekannten) Gerät.

        Wenn in mysensors UDP Datenempfang möglich ist, wie erfahre ich dann, welche Geräte mit welchem Datenformat über UDP Daten senden?

        Wenn schon der (sehr gute Ansatz) zur Unterstützung von UDP gewählt wurde, warum soll dann nicht ein Raw-Datenfeld als Datentyp bereit gestellt werden können?

        Nach meinem Verständnis würde das bedeuten, dass erst ein Gerät am Markt existieren muss und dann für dieses Gerät ein Adapter gebaut werden muss.

        Da wäre ein weiterer Datentyp raw/bytearray o.ä. doch eine sehr viel flexiblere Lösung, neue Geräte einzubinden.

        Falls ein neues Scipt für eine Integration gebaut werden muss, wie erfahre ich dann, wo und wie die Raw-Daten in iobroker ankommen? Schließlich landen sie ja auch intakt im Log.

        1 Antwort Letzte Antwort
        0
        • apollon77A Offline
          apollon77A Offline
          apollon77
          schrieb am zuletzt editiert von
          #6

          Der "mysensors" Adapter ist dafür da mit mysensors Geräten zu kommunizieren. Auf der Infoseite zum Adapter unter https://github.com/ioBroker/ioBroker.my … rmysensors steht was der Adapter tut und link zur mysensors-Seite unter https://www.mysensors.org/ ... MySensors ist eher für "eigene Geräte" gedacht. Der Adapter kann das weil es die mysensors-Bibliothek als einen erlaubtem Übertragungsweg erlaubt. An der Stelle macht der mysensors-Adapter genau das was er tun soll: MySensors Kommunikation

          Den Adapter zusätzlich zweckzuentfremden für Dinge die nicht "Mysensors" ist macht es intransparent und würde keiner erwarten.

          Einen "ohne spezifisches protokoll und so UDP Daten empfangen"-Adapter gibt es in ioBroker nicht. Ich denke auch weil der Mehrwert sich eher in grenzen hält und auch weil es in einem eigenen Skript im JavaScript Adapter mit wenigen zeilen zu erledigen ist.

          Referenz: https://nodejs.org/api/dgram.html

          Adapter sind üblicherweise dazu da um komplexere und umfangreichere Dinge bei der Kommunikation, protokollen und so so zu erleichtern das man sich damit nicht beschäftigen muss.

          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Max
            schrieb am zuletzt editiert von
            #7

            … dieser Satz lässt mein Herz gleich höher schlagen: "... weil es in einem eigenen Skript im JavaScript Adapter mit wenigen zeilen zu erledigen ist."

            Dann muss ich wohl in den sauren Apfel beißen und ein eigenes Script dafür erstellen ...

            1 Antwort Letzte Antwort
            0
            • apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #8

              Der Mehraufwand wird das Parsen der Datens ein :-))

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Max
                schrieb am zuletzt editiert von
                #9

                Kann mir jemand für den Einstieg zur Erstellung eines Javascripts zum UDP Empfang ein paar Hinweise geben oder ein Code-Snippet?

                Kann ich das mit Blocky realisieren? Bei den Standard-Aktionen unter Blocky bin ich nicht fündig geworden.

                Nach meinem Verständnis läuft der UDP server nach dem Start von iobroker permanent und ich muss unter localhost:portnummer abfragen, ob ein Datenpaket angekommen ist.

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Max
                  schrieb am zuletzt editiert von
                  #10

                  Hilfreich wäre, wenn mir jemand sagen kann, welche UDP bezogenen Funkionen im iobroker definiert sind und wo ich die doku dafür finde.

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Max
                    schrieb am zuletzt editiert von
                    #11

                    Um ekey einzubinden würde der Empfang eines Strings in der Art "19999R123456789ABCDE19" ausreichen.

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      Max
                      schrieb am zuletzt editiert von
                      #12

                      Nun bin ich schon viel weiter :)

                      Ein paar Fragen hab ich aber noch:

                      1. warum benötige ich ein delay, bis ein Datenpunktwert genutzt werden kann?

                      2. warum ist bei setState string Variablenübergabe ein Leerstring vor der Variablen notwendig? Ansonsten wird ein Leerstring im state gespeichert.

                      3. Muss der createState 'UDP_val' in iobroker nur einmal ausgeführt werden und bleibt er in iobroker auch über Stopp und Neustart hinaus erhalten?

                      4. Wie ändere ich einen JavaScript Namen?

                      JavaScript Code:

                      /*

                      UDB value empfangen und in variable laden

                      teststring home protokoll:

                      19999R123456789ABCDE19

                      function createString(name) {

                      createState(name, "", {read: true,

                      write: true,

                      desc: "Beschreibung",

                      type: "string",

                      def: ""

                      });

                      }

                      */

                      var lfd=0;

                      var PORT1 = 5003;

                      var HOST = '192.168.1.102';

                      var dgram = require('dgram');

                      var server = dgram.createSocket('udp4');

                      server.on('listening', function () {

                      var address = server.address();

                      /*createState('UDB_val',"", {read:true,

                      write: true,

                      desc: "UDB_string",

                      type: "string",

                      def: "start"

                      });*/

                      setState('UDB_val','');

                      setTimeout(function() { // delay, damit state gesetzt ist vor weiterer verwendung

                      console.log('UDP broker listening on ' + address.address + ":" + address.port + ' UDB_val: ' + getState('UDB_val').val);

                      }, 500);

                      });

                      server.on('message', function (message, remote) {

                      setState('UDB_val',''+ message,true); // warum leerstring vor der variablen notwendig?

                      setTimeout(function() { // delay, damit state gesetzt ist vor weiterer verwendung

                      lfd=lfd+1;

                      console.log('lfd: ' + lfd + ' UDP_val: ' + getState('UDB_val').val);

                      }, 500);

                      });

                      server.bind(PORT1, HOST);

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      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

                      319

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      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