UNPKG

grunig-nodes

Version:

Grünig Nodes Library

53 lines (41 loc) 2.07 kB
module.exports = function(RED) { function MQTT_InfluxDB_Alarm(config) { RED.nodes.createNode(this, config); var node = this; // Nachrichtenverarbeitungsfunktion node.on('input', function(msg) { // Einstellungen speichern var topicPath = config.topicPath || ""; // Standardwert verwenden, wenn nicht vorhanden var type = config.typeDB || ""; for (var i = 1; i <= 15; i++) { // Speichern der Datenwerte var variableName = "data" + i; var dataString = config[variableName]; // Speichern des Topics var topic = topicPath + "/" + dataString; var value; if (msg.topic.includes(topic)){ if (msg.payload.Value && typeof msg.payload.Value === 'object' && 'value' in msg.payload.Value){ value = msg.payload.Value.value } else{ value = msg.payload.Value; } //******************** */ var obj1 = {}; obj1["Alarm"] = type; obj1["Message"] = dataString; var obj2 = { _type: "Alarm" }; var dataMsg = [obj1, obj2]; // Rückgabe des msg-Objekts if (dataString !== "" && dataString !== undefined && value !== undefined && value === 1 && type !== undefined) { msg.payload = dataMsg; node.send(msg); } } } }); } // Node-Typ registrieren RED.nodes.registerType("MQTT-InfluxDB-Alarm", MQTT_InfluxDB_Alarm); };