node-red-contrib-miio-airfresh
Version:
Miio node for Air Fresh (Xiaomi MJXFJ-150-A1)
63 lines (49 loc) • 1.83 kB
JavaScript
const miio = require('miio');
module.exports = function (RED) {
class MiioAirFreshGet {
constructor(config) {
RED.nodes.createNode(this, config);
var node = this;
node.config = config;
node.cleanTimer = null;
node.status({}); //clean
//get server node
node.server = RED.nodes.getNode(node.config.server);
if (node.server) {
} else {
node.status({
fill: "red",
shape: "dot",
text: "node-red-contrib-miio-airfresh/get:status.server_node_error"
});
}
node.status({}); //clean
node.on('input', function (message_in) {
clearTimeout(node.cleanTimer);
var status = node.server.status;
if (Object.keys(status).length) {
node.status({
fill: "green",
shape: "dot",
text: "node-red-contrib-miio-airfresh/get:status.received",
});
node.send({
payload: status,
status: status,
payload_in:message_in
});
node.cleanTimer = setTimeout(function () {
node.status({}); //clean
}, 3000);
} else {
node.status({
fill: "red",
shape: "dot",
text: "node-red-contrib-miio-airfresh/get:status.device_not_set"
});
}
});
}
}
RED.nodes.registerType('miio-airfresh-get', MiioAirFreshGet, {});
};