UNPKG

@halsystems/red-bacnet

Version:
76 lines (65 loc) 3.5 kB
<script type="text/javascript"> RED.nodes.registerType('write point', { category: 'redbacnet', color: '#b5e6ff', defaults: { name: { value: "" }, client: { type: "bacnet client", required: true }, maxConcurrentDeviceWrite: { value: 3, required: true, validate: RED.validators.number() }, maxConcurrentPointWrite: { value: 5, required: true, validate: RED.validators.number() }, }, inputs: 1, outputs: 1, icon: "hal-systems.png", label: function () { return this.name || "write point"; } }); </script> <script type="text/html" data-template-name="write point"> <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-client"><i class="fa fa-tag"></i> Client</label> <input type="text" id="node-input-client"> </div> <div class="form-row"> <label for="node-input-maxConcurrentDeviceWrite"><i class="fa fa-tag"></i> Max Concurrent Device Write</label> <input type="number" id="node-input-maxConcurrentDeviceWrite" placeholder="3" , min="1" , max="1000"> </div> <div class="form-row"> <label for="node-input-maxConcurrentPointWrite"><i class="fa fa-tag"></i> Max Concurrent Point Write</label> <input type="number" id="node-input-maxConcurrentPointWrite" placeholder="5" , min="1" , max="1000"> </div> </script> <script type="text/html" data-help-name="write point"> <p>Write BACnet points</p> <h3>Config</h3> <dl class="message-properties"> <dt>client<span class="property-type">string</span></dt> <dd> BACnet Client</dd> <dt>maxConcurrentDeviceWrite<span class="property-type">number</span></dt> <dd> Devices count to write simultaneously.</dd> <dd> <b> USE WITH CAUTION!</b> Reduce to low value on a slow network</dd> <dt>maxConcurrentPointWrite<span class="property-type">number</span></dt> <dd> Number of points to write simultaneously</dd> <dd> <b>USE WITH CAUTION!</b> Reduce to low value if field BACnet device is underpowered</dd> </dl> <h3>Inputs</h3> <dl class="message-properties"> <dt>msg.devices <span class="property-type">array</span></dt> <dd> A list of devices generated from discover device node (modify values if required)</dd> <dt>msg.points <span class="property-type">array</span></dt> <dd> A list of points generated from discover point node (modify values if required)</dd> <dd> Points to be written MUST be <code>priority</code> set to 1-16</dd> <dt>msg.writePoints <span class="property-type">object</span></dt> <dd> Format: {&lt;deviceName&gt;.&lt;pointName&gt;: &lt;value&gt;, ...}</dd> <dd> Eg: {'VAV_1.ZoneTemp_SP': 21.5, ...}</dd> <dt class="optional">msg.id <span class="property-type">string | number</span></dt> <dd> Job ID. Default to <code>task</code> if not provided.</dd> </dl> <h3>Details</h3> <p>If node is triggered while existing job is running, new job will be coalesced if <code>msg.id</code> are identical, else new job will be put in queue until current job is completed.</p> </script>