UNPKG

node-red-contrib-boolean-logic-ultimate

Version:

A set of Node-RED enhanced boolean logic and utility nodes, flow interruption, blinker, debouncer, invert, filter, toggle etc.., with persistent values after reboot. Compatible also with Homeassistant values.

106 lines (91 loc) 3.87 kB
<script type="text/javascript"> RED.nodes.registerType('Comparator', { category: 'Boolean Logic Ultimate', color: '#ff8080', defaults: { name: { value: "Comparator" }, property: { value: "payload" }, math: { value: "===" }, topic1: { value: "", required: true }, topic2: { value: "", required: true } }, inputs: 1, outputs: 1, icon: "font-awesome/fa-arrows-v", label: function () { return this.name || "Comparator"; }, paletteLabel: function () { return "Comparator"; }, oneditprepare: function () { if ($("#node-input-property").val() === "") $("#node-input-property").val("payload"); $("#node-input-property").typedInput({ default: 'msg', types: ['msg'] }); } }); </script> <script type="text/html" data-template-name="Comparator"> <div class="form-row"> <b>Comparator</b>&nbsp&nbsp&nbsp&nbsp<span style="color:red"><i class="fa fa-youtube-play"></i>&nbsp<a target="_blank" href="https://youtu.be/fDRsQPu3bG4"><u>Youtube Sample</u></a></span> <br/> <br/> </div> <div class="form-row"> <label for="node-input-name"><i class="icon-tag"></i> Name</label> <input type="text" id="node-input-name" placeholder="Topic"> </div> <hr/> <div class="form-row"> <label for="node-input-property"><i class="icon-tag"></i> Input</label> <input type="text" id="node-input-property" placeholder="payload"> </div> <div class="form-row"> <label for="node-input-topic1"><i class="icon-tag"></i> Topic 1</label> <input type="text" id="node-input-topic1" placeholder="For example, topic 1"> </div> <div class="form-row"> <label for="node-input-math"><i class="icon-tag"></i> Operation</label> <select type="text" id="node-input-math" placeholder=""> <option value="===">=== (equals)</option> <option value="!==">!== (not equals)</option> <option value=">">></option> <option value="<"><</option> <option value=">=">>=</option> <option value="<="><=</option> </select> </div> <div class="form-row"> <label for="node-input-topic2"><i class="icon-tag"></i> Topic 2</label> <input type="text" id="node-input-topic2" placeholder="For example, topic 2"> </div> </script> <script type="text/markdown" data-help-name="Comparator"> <p>The Comparator, compares two msg values and outputs true/false.</p> |Property|Description| |--|--| | Name | It's the node name. This will be also the output topic. | | Input | It's the msg property to be evaluated. *By default, it is *payload*, but you can also specify other properties, for example "payload.value"*. It **must** be a numeric value. The node will try to automatically convert numeric values expressed as strings, to real numbers. | | Topic 1 | It's the topic to be evaluated against the second topic. | | Comparator | It's the comparator. It compares the Topic 1 against the Topic 2. | | Topic 2 | It's the second topic to be evaluated against the first topic. | ### Input : reset (boolean) : `msg.reset = true` is used to reset both input values to ***undefined***. The node will execute only the *reset* command, regardless of other message properties. ### Output 1. Standard output : payload (boolean) : the standard output of the command. ### Details `msg.payload` is used as the payload of the published message. I'ts true or false based on the result of the compare operation. <br/> [Find it useful?](https://www.paypal.me/techtoday) </script>