UNPKG

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

Version:
122 lines (109 loc) 5.04 kB
<script type="text/javascript"> RED.nodes.registerType('ocn-diagnostic', { category: 'Strato Automation', color: '#f3b567', defaults: { ocn_server_node: { type: "ocn-server", required: true, label: "ocn server" }, name: { value: "", label: "Name" }, }, inputs: 0, outputs: 1, icon: "font-awesome/fa-search", paletteLabel: function() { return "Diagnostic"; }, label: function () { return (this.name) }, labelStyle: function () { return this.name ? "node_label_italic" : ""; }, }); </script> <script type="text/html" data-template-name="ocn-diagnostic"> <!-- Basic Settings --> <div class="form-tips" style="margin-bottom: 20px;"> <b>Basic Settings</b> </div> <div class="form-row"> <label for="node-input-name"><i class="fa fa-bookmark"></i> Name</label> <input type="text" id="node-input-name" placeholder="Optional name for this diagnostic node"> </div> <!-- Connection Settings --> <div class="form-tips" style="margin: 20px 0;"> <b>Connection Settings</b> </div> <div style="padding-left: 10px; border-left: 3px solid #ddd;"> <div class="form-row"> <label for="node-input-ocn_server_node"><i class="fa fa-server"></i> OCN Server</label> <input type="ocn-server" id="node-input-ocn_server_node"> </div> </div> <div class="form-tips" style="margin-top: 20px;"> <p><i class="fa fa-info-circle"></i> Tip: This node automatically monitors and reports statistics about BACnet communication performance.</p> </div> </script> <script type="text/html" data-help-name="ocn-diagnostic"> <p>A diagnostic node that monitors and reports statistics about BACnet write operations through the OCN Server.</p> <h3>Outputs</h3> <dl class="message-properties"> <dt>payload <span class="property-type">object</span></dt> <dd> Statistics object containing: <ul> <li><code>deviceInstance</code> - The BACnet device instance number</li> <li><code>objectCount</code> - Number of objects written in this batch</li> <li><code>objects</code> - Array of written objects with details: <ul> <li><code>objectType</code> - BACnet object type</li> <li><code>objectInstance</code> - Object instance number</li> <li><code>propertyId</code> - Property ID (e.g., 85 for Present_Value)</li> <li><code>priority</code> - Write priority level</li> <li><code>value</code> - Written value</li> </ul> </li> <li><code>time</code> - Time taken for the write operation in milliseconds</li> <li><code>status</code> - HTTP response status code</li> </ul> </dd> </dl> <h3>Configuration</h3> <dl class="message-properties"> <dt>Name <span class="property-type">string</span></dt> <dd>Optional name to identify the node in the flow</dd> <dt>OCN Server <span class="property-type">config</span></dt> <dd>The OCN Server configuration node to monitor</dd> </dl> <h3>Details</h3> <p>This node monitors write operations performed by the PresentValueUpdateService, which handles batched writes to BACnet devices. It provides detailed information about:</p> <h4>Monitored Information</h4> <ul> <li><b>Write Operations:</b> Details of each batch write operation</li> <li><b>Response Times:</b> Time taken for write operations to complete</li> <li><b>Success Status:</b> HTTP status codes indicating success or failure</li> <li><b>Object Details:</b> Complete information about written objects</li> </ul> <h4>Operation</h4> <p>The node:</p> <ul> <li>Monitors both IP and MSTP write operations</li> <li>Reports statistics for each batch write operation</li> <li>Provides detailed object-level information</li> <li>Includes timing and status information</li> </ul> <h4>Write Batching</h4> <p>The service automatically batches writes with the following limits:</p> <ul> <li>IP devices: Maximum 40 objects per batch</li> <li>MSTP devices: Maximum 15 objects per batch</li> </ul> <h4>Error Handling</h4> <p>If the PresentValueUpdateService is not available, the node will log an error and stop operation. Ensure that an OCN Server node is properly configured in the flow.</p> <p>This diagnostic information is valuable for:</p> <ul> <li>Monitoring write operation performance</li> <li>Debugging communication issues</li> <li>Verifying write operations</li> <li>Analyzing batch processing efficiency</li> </ul> </script>