From 3ebdbf9100bccc9d1ee7d663bd0d0c98abc76607 Mon Sep 17 00:00:00 2001 From: Pierre CLEMENT Date: Mon, 1 Jan 2018 03:54:28 +0100 Subject: [PATCH] feat(all): add all devices node --- .../icons/light-icon.png | Bin 0 -> 10323 bytes node-red-contrib-xiaomi-all/xiaomi-all.html | 43 ++++++++++++++++++ node-red-contrib-xiaomi-all/xiaomi-all.js | 22 +++++++++ package.json | 1 + 4 files changed, 66 insertions(+) create mode 100644 node-red-contrib-xiaomi-all/icons/light-icon.png create mode 100644 node-red-contrib-xiaomi-all/xiaomi-all.html create mode 100644 node-red-contrib-xiaomi-all/xiaomi-all.js diff --git a/node-red-contrib-xiaomi-all/icons/light-icon.png b/node-red-contrib-xiaomi-all/icons/light-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..020b8a077ab0a97a5042e6d8b94b21c578cd2272 GIT binary patch literal 10323 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 E2WuA$-2eap literal 0 HcmV?d00001 diff --git a/node-red-contrib-xiaomi-all/xiaomi-all.html b/node-red-contrib-xiaomi-all/xiaomi-all.html new file mode 100644 index 0000000..f9ef5d8 --- /dev/null +++ b/node-red-contrib-xiaomi-all/xiaomi-all.html @@ -0,0 +1,43 @@ + + + + + diff --git a/node-red-contrib-xiaomi-all/xiaomi-all.js b/node-red-contrib-xiaomi-all/xiaomi-all.js new file mode 100644 index 0000000..39f87c9 --- /dev/null +++ b/node-red-contrib-xiaomi-all/xiaomi-all.js @@ -0,0 +1,22 @@ +module.exports = function(RED) { + "use strict"; + var mustache = require("mustache"); + var miDevicesUtils = require('../utils'); + + function XiaomiAllNode(config) { + RED.nodes.createNode(this, config); + this.gateway = RED.nodes.getNode(config.gateway); + + var node = this; + + if (this.gateway) { + node.on('input', function(msg) { + msg.payload = node.gateway.deviceList; + node.send(msg); + }); + } + } + + RED.nodes.registerType("xiaomi-all", XiaomiAllNode); + +} diff --git a/package.json b/package.json index caf330a..e36393d 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "xiaomi-switch": "node-red-contrib-xiaomi-switch/xiaomi-switch.js", "xiaomi-socket": "node-red-contrib-xiaomi-socket/xiaomi-socket.js", "xiaomi-socket-wifi": "node-red-contrib-xiaomi-socket-wifi/xiaomi-socket-wifi.js", + "xiaomi-all": "node-red-contrib-xiaomi-all/xiaomi-all.js", "xiaomi-configurator": "node-red-contrib-xiaomi-configurator/xiaomi-configurator.js", "xiaomi-gateway": "node-red-contrib-xiaomi-gateway/xiaomi-gateway.js", "xiaomi-actions": "node-red-contrib-xiaomi-actions/xiaomi-actions.js"