2
0
Files
node-red-contrib-mi-devices/node-red-contrib-xiaomi-motion/xiaomi-motion.html
Harald Rietman fc5270ad87 Added info notes
2017-07-03 17:44:05 +02:00

125 lines
4.7 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<script type="text/javascript">
RED.nodes.registerType('xiaomi-motion', {
category: 'xiaomi',
color: '#3FADB5',
defaults: {
gateway: {value:"", type:"xiaomi-configurator"},
name: {value: ""},
sid: {value: "", required: true},
motionmsg: {value: ""},
nomotionmsg: {value: ""},
output: {value: "0"}
},
inputs: 1,
outputs: 2,
outputLabels: ["Status"],
paletteLabel: "motion",
icon: "motion-icon.png",
label: function () {
return this.name || "xiaomi-motion";
},
oneditprepare: function() {
var node = this;
// Get the config node id from the select box:
var configNodeID = $('#node-input-gateway').val();
// Get the config node using the ID:
var configNode = RED.nodes.node(configNodeID);
$("#node-input-output").change(function () {
if ($(this).val() == "2") {
$(".node-input-msg").show();
} else {
$(".node-input-msg").hide();
}
});
$("#node-input-gateway").change(function () {
});
for (key in configNode.deviceList) {
var device = configNode.deviceList[key];
if (device.model === "motion") {
$('#node-input-sid').append('<option value="' + device.sid + '">' + device.desc + '</option>');
}
}
$('#node-input-sid').val(node.sid);
},
oneditsave: function() {
var node = this;
node.sid = $("#node-input-sid").val();
}
});
</script>
<script type="text/x-red" data-template-name="xiaomi-motion">
<div class="form-row">
<label for="node-input-gateway"><i class="icon-tag"></i> Gateway</label>
<input type="text" id="node-input-gateway" placeholder="xiaomi gateway">
</div>
<div class="form-row">
<label for="node-input-name"><i class="icon-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name">
</div>
<div class="form-row">
<label for="node-input-sid"><i class="icon-tag"></i> Device</label>
<select id="node-input-sid" placeholder="xiaomi gateway"></select>
</div>
<div class="form-row">
<label for="node-input-output"><i class="icon-tag"></i> Output</label>
<select id="node-input-output" style="width:70%;">
<option value="0">Full data</option>
<option value="1">Just values</option>
<option value="2">Template</option>
</select>
</div>
<div class="form-row node-input-msg">
<label for="node-input-motionmsg"><i class="fa fa-rss"></i> Motion msg</label>
<input type="text" id="node-input-motionmsg">
</div>
<div class="form-row node-input-msg">
<label for="node-input-nomotionmsg"><i class="fa fa-circle"></i> No motion msg</label>
<input type="text" id="node-input-nomotionmsg">
</div>
</script>
<script type="text/x-red" data-help-name="xiaomi-motion">
<p>The Xiaomi body motion sensor node</p>
<dl class="message-properties">
<dt class="mandatory">Gateway</dt>
<dd>The Gateway configuration node this sensor is attached.</dd>
<dt class="optional">Name</dt>
<dd>A descriptive name for this sensor.</dd>
<dt class="mandatory">Device</dt>
<dd>The device to associate this node with. This device is configured in the Gateway configuration.</dd>
<dt class="mandatory">Output</dt>
<dd>Three output types are supported:</dd>
<ul>
<li>Full data</li>
<li>Just values</li>
<li>Template</li>
</ul>
<dt class="mandatory">Full data</dt>
<dd>Passes the complete object received from the gateway. Use this if you need the raw data.</dd>
<dt class="mandatory">Just values</dt>
<dd>Only passes the values <code>motion</code> or <code>no_motion</code>. In case of <code>no_motion</code> also the duration is passed on the second output.</dd>
<dt class="mandatory">Template</dt>
<dd>Use your own template to pass the values on. The template can contain <a href="http://mustache.github.io/mustache.5.html">mustache-style</a> tags.
Any property from the data section of the full object can be used.</dd>
</dl>
<p>Sample message:</p>
<p><pre>
{
cmd: "read_ack"
model: "motion"
sid: "158d00015ef56c"
short_id: 21672
data: "{
"voltage":3035,
"status":"motion"
}"
}</pre></p>
</script>