node-red-contrib-boolean-logic-ultimate
Version:
A set of Node-RED enhanced boolean logic and utility nodes, flow interruption, blinker, invert, filter, toggle etc.., with persistent values after reboot. Compatible also with Homeassistant values.
87 lines (77 loc) • 3.3 kB
HTML
<script type="text/javascript">
RED.nodes.registerType('KalmanFilterUltimate', {
category: 'Boolean Logic Ultimate',
color: '#ff8080',
defaults: {
name: {
value: "Kalman"
},
payloadPropName: { value: "payload", required: false },
translatorConfig: { type: "translator-config", required: false },
r: { value: 0.01 },
q: { value: 3 }
},
inputs: 1,
outputs: 1,
icon: "swap.png",
label:
function () {
return this.name || "KalmanFilter";
},
paletteLabel: function () {
return "KalmanFilter";
},
oneditprepare: function () {
if ($("#node-input-payloadPropName").val() === "") $("#node-input-payloadPropName").val("payload");
$("#node-input-payloadPropName").typedInput({ default: 'msg', types: ['msg'] });
}
});
</script>
<script type="text/html" data-template-name="KalmanFilterUltimate">
<div class="form-row">
<b>Kalman Filter Ultimate</b>    <span style="color:red"><i class="fa fa-question-circle"></i> <a target="_blank" href="https://github.com/Supergiovane/node-red-contrib-boolean-logic-ultimate"><u>Help online</u></a></span>
   <span style="color:red"><i class="fa fa-youtube-play"></i> <a target="_blank" href="https://youtu.be/A41x8VevZD8"><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="Name">
</div>
<div class="form-row">
<label for="node-input-payloadPropName"><i class="fa fa-ellipsis-h"></i> Input</label>
<input type="text" id="node-input-payloadPropName">
</div>
<div class="form-row">
<label for="node-input-r"><i class="icon-tag"></i> R</label>
<input type="text" id="node-input-r" placeholder="0.01">
</div>
<div class="form-row">
<label for="node-input-q"><i class="icon-tag"></i> Q</label>
<input type="text" id="node-input-q" placeholder="3">
</div>
<div class="form-row">
<br />
<b>Translator</b>
<br />
<label for="node-input-translatorConfig">
<font color="green" size="4px"><i class="fa fa-sign-in" aria-hidden="true"></i></font> Input
</label>
<input type="text" id="node-input-translatorConfig" />
</div>
</script>
<script type="text/markdown" data-help-name="KalmanFilterUltimate">
<p>Outputs the Kalman filtered input.</p>
Please refer to [this](https://github.com/wouterbulten/kalmanjs) link, on how it works.
|Property|Description|
|--|--|
| 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"* |
| r,q | Kalman's parameters to be set. |
| Translator Input | Translates the incoming <code>payload</code> value, to true/false. This allows the compatibility with, for example, **HomeAssistant** nodes. |
<br/>
### Inputs
: reset (any) : by passing msg.reset, the Kalman filter will be reset.
: payload (number) : the payload containing the number. If you've changed the incoming evaluation property in the ***Input*** field, the number to be evaluated must be put in such message's property, instead of the *payload* property.
<br/>
[Find it useful?](https://www.paypal.me/techtoday)
</script>