node-red-contrib-viveresmartgroup-knxultil
Version:
A set of utility nodes to translate messages between KNX, Alexa, Homekit and deConz.
120 lines (106 loc) • 4.34 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('KnxUltil', {
category: 'KnxUltil',
color: '#5DADE2',
defaults: {
name: { value: "" },
inputpayloadtype: { value: "node-red-contrib-knx-ultimate" },
outputpayloadtype: { value: "node-red-contrib-homekit-bridged" },
devicetype: { value: "boolean" },
topic: { value: "result" }
},
inputs: 1,
outputs: 1,
outputLabels: function (i) {
switch (i) {
case 0:
return "Payload";
break;
default:
break;
}
},
icon: "serial.png",
label:
function () {
return this.name || this.topic || "KnxUltil";
},
paletteLabel: function () {
return "KnxUltil";
},
oneditprepare: function () {
// Add write and response as default for existing nodes like was default before
if (this.outputtriggeredby === 'all') {
$("#triggertopic").hide()
} else {
$("#triggertopic").show()
}
$("#node-input-outputtriggeredby").on('change', function () {
if ($("#node-input-outputtriggeredby").val() === "all") {
$("#triggertopic").hide()
} else {
$("#triggertopic").show()
}
})
// default
if (typeof this.outputtriggeredby === "undefined") {
$("#node-input-outputtriggeredby").val("all");
this.outputtriggeredby = "all";
}
// default
if (typeof this.sInitializeWith === "undefined") {
$("#node-input-sInitializeWith").val("WaitForPayload");
this.sInitializeWith = "WaitForPayload";
}
},
oneditsave: function () {
}
});
</script>
<script type="text/x-red" data-template-name="KnxUltil">
<div class="form-row">
<b>KnxUltil</b>    <span style="color:red"><i class="fa fa-question-circle"></i> <a target="_blank" href="https://github.com/vivereSmartGroup/node-red-contrib-viveresmartgroup-knxultil"><u>Help online</u></a></span>
<br/>
<br/>
</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-topic"><i class="fa fa-tasks"></i> Topic</label>
<input type="text" id="node-input-topic" placeholder="Node's own topic">
</div>
<div class="form-row">
<label for="node-input-devicetype"><i class="fa fa-task"></i> Will handle</label>
<select type="text" id="node-input-devicetype">
<option value="boolean">Boolean (for example TRUE/FALSE, ON/OFF)</option>
<option value="temperature">Temperature</option>
<option value="brightness">Brightness</option>
<!-- <option value="cover">Cover (for example, shutter or blind)</option> -->
</select>
</div>
<div class="form-row">
<label for="node-input-inputpayloadtype"><i class="fa fa-arrow-right"></i> Input</label>
<select type="text" id="node-input-inputpayloadtype" style="width:60%">
<option value="node-red-contrib-knx-ultimate">node-red-contrib-knx-ultimate</option>
<option value="node-red-contrib-homekit-bridged">node-red-contrib-homekit-bridged</option>
<option value="node-red-contrib-alexa-smart-home">node-red-contrib-alexa-smart-home</option>
<option value="node-red-contrib-deconz">node-red-contrib-deconz</option>
<option value="node-red-contrib-googlehome">node-red-contrib-googlehome</option>
</select>
</div>
<div class="form-row">
<label for="node-input-outputpayloadtype"><i class="fa fa-arrow-right"></i> Output</label>
<select type="text" id="node-input-outputpayloadtype" style="width:60%">
<option value="node-red-contrib-knx-ultimate">node-red-contrib-knx-ultimate</option>
<option value="node-red-contrib-homekit-bridged">node-red-contrib-homekit-bridged</option>
<option value="node-red-contrib-alexa-smart-home">node-red-contrib-alexa-smart-home</option>
<option value="node-red-contrib-deconz">node-red-contrib-deconz</option>
<option value="node-red-contrib-googlehome">node-red-contrib-googlehome</option>
</select>
</div>
</script>
<script type="text/x-red" data-help-name="KnxUltil">
<b>KnxUltil</b>    <span style="color:red"><i class="fa fa-question-circle"></i> <a target="_blank" href="https://github.com/vivereSmartGroup/node-red-contrib-viveresmartgroup-knxultil"><u>Help online</u></a></span>
</script>