UNPKG

prisme-flow

Version:

prisme platform flow engine

374 lines (340 loc) 13.8 kB
<!-- Created by prisme.io on 09/06/2017. @author <a href="mailto:hello@prisme.io">savane vamara</a> (prisme.io) --> <script type="text/x-red" data-template-name="bacnet-server"> <div class="form-row"> <label for="node-config-input-interface"><i class="icon-bookmark"></i> Interface</label> <input type="text" id="node-config-input-interface"> </div> <div class="form-row"> <label for="node-config-input-port"><i class="icon-bookmark"></i> Port</label> <input type="text" id="node-config-input-port"> </div> <div class="form-row"> <label for="node-config-input-broadcastAddress"><i class="icon-bookmark"></i> Broadcast Address</label> <input type="text" id="node-config-input-broadcastAddress"> </div> <div class="form-row1"> <label for="node-config-input-adpuTimeout"><i class="fa fa-clock-o"></i> Connection Timeout (s)</label> <input type="text" id="node-config-input-adpuTimeout"> </div> </script> <script type="text/x-red" data-help-name="bacnet-server"> <p>To be able to communicate to BACNET devices, you have to initialize a new client instance.</p> <p> <ul> <li><code>option</code> <em>[object]</em> - The options object used for parameterising the bacstack. <ul> <li><code>port</code> <em>[number]</em> - BACNET communication port for listening and sending. Default is <code>47808</code>. <em>Optional</em>.</li> <li><code>interface</code> <em>[string]</em> - Specific BACNET communication interface if different from primary one. <em>Optional</em>.</li> <li><code>broadcastAddress</code> <em>[string]</em> - The address used for broadcast messages. Default is <code>255.255.255.255</code>. <em>Optional</em>.</li> <li><code>adpuTimeout</code> <em>[number]</em> - The timeout in milliseconds until a transaction should be interpreted as error. Default is <code>3000</code>. <em>Optional</em>.</li> </ul> </li> </ul> </p> </script> <script type="text/javascript"> RED.nodes.registerType('bacnet-server', { category: 'config', defaults: { interface: { value: '', required: true }, port: { value: 47808, required: true, validate: RED.validators.number() }, broadcastAddress: { value: '255.255.255.255', required: true }, timeout: { value: 3000, required: false, validate: RED.validators.number() } }, label: function() { return 'bacnet@' + this.interface + ':' + this.port; } }); </script> <script type="text/x-red" data-template-name="bacnet-discovery"> <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-lowLimit"><i class="icon-tag"></i> Low limit</label> <input type="text" id="node-input-lowLimit" placeholder="Low limit"> </div> <div class="form-row"> <label for="node-input-highLimit"><i class="icon-tag"></i> High limit</label> <input type="text" id="node-input-highLimit" placeholder="High limit"> </div> <div class="form-row"> <label for="node-input-address"><i class="icon-tag"></i> Address</label> <input type="text" id="node-input-address" placeholder="Address"> </div> <div class="form-row"> <label for="node-input-server"><i class="icon-globe"></i> Server</label> <input type="text" id="node-input-server"> </div> </script> <script type="text/x-red" data-help-name="bacnet-discovery"> <p>The <code>whoIs</code> command discovers all BACNET devices in the network.</p> <ul> <li><code>lowLimit</code> <em>[number]</em> - Minimal device instance number to search for. <em>Optional</em>.</li> <li><code>highLimit</code> <em>[number]</em> - Maximal device instance number to search for. <em>Optional</em>.</li> <li><code>address</code> <em>[string]</em> - Unicast address if command should device directly. <em>Optional</em>.</li> </ul> </script> <script type="text/javascript"> RED.nodes.registerType('bacnet-discovery', { category: 'plc', color: '#E9967A', defaults: { name: { value: '' }, address: { value: '', required: false }, lowLimit: { value: '', required: false, validate: RED.validators.number() }, highLimit: { value: '', required: false, validate: RED.validators.number() }, server: { value: '', type: 'bacnet-server' } }, inputs: 0, outputs: 1, icon: "bacnet.png", paletteLabel: 'BACnet', label: function() { return (this.name || 'BACnet whoIs'); } }); </script> <script type="text/x-red" data-template-name="bacnet-read"> <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-address"><i class="icon-bookmark"></i> Address</label> <input type="text" id="node-input-address" placeholder=""> </div> <div class="form-row"> <label for="node-input-objectType"><i class="icon-bookmark"></i> Object Type</label> <input type="text" id="node-input-objectType" placeholder=""> </div> <div class="form-row"> <label for="node-input-objectInstance"><i class="icon-bookmark"></i> Object Instance</label> <input type="text" id="node-input-objectInstance" placeholder=""> </div> <div class="form-row"> <label for="node-input-propertyId"><i class="icon-bookmark"></i> Property ID</label> <input type="text" id="node-input-propertyId" placeholder=""> </div> <div class="form-row"> <label for="node-input-arrayIndex"><i class="icon-bookmark"></i> Array Index</label> <input type="text" id="node-input-arrayIndex" placeholder=""> </div> <div class="form-row"> <label for="node-input-server"><i class="icon-globe"></i> Server</label> <input type="text" id="node-input-server"> </div> </script> <script type="text/x-red" data-help-name="bacnet-read"> <p>The <code>readProperty</code> command reads a single property of an object from a device.</p> <ul> <li><code>address</code> <em>[string]</em> - IP address of the target device.</li> <li><code>objectType</code> <em>[number]</em> - The BACNET object type to read.</li> <li><code>objectInstance</code> <em>[number]</em> - The BACNET object instance to read.</li> <li><code>propertyId</code> <em>[number]</em> - The BACNET property id in the specified object to read.</li> <li><code>arrayIndex</code> <em>[number]</em> - The array index of the property to be read.</li> </ul> </script> <script type="text/javascript"> RED.nodes.registerType('bacnet-read', { category: 'plc', color: '#E9967A', defaults: { name: { value: '' }, address: { value: '', required: true }, objectType: { value: '', required: true, validate: RED.validators.number() }, objectInstance: { value: '', required: true, validate: RED.validators.number() }, propertyId: { value: '', required: true, validate: RED.validators.number() }, arrayIndex: { value: undefined }, server: { value: '', type: 'bacnet-server' } }, inputs: 0, outputs: 1, icon: "bacnet.png", paletteLabel: 'BACnet read', label: function() { return (this.name || 'BACnet read'); } }); </script> <script type="text/x-red" data-template-name="bacnet-write"> <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-address"><i class="icon-bookmark"></i> Address</label> <input type="text" id="node-input-address" placeholder="Address"> </div> <div class="form-row"> <label for="node-input-objectType"><i class="icon-bookmark"></i> Type</label> <input type="text" id="node-input-objectType" placeholder="Object Type"> </div> <div class="form-row"> <label for="node-input-objectInstance"><i class="icon-bookmark"></i> Instance</label> <input type="text" id="node-input-objectInstance" placeholder="Object Instance"> </div> <div class="form-row"> <label for="node-input-propertyId"><i class="icon-bookmark"></i> Property ID</label> <input type="text" id="node-input-propertyId" placeholder="Property ID"> </div> <div class="form-row"> <label for="node-input-priority"><i class="icon-bookmark"></i> Priority</label> <input type="text" id="node-input-priority" placeholder="Priority"> </div> <div class="form-row"> <label for="node-input-applicationTag"><i class="fa fa-empire"></i> Value Type</label> <select id="node-input-applicationTag"> <option value="" disabled selected>Select your option</option> <option value="0">Null</option> <option value="1">Boolean</option> <option value="2">Unsigned Int</option> <option value="3">Signed Int</option> <option value="4">Real</option> <option value="5">Double</option> <option value="6">Octect String</option> <option value="7">Character String</option> <option value="8">Bit String</option> <option value="9">Enumerated</option> <option value="10">Date</option> <option value="11">Time</option> <option value="12">Object Id</option> <option value="13">Reserve 1</option> <option value="14">Reserve 2</option> <option value="15">Reserve 3</option> </select> </div> <div class="form-row"> <label for="node-config-input-value"><i class="fa fa-empire"></i> Value</label> <input type="text" id="node-input-value" placeholder="Value"> </div> <div class="form-row"> <label for="node-input-server"><i class="icon-globe"></i> Server</label> <input type="text" id="node-input-server"> </div> </script> <script type="text/x-red" data-help-name="bacnet-write"> <p>The <code>writeProperty</code> command writes a single property of an object to a device.</p> <ul> <li><code>address</code> <em>[string]</em> - IP address of the target device.</li> <li><code>objectType</code> <em>[number]</em> - The BACNET object type to write.</li> <li><code>objectInstance</code> <em>[number]</em> - IP address of the target device.</li> <li><code>propertyId</code> <em>[number]</em> - The BACNET property id in the specified object to write.</li> <li><code>priority</code> <em>[number]</em> - The priority to be used for writing to the property.</li> <li><code>valueList</code> <em>[array]</em> - A list of values to be written to the speicifed property. The <code>Tag</code> value has to be a <code>BacnetApplicationTags</code> declaration as specified in <code>lib/bacnet-enum.js</code>.</li> </ul> </script> <script type="text/javascript"> RED.nodes.registerType('bacnet-write', { category: 'plc', color: '#E9967A', defaults: { name: { value: '' }, address: { value: '', required: true }, objectType: { value: '', required: true, validate: RED.validators.number() }, objectInstance: { value: '', required: true, validate: RED.validators.number() }, propertyId: { value: '', required: true, validate: RED.validators.number() }, priority: { value: '', validate: RED.validators.number() }, applicationTag: { value: '' }, value: { value: '', required: true }, server: { value: '', type: 'bacnet-server' } }, inputs: 0, outputs: 1, align: 'right', icon: "bacnet.png", paletteLabel: 'BACnet write', label: function() { return (this.name || 'BACnet write'); } }); </script>