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 0000000..020b8a0
Binary files /dev/null and b/node-red-contrib-xiaomi-all/icons/light-icon.png differ
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"