UNPKG

@pickdata/node-red-contrib-emod-simulator

Version:

eManager is an IoT controller designed with eMOD tech for monitoring, control and automation applications. The following nodes are pre-installed in all eMOD devices, although here we present a simulator to practice & test our modular industrial solution.

107 lines (103 loc) 5.63 kB
<!-- Copyright (c) 2020,2021 PickData SL (https://www.pickdata.net/) All rights reserved. node-red-contrib-emod-simulator - The BSD 3-Clause License --> <script type="text/javascript"> RED.nodes.registerType('10DI-S-Config',{ category: 'config', defaults: { name: {value:""}, pulseFilterMsI1: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI2: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI3: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI4: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI5: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI6: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI7: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI8: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI9: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, pulseFilterMsI10: {value:10, required: false, validate:RED.validators.regex(/^$|^[0-9]+$/)}, eventMode: {value:"poll"}, threshold: {value:1, required: false, validate:function(v) {return /^$|^[0-9]+$/.test(v) && parseInt(v) >= 1}}, //resetPulseCount: {value:false, required: false} Disabled for now }, label: function() { return this.name||"10DI-S-Config"; } }); function DISeventModeChanged() { switch ($("#node-config-input-eventMode").val()) { case "pulse-count": $("#threshold-row").show(); break; default: $("#threshold-row").hide(); break; } } </script> <script type="text/html" data-template-name="10DI-S-Config"> <div class="form-row"> <label for="node-config-input-name"><i class="fa fa-tag"></i> Name</label> <input type="text" id="node-config-input-name" placeholder="Name"> </div> <!-- <div class="form-row" id="resetPulseCount-row"> <label for="node-config-input-resetPulseCount"><i class="fa fa-eraser"></i> Reset pulse count at start</label> <input type="checkbox" id="node-config-input-resetPulseCount" style="max-width:30px"> </div> Disabled for now ---> <div class="form-row"> <label for="node-config-input-eventMode"><i class="fa fa-bars"></i> Working mode</label> <select id="node-config-input-eventMode" onchange="DISeventModeChanged()"> <option value="poll">Poll</option> <option value="status">[Event] Input value change</option> <option value="pulse-count">[Event] Pulse count change</option> </select> </div> <div class="form-row" id="threshold-row" style="display: none;"> <label for="node-config-input-threshold"><i class="fa fa-minus"></i> Pulse count threshold</label> <input type="number" id="node-config-input-threshold" placeholder="1" min="1"> </div> <hr> <h5>Pulse filter milliseconds</h5> <div class="form-row"> <label for="node-config-input-pulseFilterMsI1"><i class="fa fa-bolt"></i> Input 0</label> <input type="number" id="node-config-input-pulseFilterMsI1" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI2"><i class="fa fa-bolt"></i> Input 1</label> <input type="number" id="node-config-input-pulseFilterMsI2" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI3"><i class="fa fa-bolt"></i> Input 2</label> <input type="number" id="node-config-input-pulseFilterMsI3" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI4"><i class="fa fa-bolt"></i> Input 3</label> <input type="number" id="node-config-input-pulseFilterMsI4" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI5"><i class="fa fa-bolt"></i> Input 4</label> <input type="number" id="node-config-input-pulseFilterMsI5" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI6"><i class="fa fa-bolt"></i> Input 5</label> <input type="number" id="node-config-input-pulseFilterMsI6" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI7"><i class="fa fa-bolt"></i> Input 6</label> <input type="number" id="node-config-input-pulseFilterMsI7" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI8"><i class="fa fa-bolt"></i> Input 7</label> <input type="number" id="node-config-input-pulseFilterMsI8" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI9"><i class="fa fa-bolt"></i> Input 8</label> <input type="number" id="node-config-input-pulseFilterMsI9" placeholder="10" min="0"> </div> <div class="form-row"> <label for="node-config-input-pulseFilterMsI10"><i class="fa fa-bolt"></i> Input 9</label> <input type="number" id="node-config-input-pulseFilterMsI10" placeholder="10" min="0"> </div> </script>