Kaynağa Gözat

Inject Ultimate

master
Massimo 4 yıl önce
ebeveyn
işleme
1169dc62f4
7 değiştirilmiş dosya ile 152 ekleme ve 5 silme
  1. +4
    -0
      CHANGELOG.md
  2. +15
    -1
      README.md
  3. +82
    -0
      boolean-logic-ultimate/InjectUltimate.html
  4. +46
    -0
      boolean-logic-ultimate/InjectUltimate.js
  5. +2
    -2
      boolean-logic-ultimate/SimpleOutputUltimate.html
  6. BIN
      img/Inject.png
  7. +3
    -2
      package.json

+ 4
- 0
CHANGELOG.md Dosyayı Görüntüle

@@ -3,6 +3,10 @@

<a href="http://eepurl.com/gJm095" target="_blank">Subscribe to my channel.</a> Only news about my nodes, no spam, no ads. I'm a github developer, not a merchant.

<p>
<b>Version 1.0.20</b> August 2020<br/>
- NEW: Inject Node. The pourpose of this node is to speed up the testing of you flow, by issuing true/false command by pushbutton on the node itself. This node is simpler as the default node-red inject node.</br>
</p>
<p>
<b>Version 1.0.19</b> August 2020<br/>
- NEW: Simple Output node. The pourpose of this node is to send a message with payload TRUE on the first pin and FALSE on second pin, independently from the msg input.</br>

+ 15
- 1
README.md Dosyayı Görüntüle

@@ -51,7 +51,7 @@ The node can have a persistent input: the input values are retained after a node
You can also set the default values of the topic inputs.


## CONFIGURATION
### CONFIGURATION


**Number of different topics to evaluate**
@@ -147,6 +147,20 @@ This is useful if you need to simply send a true or false payload.
</code>
</details>


# INJECT ULTIMATE

The pourpose of this node is to send a message with payload TRUE on the first pin, FALSE on second pin and a TOGGLE (true/false) on the third pin, by pressing the pushbutton.<br />
This is useful if you need to simply test your flow. The node is simpler as the default node-red inject node.

<img src='https://raw.githubusercontent.com/Supergiovane/node-red-contrib-boolean-logic-ultimate/master/img/Inject.png' width='60%'>

<details><summary>CLICK HERE, copy and paste it into your flow</summary>
<code>
[{"id":"13faaec9.cd80b9","type":"InjectUltimate","z":"81a64dae.012c18","name":"True","x":110,"y":1000,"wires":[["6557d19.c71abb"],[],[]]},{"id":"6557d19.c71abb","type":"debug","z":"81a64dae.012c18","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":370,"y":1080,"wires":[]},{"id":"569b3820.b056e8","type":"InjectUltimate","z":"81a64dae.012c18","name":"False","x":110,"y":1080,"wires":[[],["6557d19.c71abb"],[]]},{"id":"189399f.c384f66","type":"InjectUltimate","z":"81a64dae.012c18","name":"Toggle","x":110,"y":1160,"wires":[[],[],["6557d19.c71abb"]]},{"id":"56119644.8c4bf8","type":"comment","z":"81a64dae.012c18","name":"Inject Ultimate. Simple and efficient.","info":"","x":180,"y":940,"wires":[]}]
</code>
</details>

[license-image]: https://img.shields.io/badge/license-MIT-blue.svg
[license-url]: https://github.com/Supergiovane/node-red-contrib-boolean-logic-ultimate/master/LICENSE
[npm-url]: https://npmjs.org/package/node-red-contrib-boolean-logic-ultimate

+ 82
- 0
boolean-logic-ultimate/InjectUltimate.html Dosyayı Görüntüle

@@ -0,0 +1,82 @@
<script type="text/javascript">
RED.nodes.registerType('InjectUltimate', {
category: 'boolean logic ultimate',
color: '#ff8080',
defaults: {
name: {
value: "Inject",
},
curVal: {
value: true,
}
},
inputs: 0,
outputs: 3,
outputLabels: ["True", "False", "Toggle"],
icon: "inject.svg",
button: {
onclick: function () {
// Called when the button is clicked
if (this.changed) {
return RED.notify(RED._("notification.warning", { message: RED._("notification.warnings.undeployedChanges") }), "warning");
}

var node = this;
$.ajax({
url: "InjectUltimate/" + this.id,
type: "POST",
success: function (resp) {
RED.notify(node._("inject.success", { label: label }), { type: "success", id: "inject" });
},
error: function (jqXHR, textStatus, errorThrown) {
if (jqXHR.status == 404) {
RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.not-deployed") }), "error");
} else if (jqXHR.status == 500) {
RED.notify(node._("common.notification.error", { message: node._("inject.errors.failed") }), "error");
} else if (jqXHR.status == 0) {
RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.no-response") }), "error");
} else {
RED.notify(node._("common.notification.error", { message: node._("common.notification.errors.unexpected", { status: jqXHR.status, message: textStatus }) }), "error");
}
}
});

},
enabled: function () {
return !this.changed
}
},
label:
function () {
return this.name || "Inject";
},
paletteLabel: function () {
return "InjectUltimate";
}
});
</script>

<script type="text/x-red" data-template-name="InjectUltimate">
<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-topic"><i class="fa fa-tasks"></i> Topic</label>
<input type="text" id="node-input-topic" placeholder="Topic">
</div>
</script>

<script type="text/x-red" data-help-name="InjectUltimate">
<p>
<a href="https://www.paypal.me/techtoday" target="_blank"><img src='https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square' width='30%'></a>
and
<a href="http://eepurl.com/gJm095" target="_blank">Subscribe to my channel</a> for news about my nodes.
</p>
<p>This node sends TRUE on output 1, FALSE on putput 2 and a TOGGLED value (true/false) on output 3, on every click of the button.<br/>
The status indicator represents the output value.
</p>
<a href="https://www.paypal.me/techtoday" target="_blank"><img src='https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square' width='30%'></a>

</script>

+ 46
- 0
boolean-logic-ultimate/InjectUltimate.js Dosyayı Görüntüle

@@ -0,0 +1,46 @@
module.exports = function (RED) {
function InjectUltimate(config) {
RED.nodes.createNode(this, config);
this.config = config;
var node = this;
node.curVal = true;
node.topic = config.topic || "Inject";
setNodeStatus({ fill: "grey", shape: "dot", text: "Waiting" });


RED.httpAdmin.post("/InjectUltimate/:id", RED.auth.needsPermission("InjectUltimate.write"), function (req, res) {
var node = RED.nodes.getNode(req.params.id);
if (node != null) {
try {
node.buttonpressed();
res.sendStatus(200);
} catch (err) {
res.sendStatus(500);
node.error(RED._("InjectUltimate.failed", { error: err.toString() }));
}
} else {
res.sendStatus(404);
}
});

// 29/08/2020 triggered by button press
node.buttonpressed = () => {
setNodeStatus({ fill: "green", shape: "dot", text: "Sent true/false/" + node.curVal.toString() + " (next " + (!node.curVal).toString() + ")" });
var msgTrue = { payload: true, topic: node.topic };
var msgFalse = { payload: false, topic: node.topic };
var msgToggled = { payload: node.curVal, topic: node.topic };
node.curVal = !node.curVal;
node.send([msgTrue, msgFalse, msgToggled]);
}

function setNodeStatus({ fill, shape, text }) {
var dDate = new Date();
node.status({ fill: fill, shape: shape, text: text + " (" + dDate.getDate() + ", " + dDate.toLocaleTimeString() + ")" })
}

}



RED.nodes.registerType("InjectUltimate", InjectUltimate);
}

+ 2
- 2
boolean-logic-ultimate/SimpleOutputUltimate.html Dosyayı Görüntüle

@@ -47,8 +47,8 @@
<a href="http://eepurl.com/gJm095" target="_blank">Subscribe to my channel</a> for news about my nodes.
</p>
<p>A node that emits the inverted input value.<br/>
The status indicator represents the output value.
<p>This node replaces the input payload by sendind a message with payload TRUE on output 1 and FALSE on output 2.<br/>
</p>
<a href="https://www.paypal.me/techtoday" target="_blank"><img src='https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square' width='30%'></a>


BIN
img/Inject.png Dosyayı Görüntüle

Önce Sonra
Genişlik: 1026  |  Yükseklik: 680  |  Boyut: 72KB

+ 3
- 2
package.json Dosyayı Görüntüle

@@ -1,6 +1,6 @@
{
"name": "node-red-contrib-boolean-logic-ultimate",
"version": "1.0.19",
"version": "1.0.20",
"description": "A set of Node-RED enhanced boolean logic node, flow interruption node, blinker node, invert node, filter node, with persisten values after reboot and more.",
"author": "Supergiovane (https://github.com/Supergiovane)",
"dependencies": {
@@ -25,7 +25,8 @@
"FilterUltimate": "boolean-logic-ultimate/FilterUltimate.js",
"InterruptFlowUltimate": "boolean-logic-ultimate/InterruptFlowUltimate.js",
"BlinkerUltimate": "boolean-logic-ultimate/BlinkerUltimate.js",
"SimpleOutputUltimate": "boolean-logic-ultimate/SimpleOutputUltimate.js"
"SimpleOutputUltimate": "boolean-logic-ultimate/SimpleOutputUltimate.js",
"InjectUltimate": "boolean-logic-ultimate/InjectUltimate.js"
}
}

Yükleniyor…
İptal
Kaydet