UNPKG

@strato-automation/node-red-contrib-strato-automation

Version:
166 lines (146 loc) 8.41 kB
<script type="text/javascript"> RED.nodes.registerType('ocn-server', { category: 'config', color: '#f3b567', defaults: { ocn_ip: { value: "localhost", required: true }, mqtt_port: { value: "1883", required: true }, is_mqtt_connected: { value: false }, api_token: { value: "", required: true }, ip_loop_time: { value: 500, required: true, label: "Loop time", validate: RED.validators.number() }, ip_min_send_time: { value: 100, required: true, label: "Min. send time", validate: RED.validators.number() }, ip_timeout: { value: 1000, required: true, label: "Timeout", validate: RED.validators.number()}, ip_retry_count: { value: 2, required: true, label: "Retry count", validate: RED.validators.number() }, mstp_loop_time: { value: 1000, required: true, label: "Loop time", validate: RED.validators.number() }, mstp_min_send_time: { value: 500, required: true, label: "Min. send time", validate: RED.validators.number() }, mstp_timeout: { value: 3000, required: true, label: "Timeout", validate: RED.validators.number()}, mstp_retry_count: { value: 2, required: true, label: "Retry count", validate: RED.validators.number() }, enable_debug: { value: false, required: true }, }, inputs: 0, outputs: 0, icon: "cog.svg", label: function () { return this.ocn_ip; } }); </script> <script type="text/html" data-template-name="ocn-server"> <div class="form-tips" style="margin-bottom: 20px;"> <b>Connection Settings</b> </div> <div class="form-row"> <label for="node-config-input-ocn_ip"><i class="fa fa-globe"></i> OCN IP</label> <input type="text" id="node-config-input-ocn_ip" placeholder="OCN Server IP"> </div> <div class="form-row"> <label for="node-config-input-mqtt_port"><i class="fa fa-random"></i> MQTT Port</label> <input type="text" id="node-config-input-mqtt_port" placeholder="MQTT Port"> </div> <div class="form-row"> <label for="node-config-input-api_token"><i class="fa fa-key"></i> API Token</label> <input type="password" id="node-config-input-api_token" placeholder="API Token"> </div> <div class="form-tips" style="margin: 20px 0;"> <b>IP Communication Settings</b> </div> <div style="padding-left: 10px; border-left: 3px solid #ddd;"> <div class="form-row"> <label for="node-config-input-ip_loop_time"><i class="fa fa-clock-o"></i> Loop Time</label> <input type="text" id="node-config-input-ip_loop_time" placeholder="500"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-ip_min_send_time"><i class="fa fa-clock-o"></i> Min Send Time</label> <input type="text" id="node-config-input-ip_min_send_time" placeholder="100"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-ip_timeout"><i class="fa fa-hourglass-half"></i> Timeout</label> <input type="text" id="node-config-input-ip_timeout" placeholder="1000"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-ip_retry_count"><i class="fa fa-repeat"></i> Retry Count</label> <input type="text" id="node-config-input-ip_retry_count" placeholder="2"> </div> </div> <div class="form-tips" style="margin: 20px 0;"> <b>MSTP Communication Settings</b> </div> <div style="padding-left: 10px; border-left: 3px solid #ddd;"> <div class="form-row"> <label for="node-config-input-mstp_loop_time"><i class="fa fa-clock-o"></i> Loop Time</label> <input type="text" id="node-config-input-mstp_loop_time" placeholder="1000"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-mstp_min_send_time"><i class="fa fa-clock-o"></i> Min Send Time</label> <input type="text" id="node-config-input-mstp_min_send_time" placeholder="500"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-mstp_timeout"><i class="fa fa-hourglass-half"></i> Timeout</label> <input type="text" id="node-config-input-mstp_timeout" placeholder="3000"> <span style="margin-left: 5px; color: #999;">ms</span> </div> <div class="form-row"> <label for="node-config-input-mstp_retry_count"><i class="fa fa-repeat"></i> Retry Count</label> <input type="text" id="node-config-input-mstp_retry_count" placeholder="2"> </div> </div> <div class="form-tips" style="margin: 20px 0;"> <b>Debug Settings</b> </div> <div class="form-row"> <label for="node-config-input-enable_debug"><i class="fa fa-bug"></i> Enable Debug </label> <input type="checkbox" id="node-config-input-enable_debug" style="width: auto;"> </div> </script> <script type="text/html" data-help-name="ocn-server"> <p>A configuration node that establishes connection settings for BACnet/OCN communication. Only one OCN Server node should be present per flow.</p> <h3>Configuration</h3> <dl class="message-properties"> <dt>OCN IP <span class="property-type">string</span></dt> <dd>The IP address of the OCN server (e.g., "localhost" or IP address)</dd> <dt>MQTT Port <span class="property-type">number</span></dt> <dd>The MQTT broker port number (default: 1883)</dd> <dt>API Token <span class="property-type">string</span></dt> <dd>Authentication token for OCN API access. This authentication token can be generated <a href="https://192.168.0.225/#/api-token" target="_blank">here</a></dd> </dl> <h4>IP Settings</h4> <dl class="message-properties"> <dt>Loop Time <span class="property-type">number</span></dt> <dd>Time between polling cycles in milliseconds (default: 500)</dd> <dt>Min. Send Time <span class="property-type">number</span></dt> <dd>Minimum time between sending requests in milliseconds (default: 100)</dd> <dt>Timeout <span class="property-type">number</span></dt> <dd>Request timeout in milliseconds (default: 1000)</dd> <dt>Retry Count <span class="property-type">number</span></dt> <dd>Number of retry attempts for failed requests (default: 2)</dd> </dl> <h4>MSTP Settings</h4> <dl class="message-properties"> <dt>Loop Time <span class="property-type">number</span></dt> <dd>Time between polling cycles in milliseconds (default: 1000)</dd> <dt>Min. Send Time <span class="property-type">number</span></dt> <dd>Minimum time between sending requests in milliseconds (default: 500)</dd> <dt>Timeout <span class="property-type">number</span></dt> <dd>Request timeout in milliseconds (default: 3000)</dd> <dt>Retry Count <span class="property-type">number</span></dt> <dd>Number of retry attempts for failed requests (default: 2)</dd> </dl> <h4>Debug Options</h4> <dl class="message-properties"> <dt>Enable Debug <span class="property-type">boolean</span></dt> <dd>When enabled, additional debug information will be logged to the debug sidebar</dd> </dl> <h3>Details</h3> <p>The OCN Server node manages the connection to your BACnet/OCN server and provides configuration for both IP and MSTP communication settings. It establishes an MQTT connection for real-time updates and handles API authentication.</p> <h3>Status</h3> <ul> <li><i class="fa fa-circle"></i> <strong>Green:</strong> Connected to MQTT broker</li> <li><i class="fa fa-circle-o"></i> <strong>Yellow:</strong> Reconnecting to MQTT broker</li> <li><i class="fa fa-circle-o"></i> <strong>Red:</strong> Disconnected/Offline</li> </ul> </script>