forked from Mirrors/node-red-contrib-mi-devices
@@ -1,4 +1,12 @@
|
||||
<script type="text/javascript">
|
||||
function getOnlyModelsValue(input) {
|
||||
var cleanOnlyModels = [];
|
||||
input.forEach(function(value) {
|
||||
cleanOnlyModels = cleanOnlyModels.concat(value.split(','));
|
||||
});
|
||||
return cleanOnlyModels;
|
||||
}
|
||||
|
||||
RED.nodes.registerType('xiaomi-all', {
|
||||
category: 'xiaomi',
|
||||
color: '#3FADB5',
|
||||
@@ -24,7 +32,7 @@
|
||||
if (configNodeID) {
|
||||
var configNode = RED.nodes.node(configNodeID);
|
||||
if(configNode) {
|
||||
onlyModels = onlyModels || $('#node-input-onlyModels').val() || [];
|
||||
onlyModels = getOnlyModelsValue(onlyModels || $('#node-input-onlyModels').val() || []);
|
||||
excludedSids = excludedSids || $('#node-input-excludedSids').val() || [];
|
||||
$('#node-input-excludedSids').empty();
|
||||
for (key in configNode.deviceList) {
|
||||
@@ -53,6 +61,7 @@
|
||||
if(!$('#node-input-excludedSids').val()) {
|
||||
this.excludedSids = [];
|
||||
}
|
||||
this.onlyModels = getOnlyModelsValue(this.onlyModels);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -71,10 +80,10 @@
|
||||
<div class="form-row">
|
||||
<label for="node-input-onlyModels"><i class="icon-tag"></i> Only</label>
|
||||
<select multiple id="node-input-onlyModels">
|
||||
<option value="sensor_ht">Temperature/humidty</option>
|
||||
<option value="sensor_ht,weather.v1">Temperature/humidty</option>
|
||||
<option value="motion">Motion</option>
|
||||
<option value="switch">Switches</option>
|
||||
<option value="magnet">Contacts</option>
|
||||
<option value="switch,sensor_switch.aq2">Switches</option>
|
||||
<option value="magnet,sensor_magnet.aq2">Contacts</option>
|
||||
<option value="plug">Plugs</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -6,12 +6,14 @@ module.exports = (RED) => {
|
||||
this.gateway = RED.nodes.getNode(config.gateway);
|
||||
this.onlyModels = config.onlyModels;
|
||||
this.excludedSids = config.excludedSids;
|
||||
console.log(this.onlyModels);
|
||||
|
||||
|
||||
this.isDeviceValid = (device) => {
|
||||
if((!this.onlyModels || this.onlyModels.length == 0) && (!this.excludedSids || this.excludedSids.length == 0)) {
|
||||
return true;
|
||||
}
|
||||
// Is excluded
|
||||
if((this.excludedSids && this.excludedSids.length != 0) && this.excludedSids.indexOf(device.sid) >= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user