NEWS
UDP-Befehl mittels Blockly / JavaScript senden?
-
Wie kann ich einen UDP-Befehl mittels Blockly /JavaScript senden?
udp://192.168.1.183:8899/0x4E${intensity.math((127*10)/255)}55
-
Hallo,
war hier schon mal: viewtopic.php?f=21&t=16128&p=169388
und hier auch mit Beispiel: viewtopic.php?f=37&t=11402&p=121080
Du must noch das npm Modul dgram im Javascript Adapter installieren. Einfach in den Einstellungen eintragen.
Gruß
Pix
-
Leider sind die Links mittlerweile tot und die Suche hat mich bisher auch nicht viel weiter gebracht.
Ich muss folgendes,
FF 13 02 9C A5 25 80 AA 77 61 64 6D 69 6E 00 61 64 6D 69 6E 00 2E
einmal täglich zu fester Uhrzeit, per UDP verschickenBin leider schon bei der Installation von "dgram" gescheitert
javascript.0 2020-11-13 10:45:39.781 error (20170) deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your
hat jemand einen Tip ?
Danke -
@Aiouh die Links funktionieren noch, du musst mit der rechten Maustaste klicken und dann ...Tab in einem neuen Fenster öffnen...
-
@crunchip Ah- I see. OK dann such ich mal weiter
-
@aiouh Hallo. Hat es nun geklappt ? Könntest du mir eventuell auf dir Sprünge helfen ? Ich würde gerne Datenpunkte bei Änderung per UDP an Loxone Senden kriege aber das Javascript nicht zum laufen.
-
Wieso grabt ihr 5 Jahre alte Threads aus?
Da kann inzwischen einiges verändert sein. -
im javascript adapter läuft node.
hier ein beispiel direkt aus der node dokumentationimport dgram from 'node:dgram'; import { Buffer } from 'node:buffer'; const message = Buffer.from('FF13029CA52580AA7761646D696E0061646D696E002E', 'hex'); const client = dgram.createSocket('udp4'); client.send(message, 8899, '192.168.1.183', (err) => { client.close(); });
ich hab hier mal auf die version 18 LTS verlinkt. da hat sich aber mit 19 auch nix verändert.
Nicht durch die Doku verwirren lassen. Mit node kannst du auch udp server entwickeln. Das ist ein wenig komplexer
die verwendeten module/bibliotheken sind bestandteile von node, daher müssen sie nicht in den javascript adapter einstellungen eingetragen werden.Wenn du das senden willst,
FF 13 02 9C A5 25 80 AA 77 61 64 6D 69 6E 00 61 64 6D 69 6E 00 2E
musst du nur die hexzahlen der reihe nach ohne leerzeichen schreiben.
Ich habe dir den code oben mal aufbereitet. theoretisch einfach nur copy paste. sofern deine angaben alle stimmen. die hex zahlen kann ich nicht überprüfenconst message = Buffer.from('FF13029CA52580AA7761646D696E0061646D696E002E', 'hex'); // Prints <Buffer FF 13 02 9C A5 25 80 AA 77 61 64 6D 69 6E 00 61 64 6D 69 6E 00 2E>, all data represented.
https://nodejs.org/api/buffer.html#buffers-and-character-encodings (ziemlich am Ende des Abschnitts