NEWS
Javascript - Datenpunkt per UDP Senden
-
Hallo zusammen.
Ich hab den iobroker nun seit 3 Wochen und er löst bei mir den Loxberry ab, da ich ein Loxone Smarthome habe.
Viele Dinge sind wirklich sehr leicht verständlich auch für mich als "newby". Jedoch komme ich nun nicht weiter. Bestimmt kann mir hier jemand helfen. Ich würde gerne einen bestehenden Datenpunkt im ioBroker (Aktuelle Produktion des Wechselrichter) welche ich sekündlich per MQTT erhalte, per UDP an den Miniserver senden. Das Javascript war recht simpel aber ich verstehe noch nicht wie ich den Datenpunkt als Wert in mein Script kriege.
// openDTU | PC-currentvar dgram = require('dgram');
var message = new Buffer('mqtt.0.DTU.xxxxxxx.0.current');
var client = dgram.createSocket('udp4');
client.send(message, 0, message.length, 6610,'xx.xxx.x.xx', function(err, bytes) {
if (err) throw err;
client.close();
}); -
Hallo zusammen.
Ich hab den iobroker nun seit 3 Wochen und er löst bei mir den Loxberry ab, da ich ein Loxone Smarthome habe.
Viele Dinge sind wirklich sehr leicht verständlich auch für mich als "newby". Jedoch komme ich nun nicht weiter. Bestimmt kann mir hier jemand helfen. Ich würde gerne einen bestehenden Datenpunkt im ioBroker (Aktuelle Produktion des Wechselrichter) welche ich sekündlich per MQTT erhalte, per UDP an den Miniserver senden. Das Javascript war recht simpel aber ich verstehe noch nicht wie ich den Datenpunkt als Wert in mein Script kriege.
// openDTU | PC-currentvar dgram = require('dgram');
var message = new Buffer('mqtt.0.DTU.xxxxxxx.0.current');
var client = dgram.createSocket('udp4');
client.send(message, 0, message.length, 6610,'xx.xxx.x.xx', function(err, bytes) {
if (err) throw err;
client.close();
});So ganz verstehe ich deine Frage nicht.
Wenn du wissen willst wie du Änderungen an einem Datenpunkt gemeldet bekommts - sprich eine Funktion deine Scripts ausgeführt wird, wenn sich ein Datenpunkt ändert dann ist "on" das Stcihwort dass du suchst.Beispiel:
// switch
on({id: idEnergethixButtonPressedShort, val:true}, onEnergethixButtonPressedShort);Die Funktion onEnergethix ButtonPressedShort wird heier aufgerufen sobald auf den
Datenpunkt idEnergethixButtonPressedShort geschrieben wird.Werte eines Datenpunktes bekommst du mittels getState Funktion
-
Hallo zusammen.
Ich hab den iobroker nun seit 3 Wochen und er löst bei mir den Loxberry ab, da ich ein Loxone Smarthome habe.
Viele Dinge sind wirklich sehr leicht verständlich auch für mich als "newby". Jedoch komme ich nun nicht weiter. Bestimmt kann mir hier jemand helfen. Ich würde gerne einen bestehenden Datenpunkt im ioBroker (Aktuelle Produktion des Wechselrichter) welche ich sekündlich per MQTT erhalte, per UDP an den Miniserver senden. Das Javascript war recht simpel aber ich verstehe noch nicht wie ich den Datenpunkt als Wert in mein Script kriege.
// openDTU | PC-currentvar dgram = require('dgram');
var message = new Buffer('mqtt.0.DTU.xxxxxxx.0.current');
var client = dgram.createSocket('udp4');
client.send(message, 0, message.length, 6610,'xx.xxx.x.xx', function(err, bytes) {
if (err) throw err;
client.close();
});@loxoner86 sagte in Javascript - Datenpunkt per UDP Senden:
// openDTU | PC-current
let myDP=getState('xxxxx').val -
So ganz verstehe ich deine Frage nicht.
Wenn du wissen willst wie du Änderungen an einem Datenpunkt gemeldet bekommts - sprich eine Funktion deine Scripts ausgeführt wird, wenn sich ein Datenpunkt ändert dann ist "on" das Stcihwort dass du suchst.Beispiel:
// switch
on({id: idEnergethixButtonPressedShort, val:true}, onEnergethixButtonPressedShort);Die Funktion onEnergethix ButtonPressedShort wird heier aufgerufen sobald auf den
Datenpunkt idEnergethixButtonPressedShort geschrieben wird.Werte eines Datenpunktes bekommst du mittels getState Funktion
-
@mcm57 Mein Wert ist eine Zahl und kein Schater
Ich möchte einen Datenpunkt welchen ich in ioBroker bereitshabe per Javascript bei änderung per UDP versenden.
@loxoner86
Mit einem einfachen Trigger erhältst Du bei jeder Änderung Deines Datenpunktes den Wert.
Den kannst Du dann an Deinen Server senden.on({id: "DeinDatenpunkt", change: "ne"}, async function (obj) { var value = obj.state.val; // hier Dein Code zum Senden. In "value" steht der aktuelle Wert des DP }); -
@loxoner86 sagte in Javascript - Datenpunkt per UDP Senden:
// openDTU | PC-current
let myDP=getState('xxxxx').val -
@mcm57 Mein Wert ist eine Zahl und kein Schater
Ich möchte einen Datenpunkt welchen ich in ioBroker bereitshabe per Javascript bei änderung per UDP versenden.
@loxoner86
Schalter oder Wert macht keinen Unterschied bei den Funktionen.Aber Codierknecht hat eh schon ein ausführlicheres Beispiel geschickt
-
@loxoner86
Schalter oder Wert macht keinen Unterschied bei den Funktionen.Aber Codierknecht hat eh schon ein ausführlicheres Beispiel geschickt
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