New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-red-contrib-knx-ultimate

Package Overview
Dependencies
Maintainers
1
Versions
461
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-red-contrib-knx-ultimate - npm Package Compare versions

Comparing version

to
1.1.33

7

CHANGELOG.md

@@ -6,3 +6,10 @@ ![Sample Node](img/logo.png)

<br/>
<p>
<b>Version 1.1.33</b> - Feb 2020<br/>
- New: the Watchdog node now outputs a msg to the flow if you issued a setGatewayConfig<br/>
- Patched and switched to knxultimate-api (v. 2.3.8) underlying API. This should fix a very rare issue causing node-red to crash giving ERR_SOCKET_DGRAM_NOT_RUNNING error.
<br/>
</p>
<p>
<b>Version 1.1.32</b> - Feb 2020<br/>

@@ -9,0 +16,0 @@ - New: in the knx-ultimate, added the option to <a href="https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki/2.-Node-Configuration" target="_blank">format the msg.payload value</a>, if it's numeric.<br/>

15

nodes/knxUltimate-config.js

@@ -1,5 +0,5 @@

const knx = require('knx');
const dptlib = require('knx/src/dptlib');
// const knx = require('knxultimate-api');
// const dptlib = require('knxultimate-api/src/dptlib');
//const knx = require('knx');
//const dptlib = require('knx/src/dptlib');
const knx = require('knxultimate-api');
const dptlib = require('knxultimate-api/src/dptlib');

@@ -83,3 +83,3 @@ const oOS = require('os')

node.timerSendTelegramFromQueue = setInterval(handleTelegramQueue, 50); // 02/01/2020 Start the timer that handles the queue of telegrams
node.timerDoInitialRead; // 17/02/2020 Timer (timeout) to do initial read of all nodes requesting initial read, after all nodes have been registered to the sercer
node.timerDoInitialRead = null; // 17/02/2020 Timer (timeout) to do initial read of all nodes requesting initial read, after all nodes have been registered to the sercer
node.stopETSImportIfNoDatapoint = typeof config.stopETSImportIfNoDatapoint === "undefined" ? "stop" : config.stopETSImportIfNoDatapoint; // 09/01/2020 Stop or Skip the import if a group address has unset datapoint

@@ -179,3 +179,3 @@ node.csv = readCSV(config.csv); // Array from ETS CSV Group Addresses

node.Disconnect = () => {
if (node.timerDoInitialRead !== undefined) clearTimeout(timerDoInitialRead); // 17/02/2020 Stop the initial read timer
if (node.timerDoInitialRead !== null) clearTimeout(node.timerDoInitialRead); // 17/02/2020 Stop the initial read timer
node.telegramsQueue = []; // 02/01/2020 clear the telegram queue

@@ -254,2 +254,3 @@ node.setAllClientsStatus("Waiting", "grey", "")

.filter(oClient => oClient.initialread)
.filter(oClient => oClient.hasOwnProperty("isWatchDog") === false)
.forEach(oClient => {

@@ -305,3 +306,3 @@ if (oClient.listenallga == true) {

// Start the timer to do initial read.
if (node.timerDoInitialRead !== undefined) clearTimeout(timerDoInitialRead);
if (node.timerDoInitialRead !== null) clearTimeout(node.timerDoInitialRead);
node.timerDoInitialRead = setTimeout(readInitialValues, 5000); // 17/02/2020 Do initial read of all nodes requesting initial read, after all nodes have been registered to the sercer

@@ -308,0 +309,0 @@ },

@@ -23,3 +23,3 @@ module.exports = function (RED) {

node.beatNumber = 0; // Telegram counter
node.timerWatchDog;
node.timerWatchDog = null;
node.isWatchDog = true;

@@ -105,3 +105,3 @@ node.checkLevel = config.checkLevel !== undefined ? config.checkLevel : "Ethernet";

node.beatNumber = 0;
if (node.timerWatchDog !== undefined) clearInterval(node.timerWatchDog);
if (node.timerWatchDog !== null) clearInterval(node.timerWatchDog);
node.timerWatchDog = setInterval(handleTheDog, node.retryInterval); // 02/01/2020 Start the timer that handles the queue of telegrams

@@ -112,3 +112,3 @@ node.setNodeStatus({ fill: "green", shape: "dot", text: "WatchDog started.", payload: "", GA: "", dpt: "", devicename: "" })

if (node.autoStart) node.StartWatchDogTimer(); // Autostart watchdog
node.on("input", function (msg) {

@@ -128,2 +128,13 @@

node.server.setGatewayConfig(msg.setGatewayConfig.IP, msg.setGatewayConfig.Port, msg.setGatewayConfig.PhysicalAddress, msg.setGatewayConfig.BindToEthernetInterface);
msg = {
type: "setGatewayConfig",
checkPerformed: "The Watchdog node changed the gateway configuration.",
nodeid: node.id,
payload: true,
description: "New Config issued to the gateway. IP:" + (msg.setGatewayConfig.IP || "Unchanged") + " Port:" + (msg.setGatewayConfig.Port || "Unchanged") + " PhysicalAddress:" + (msg.setGatewayConfig.PhysicalAddress || "Unchanged") + " BindLocalInterface:" + (msg.setGatewayConfig.BindToEthernetInterface || "Unchanged"),
completeError: ""
};
node.send(msg);
// 20/02/2020 Restart watchdog timer from scratch
node.StartWatchDogTimer();
};

@@ -141,3 +152,3 @@

});
node.on('close', function () {

@@ -144,0 +155,0 @@ clearInterval(node.timerWatchDog);

{
"name": "node-red-contrib-knx-ultimate",
"version": "1.1.32",
"version": "1.1.33",
"description": "Single Node KNX IN/OUT with optional ETS group address importer. Easy to use and highly configurable. Control your KNX intallation via Node-Red!",
"dependencies": {
"knxultimate-api": "2.3.7",
"knxultimate-api": "2.3.8",
"knx": "2.3.7"

@@ -8,0 +8,0 @@ },