# Function node programming for LED signaling

**URL:** <https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455>\
**Category:** General\
**Created:** [10 January 2024 19:05 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455 "2024-01-10T19:05:24Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Berx](https://avatars.discourse-cdn.com/v4/letter/b/5daacb/32.png) [@Berx](https://discourse.nodered.org/u/Berx)\
**Post date:** [10 January 2024 19:05 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/1 "2024-01-10T19:05:24Z")

</div>

I would appreciate suggestions on how to best program the function node to get a signalling lamp to respond accordingly to the analog input levels. In advance, thanks for your response.

 ![grafik](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/6/e/6edcf4f12d85b8d6c273c6b4645944dd9e952fcc.png)

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [10 January 2024 19:08 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/2 "2024-01-10T19:08:58Z")

</div>

If you use 3 outputs, what should be the on/off value that should be sent?

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [10 January 2024 19:27 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/3 "2024-01-10T19:27:34Z")

</div>

Something like:

```js
const val = msg.payload;
// default value is false
const outputs = [false, false, false];

if (val >= 150 && val <=799) {
  outputs[0] = true;
} else if (val >= 800 && val <= 919) {
  outputs[1] = true;
} else if (val >= 920) {
  outputs[2] = true;
}
// format to object with payload
return outputs.map((v) => ({ payload: v }));

```

---

<div class="post-metadata">

**Author:** ![Berx](https://avatars.discourse-cdn.com/v4/letter/b/5daacb/32.png) [@Berx](https://discourse.nodered.org/u/Berx)\
**Post date:** [10 January 2024 19:35 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/4 "2024-01-10T19:35:44Z")

</div>

the led's should go off as soon as the led colour changes, so if example the value exceeds 799, then green goes off and yellow goes on.

---

<div class="post-metadata">

**Author:** ![Berx](https://avatars.discourse-cdn.com/v4/letter/b/5daacb/32.png) [@Berx](https://discourse.nodered.org/u/Berx)\
**Post date:** [10 January 2024 19:37 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/5 "2024-01-10T19:37:04Z")

</div>

Thanks, I'll try your suggestion out and let you know how it went.

---

<div class="post-metadata">

**Author:** ![Berx](https://avatars.discourse-cdn.com/v4/letter/b/5daacb/32.png) [@Berx](https://discourse.nodered.org/u/Berx)\
**Post date:** [10 January 2024 20:50 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/6 "2024-01-10T20:50:36Z")

</div>

Thanks, just did a quick test and it seemed to work just fine, I will play with it some more tomorrow, but thanks a lot, I really appreciate your help.

---

<div class="post-metadata">

**Author:** ![Berx](https://avatars.discourse-cdn.com/v4/letter/b/5daacb/32.png) [@Berx](https://discourse.nodered.org/u/Berx)\
**Post date:** [11 January 2024 12:03 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/7 "2024-01-11T12:03:21Z")

</div>

It works well, thanks again 😄

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [29 January 2024 19:39 UTC](https://discourse.nodered.org/t/function-node-programming-for-led-signaling/84455/8 "2024-01-29T19:39:28Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
