UNPKG

node-red-contrib-homekit-mqtt

Version:
179 lines (160 loc) 5.96 kB
<!-- NodeRED HomeKit MQTT Copyright (C) 2017 Michael Jacobsen / Marius Schmeding. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. --> <script type="text/x-red" data-template-name="homekit-temperaturesensor-v2"> <div class="form-row"> <b>MQTT Settings</b> </div> <div class="form-row"> <label for="node-input-client"><i class="fa fa-globe"></i> MQTT Server</span></label> <input type="text" id="node-input-client"> </div> <div class="form-row"> <label for="node-input-nodename"><i class="fa fa-tag"></i> Nodename</span></label> <input type="text" id="node-input-nodename" Nodename> </div> <div class="form-row"> <label for="node-input-dataid"><i class="fa fa-tag"></i> Data Id</span></label> <input type="text" id="node-input-dataid" Data Id> </div> <div class="form-row"> <label for="node-input-wdt"><i class="fa fa-tag"></i> Watchdog</span></label> <input type="text" id="node-input-wdt" 60> </div> <div class="form-row"> <b>HomeKit Settings</b> </div> <div class="form-row"> <label for="node-input-accessory"> <i class="fa fa-rocket"></i> Accessory</label> <input id="node-input-accessory"> </div> <div class="form-row"> <label for="node-input-name"> <i class="fa fa-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> <div class="form-row"> <b>Default values</b> </div> <div class="form-row"> <label for="node-config-input-statusactive" style="width: auto"><i class="fa fa-cog"></i> Active</label> <input type="checkbox" id="node-config-input-statusactive" style="display: inline-block; width: auto; vertical-align: top;"> </div> <div class="form-row"> <label for="node-input-statusfault"><i class="fa fa-cog"></i> Status Fault</span></label> <select id="node-input-statusfault"> <option value="-1">Do not set default value (-1)</option> <option value="0">No Fault (0)</option> <option value="1">General Fault (1)</option> </select> </div> <div class="form-row"> <label for="node-input-statustampered"><i class="fa fa-cog"></i> Status Tampered</span></label> <select id="node-input-statustampered"> <option value="-1">Do not set default value (-1)</option> <option value="0">Not Tampered (0)</option> <option value="1">Tampered (1)</option> </select> </div> <div class="form-row"> <label for="node-input-statuslowbattery"><i class="fa fa-cog"></i> Status Battery</span></label> <select id="node-input-statuslowbattery"> <option value="-1">Do not set default value (-1)</option> <option value="0">Battery Level Normal (0)</option> <option value="1">Battery Level Low (1)</option> </select> </div> <div class="form-tips"> <b>Input</b><br/> <code>msg.topic</code> must be one of these:<br/> <i><nbsp>currenttemperature</i> (Float)<br/> <i><nbsp>statusactive</i> (Bool)<br/> <i><nbsp>statusfault</i> (UInt8)<br/> <i><nbsp>statustampered</i> (UInt8)<br/> <i><nbsp>statuslowbattery</i> (UInt8)<br/> <br/> <b>Outputs</b><br/> <code>1:</code> Transactions<br/> <code>2:</code> Log<br/> <code>3:</code> Online/Offline status<br/> </div> </script> <script type="text/javascript"> RED.nodes.registerType('homekit-temperaturesensor-v2', { category: 'homekit_mqtt-function', paletteLabel: 'TemperatureSensor', defaults: { client: { type: "homekit-mqtt-client", required: true }, nodename: { value: "", required: true }, dataid: { value: "TemperatureSensor.", required: true }, wdt: { value: 65, required: true, validate:RED.validators.number() }, accessory: { value: "", type: "homekit-accessory-v2", required: true }, name: { value: "" }, serviceName: { value: "TemperatureSensor", required: true }, statusactive: { value: true }, statusfault: { value: -1 }, statustampered: { value: -1 }, statuslowbattery: { value: -1 } }, inputs: 1, outputs: 3, icon: "homekit.png", color: "#fcc127", label: function() { return this.name || "TemperatureSensor"; }, labelStyle: function() { return this.name ? "node_label_italic" : "" }, oneditprepare: function () { if (typeof this.statusactive === 'undefined') { this.statusactive = true } $("#node-config-input-statusactive").prop("checked", this.statusactive) } }) </script>