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