- Temperature/humidty
+ Temperature/Humidty
+ Natgas/Alarm/Density
+ Smoke/Alarm/Density
Motion
Switches
Contacts
diff --git a/node-red-contrib-xiaomi-configurator/icons/natgas-tw-icon.png b/node-red-contrib-xiaomi-configurator/icons/natgas-tw-icon.png
new file mode 100644
index 0000000..dfe2cb7
Binary files /dev/null and b/node-red-contrib-xiaomi-configurator/icons/natgas-tw-icon.png differ
diff --git a/node-red-contrib-xiaomi-configurator/icons/smoke-tw-icon.png b/node-red-contrib-xiaomi-configurator/icons/smoke-tw-icon.png
new file mode 100644
index 0000000..dfe2cb7
Binary files /dev/null and b/node-red-contrib-xiaomi-configurator/icons/smoke-tw-icon.png differ
diff --git a/node-red-contrib-xiaomi-configurator/xiaomi-configurator.html b/node-red-contrib-xiaomi-configurator/xiaomi-configurator.html
index 5ebba6b..e11b21f 100644
--- a/node-red-contrib-xiaomi-configurator/xiaomi-configurator.html
+++ b/node-red-contrib-xiaomi-configurator/xiaomi-configurator.html
@@ -15,6 +15,8 @@
var node = this;
var tw_sensor_ht = {value:"sensor_ht", label:"sensor ht", icon:"icons/node-red-contrib-mi-devices/thermometer-tw-icon.png"};
+ var tw_natgas = {value:"natgas", label:"natgas", icon:"icons/node-red-contrib-mi-devices/natgas-tw-icon.png"};
+ var tw_smoke = {value:"smoke", label:"smoke", icon:"icons/node-red-contrib-mi-devices/smoke-tw-icon.png"};
var tw_magnet = {value:"magnet", label:"contact", icon:"icons/node-red-contrib-mi-devices/door-tw-icon.png"};
var tw_motion = {value:"motion", label:"motion", icon:"icons/node-red-contrib-mi-devices/motion-tw-icon.png"};
var tw_plug = {value:"plug", label:"plug", icon:"icons/node-red-contrib-mi-devices/outlet-tw-icon.png"};
@@ -31,7 +33,7 @@
var sid = $(' ',{id:"node-config-input-sid-"+i,type:"text", placeholder:"SID", style:"width:auto;vertical-align:top"}).appendTo(row);
sid.typedInput({
default: 'sensor_ht',
- types: [tw_sensor_ht, tw_magnet, tw_motion, tw_plug, tw_switch]
+ types: [tw_sensor_ht, tw_natgas, tw_smoke, tw_magnet, tw_motion, tw_plug, tw_switch]
});
$(' ',{for:"node-config-input-desc-"+i, style:"margin-left: 7px; width: 20px;vertical-align:middle"}).html(' ').appendTo(row);
@@ -114,6 +116,8 @@
At the moment the following devices are supported:
Humidity & Temperature sensor [sensor ht/]
+ Natgas sensor [natgas]
+ Smoke sensor [smoke]
Body motion sensor [motion]
Magnet contact sensor [contact]
Wall socket plug (zigbee) [plug]
diff --git a/node-red-contrib-xiaomi-natgas/icons/natgas-icon.png b/node-red-contrib-xiaomi-natgas/icons/natgas-icon.png
new file mode 100644
index 0000000..e5cd8f3
Binary files /dev/null and b/node-red-contrib-xiaomi-natgas/icons/natgas-icon.png differ
diff --git a/node-red-contrib-xiaomi-natgas/icons/org_natgas-icon.png b/node-red-contrib-xiaomi-natgas/icons/org_natgas-icon.png
new file mode 100644
index 0000000..86c7e68
Binary files /dev/null and b/node-red-contrib-xiaomi-natgas/icons/org_natgas-icon.png differ
diff --git a/node-red-contrib-xiaomi-natgas/xiaomi-natgas.html b/node-red-contrib-xiaomi-natgas/xiaomi-natgas.html
new file mode 100644
index 0000000..c55a676
--- /dev/null
+++ b/node-red-contrib-xiaomi-natgas/xiaomi-natgas.html
@@ -0,0 +1,131 @@
+
+
+
+
+
diff --git a/node-red-contrib-xiaomi-natgas/xiaomi-natgas.js b/node-red-contrib-xiaomi-natgas/xiaomi-natgas.js
new file mode 100644
index 0000000..9386d76
--- /dev/null
+++ b/node-red-contrib-xiaomi-natgas/xiaomi-natgas.js
@@ -0,0 +1,9 @@
+const miDevicesUtils = require('../src/utils');
+
+module.exports = (RED) => {
+ // natgas
+ function XiaomiNatgasNode(config) {
+ miDevicesUtils.defaultNode(RED, config, this);
+ }
+ RED.nodes.registerType("xiaomi-natgas", XiaomiNatgasNode);
+};
diff --git a/node-red-contrib-xiaomi-smoke/icons/org_smoke-icon.png b/node-red-contrib-xiaomi-smoke/icons/org_smoke-icon.png
new file mode 100644
index 0000000..86c7e68
Binary files /dev/null and b/node-red-contrib-xiaomi-smoke/icons/org_smoke-icon.png differ
diff --git a/node-red-contrib-xiaomi-smoke/icons/smoke-icon.png b/node-red-contrib-xiaomi-smoke/icons/smoke-icon.png
new file mode 100644
index 0000000..5f533cd
Binary files /dev/null and b/node-red-contrib-xiaomi-smoke/icons/smoke-icon.png differ
diff --git a/node-red-contrib-xiaomi-smoke/xiaomi-smoke.html b/node-red-contrib-xiaomi-smoke/xiaomi-smoke.html
new file mode 100644
index 0000000..80a9342
--- /dev/null
+++ b/node-red-contrib-xiaomi-smoke/xiaomi-smoke.html
@@ -0,0 +1,131 @@
+
+
+
+
+
diff --git a/node-red-contrib-xiaomi-smoke/xiaomi-smoke.js b/node-red-contrib-xiaomi-smoke/xiaomi-smoke.js
new file mode 100644
index 0000000..93eb334
--- /dev/null
+++ b/node-red-contrib-xiaomi-smoke/xiaomi-smoke.js
@@ -0,0 +1,9 @@
+const miDevicesUtils = require('../src/utils');
+
+module.exports = (RED) => {
+ // smoke
+ function XiaomiSmokeNode(config) {
+ miDevicesUtils.defaultNode(RED, config, this);
+ }
+ RED.nodes.registerType("xiaomi-smoke", XiaomiSmokeNode);
+};
diff --git a/package.json b/package.json
index eedee03..12b45a8 100644
--- a/package.json
+++ b/package.json
@@ -1,47 +1,35 @@
{
- "name": "node-red-contrib-mi-devices",
- "version": "1.1.1",
- "description": "A set of nodes to control some of the popular Xiaomi sensors which are connected to the Xiaomi Gateway, and the Gateway itself.",
- "repository": {
- "type": "git",
- "url": "git+ssh://git@github.com:pierrecle/node-red-contrib-mi-devices.git"
- },
- "scripts": {
- "clean": "rimraf dist",
- "build": "npm run clean && npm run build:ts && npm run build:ejs && npm run build:icons",
- "build:ts": "tsc --allowUnreachableCode -p .",
- "build:ejs": "npm run build:ejs:indexes",
- "build:ejs:indexes": "ejs-cli --base-dir src/ --options \"{\\\"NODES_PREFIX\\\": \\\"mi-devices\\\"}\" \"**/index.ejs\" --out dist/",
- "build:ejs:devices": "ejs-cli --base-dir src/ --options \"{\\\"NODES_PREFIX\\\": \\\"mi-devices\\\"}\" \"nodes/devices/*.ejs\" --out dist/",
- "build:icons": "npm run build:icons:yeelight",
- "build:icons:gateway": "cp -pr icons/gateway dist/nodes/gateway/icons",
- "build:icons:devices": "cp -pr icons/devices dist/nodes/devices/icons",
- "build:icons:actions": "cp -pr icons/actions dist/nodes/actions/icons",
- "build:icons:yeelight": "cp -pr icons/yeelight dist/nodes/yeelight/icons"
- },
- "license": "MIT",
- "keywords": [
- "Xiaomi",
- "Aqara",
- "Yeelight",
- "node-red"
+ "_args": [
+ [
+ "node-red-contrib-mi-devices@1.1.1",
+ "/private/var/node-red"
+ ]
],
- "node-red": {
- "nodes": {
- "xiaomi-ht": "node-red-contrib-xiaomi-ht/xiaomi-ht.js",
- "xiaomi-magnet": "node-red-contrib-xiaomi-magnet/xiaomi-magnet.js",
- "xiaomi-motion": "node-red-contrib-xiaomi-motion/xiaomi-motion.js",
- "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",
- "xiaomi-yeelight": "dist/nodes/yeelight/index.js"
- }
+ "_from": "node-red-contrib-mi-devices@1.1.1",
+ "_id": "node-red-contrib-mi-devices@1.1.1",
+ "_inBundle": false,
+ "_integrity": "sha512-uUizxWcRgjML83O+nfElPoct6q+2cZHLN96gvSagzx7MtEtcVtTz0pUYiebWhNWd4EzM5UvDa9mI7KYHNmIKPg==",
+ "_location": "/node-red-contrib-mi-devices",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "node-red-contrib-mi-devices@1.1.1",
+ "name": "node-red-contrib-mi-devices",
+ "escapedName": "node-red-contrib-mi-devices",
+ "rawSpec": "1.1.1",
+ "saveSpec": null,
+ "fetchSpec": "1.1.1"
+ },
+ "_requiredBy": [
+ "/"
+ ],
+ "_resolved": "https://registry.npmjs.org/node-red-contrib-mi-devices/-/node-red-contrib-mi-devices-1.1.1.tgz",
+ "_spec": "1.1.1",
+ "_where": "/private/var/node-red",
+ "author": {
+ "name": "Pierre CLEMENT"
},
- "author": "Pierre CLEMENT",
"bugs": {
"url": "https://github.com/pierrecle/node-red-contrib-mi-devices/issues"
},
@@ -51,14 +39,58 @@
"miio": "^0.14.1",
"yeelight-wifi": "^2.3.0"
},
- "engines": {
- "node": ">=4.4.5"
- },
+ "description": "A set of nodes to control some of the popular Xiaomi sensors which are connected to the Xiaomi Gateway, and the Gateway itself.",
"devDependencies": {
"@types/node-red": "^0.17.1",
"ejs": "^2.5.7",
"ejs-cli": "^2.0.0",
"rimraf": "^2.6.2",
"typescript": "^2.6.2"
- }
+ },
+ "engines": {
+ "node": ">=4.4.5"
+ },
+ "homepage": "https://github.com/pierrecle/node-red-contrib-mi-devices#readme",
+ "keywords": [
+ "Xiaomi",
+ "Aqara",
+ "Yeelight",
+ "node-red"
+ ],
+ "license": "MIT",
+ "name": "node-red-contrib-mi-devices",
+ "node-red": {
+ "nodes": {
+ "xiaomi-ht": "node-red-contrib-xiaomi-ht/xiaomi-ht.js",
+ "xiaomi-natgas": "node-red-contrib-xiaomi-natgas/xiaomi-natgas.js",
+ "xiaomi-smoke": "node-red-contrib-xiaomi-smoke/xiaomi-smoke.js",
+ "xiaomi-magnet": "node-red-contrib-xiaomi-magnet/xiaomi-magnet.js",
+ "xiaomi-motion": "node-red-contrib-xiaomi-motion/xiaomi-motion.js",
+ "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"
+ }
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+ssh://git@github.com/pierrecle/node-red-contrib-mi-devices.git"
+ },
+ "scripts": {
+ "build": "npm run clean && npm run build:ts && npm run build:ejs && npm run build:icons",
+ "build:ejs": "npm run build:ejs:indexes",
+ "build:ejs:devices": "ejs-cli --base-dir src/ --options \"{\\\"NODES_PREFIX\\\": \\\"mi-devices\\\"}\" \"nodes/devices/*.ejs\" --out dist/",
+ "build:ejs:indexes": "ejs-cli --base-dir src/ --options \"{\\\"NODES_PREFIX\\\": \\\"mi-devices\\\"}\" \"**/index.ejs\" --out dist/",
+ "build:icons": "npm run build:icons:yeelight",
+ "build:icons:actions": "cp -pr icons/actions dist/nodes/actions/icons",
+ "build:icons:devices": "cp -pr icons/devices dist/nodes/devices/icons",
+ "build:icons:gateway": "cp -pr icons/gateway dist/nodes/gateway/icons",
+ "build:icons:yeelight": "cp -pr icons/yeelight dist/nodes/yeelight/icons",
+ "build:ts": "tsc --allowUnreachableCode -p .",
+ "clean": "rimraf dist"
+ },
+ "version": "1.1.1"
}