From 72b7bed6eec6ad228d904b2d7e3fec44dd3c4038 Mon Sep 17 00:00:00 2001 From: Pierre CLEMENT Date: Thu, 18 Jan 2018 20:21:37 +0100 Subject: [PATCH] fix(all node): fix only filters in conf Close #20 --- node-red-contrib-xiaomi-all/xiaomi-all.html | 10 +++++++++- node-red-contrib-xiaomi-all/xiaomi-all.js | 2 +- package.json | 1 + 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/node-red-contrib-xiaomi-all/xiaomi-all.html b/node-red-contrib-xiaomi-all/xiaomi-all.html index e63c67a..bd70aaf 100644 --- a/node-red-contrib-xiaomi-all/xiaomi-all.html +++ b/node-red-contrib-xiaomi-all/xiaomi-all.html @@ -19,12 +19,20 @@ oneditprepare: function() { var node = this; + function getOnlyModelsValue(input) { + var cleanOnlyModels = []; + input.forEach((value) => { + cleanOnlyModels = cleanOnlyModels.concat(value.split(',')); + }); + return cleanOnlyModels; + } + function changeGateway(gateway, onlyModels, excludedSids) { var configNodeID = gateway || $('#node-input-gateway').val(); if (configNodeID) { var configNode = RED.nodes.node(configNodeID); if(configNode) { - onlyModels = onlyModels || $('#node-input-onlyModels').val() || []; + onlyModels = getOnlyModelsValue(onlyModels || $('#node-input-onlyModels').val() || []); excludedSids = excludedSids || $('#node-input-excludedSids').val() || []; $('#node-input-excludedSids').empty(); for (key in configNode.deviceList) { diff --git a/node-red-contrib-xiaomi-all/xiaomi-all.js b/node-red-contrib-xiaomi-all/xiaomi-all.js index df3cb30..04c96fc 100644 --- a/node-red-contrib-xiaomi-all/xiaomi-all.js +++ b/node-red-contrib-xiaomi-all/xiaomi-all.js @@ -32,7 +32,7 @@ module.exports = (RED) => { if (this.gateway) { this.on('input', (msg) => { // Filter input - if(msg.payload.model && msg.payload.sid) { + if(msg.payload && msg.payload.model && msg.payload.sid) { if(!this.isDeviceValid(msg.payload)) { msg = null; } diff --git a/package.json b/package.json index bfc4283..7e9de31 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "keywords": [ "Xiaomi", "Aqara", + "Yeelight", "node-red" ], "node-red": {