node-red-contrib-uhppoted
Version:
A set of nodes for the UHPPOTE Wiegand Access Controller
113 lines (106 loc) • 4.58 kB
HTML
<script type="text/html" data-template-name="uhppoted-set-door-control">
<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">
<label for="node-input-topic"><i class="fa fa-tag"></i>Topic</label>
<input type="text" id="node-input-topic" placeholder="Message topic" />
</div>
<div class="form-row">
<label for="node-input-config"><i class="fa fa-tag"></i>Configuration</label>
<input id="node-input-config" />
</div>
</script>
<script type="text/html" data-help-name="uhppoted-set-door-control">
<p>Sets the controller door control mode and unlocked interval.</p>
<h3>Inputs</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object</span></dt>
<dd>JSON object with the controller ID and door operational parameters for
'set-door-control'</dd>
<dt class="optional">topic<span class="property-type">string</span></dt>
<dd>identifying message topic for output</dd>
</dl>
<h3>Outputs</h3>
<dl class="message-properties">
<dt>payload<span class="property-type">object</span></dt>
<dd>JSON object with the controller current device door control state</dd>
<dt>topic<span class="property-type">string</span></dt>
<dd>message topic copied from input</dd>
</dl>
<h3>Details</h3>
<p>The input <code>msg.payload</code> is a JSON object identifying the destination controller
and the door number, delay and control mode.</p>
<p>The controller is identified by specifying either the (legacy) 'deviceId' or the composite
controller' object which supports both UDP and TCP connections. Defaults to broadcast UDP if
the address or protocol are not valid.</p>
<dl class="message-properties">
<dt>deviceId<span class="property-type">uint32</span></dt>
<dd>controller serial number</dd>
<dt>controller.id<span class="property-type">uint32</span></dt>
<dd>controller serial number</dd>
<dt>controller.address<span class="property-type">string</span></dt>
<dd>controller IPv4 address</dd>
<dt>controller.protocol<span class="property-type">string</span></dt>
<dd>controller connection protocol ('udp' or 'tcp')</dd>
<dt>door<span class="property-type">uint8</span></dt>
<dd>Door ID (1-4)</dd>
<dt>delay<span class="property-type">uint8</span></dt>
<dd>Door unlock duration (seconds)</dd>
<dt>control<span class="property-type">string</span></dt>
<dd>'normally open', 'normally closed', 'controlled'</dd>
</dl>
<h4>Example:</h4>
<pre>
{
"deviceId": 405419896,
"door": 1,
"delay": 5,
"control": "controlled"
}</pre>
<pre>
{
"controller": {
"controller": 405419896,
"address": "192.168.1.100",
"protocol": "tcp"
},
"door": 1,
"delay": 5,
"control": "controlled"
}</pre>
<p>The output <code>msg.payload</code> is a JSON object containing the door control state
(normally open, normally closed or controlled) from the UHPPOTE controller with
serial number matching the request:</p>
<dl class="message-properties">
<dt>deviceId<span class="property-type">uint32</span></dt>
<dd>controller serial number</dd>
<dt>doorControlState.door<span class="property-type">uint8</span></dt>
<dd>Door ID (1-4)</dd>
<dt>doorControlState.delay<span class="property-type">uint8</span></dt>
<dd>Door unlock duration (seconds)</dd>
<dt>doorControlState.control.value<span class="property-type">uint8</span></dt>
<dd>Numeric code for door control state (normally open:1, normally closed:2, controlled:3)</dd>
<dt>doorControlState.control.state<span class="property-type">string</span></dt>
<dd>'normally open', 'normally closed', 'controlled' or 'unknown'</dd>
</dl>
<h4>Example:</h4>
<pre>
{
"deviceId": 405419896,
"doorControlState": {
"door": 1,
"delay": 5,
"control": {
"value": 3,
"state": "controlled"
}
}
}</pre>
<h3>References</h3>
<ul>
<li><a href="https://github.com/uhppoted">uhppoted</a>: GitHub umbrella project</li>
<li><a href="https://github.com/uhppoted/uhppoted-lib-node-red">uhppoted-lib-node-red</a>: GitHub project</li>
</ul>
</script>