# Up-Down node for Roller Shutter

**URL:** <https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130>\
**Category:** Dashboard\
**Tags:** dashboard-2\
**Created:** [13 November 2024 19:20 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130 "2024-11-13T19:20:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [13 November 2024 19:20 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/1 "2024-11-13T19:20:06Z")

</div>

Hello, All,  
I have a simple request -- I am searching for a dashboard 2.0 node, that simply shows 2 Arrows, one for "up" and one for "down" (ideally also showing a "0" position, but just optional).  
Despite searching google with various keywords, I never get something like this. Most nodes come with sophisticated logic and dependencies from temperature, sun brightness etc.  
What I am looking for is a simple option to steer my roller shutters up and down.  
I need a "true" for up and a "false" for down.  
Background: I am running a KNX environment, and additionally to the real switches at the wall, I want to drive the roller shutters by node Red. The KNX actuators do the real work, and they can be driven by "true" and "false". When sending the same level again (true or false) the actuator stops, so basically I do not need a "zero" position. That would be just "visually nice"  
In Dashboard 1.0 I used the "number input" node and sent a "1" up and a "0" for down. Unfortunately, in Dashboard 2.0, this does no longer work, since they have greyed out the down arrow, as long as a "1" is visible. So, I need to delete the "1", enter a "0" and then need to send the arrow down, which is confusing for the users and not handy at all.  
So, long story short, I simply need a visual "up - down" arrow, that sends a payload of "true" or "false".

Does anybody know such node? It seems nobody else needs such easy node ...

Thanks!

Hoinz

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [13 November 2024 19:24 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/2 "2024-11-13T19:24:58Z")

</div>

Try a button group node with three buttons, up, down and stop. You can use text or icons as labels.  
You would have to find a way in code to resend 1 or 0 when the stop button is pressed.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [13 November 2024 19:52 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/3 "2024-11-13T19:52:58Z")

</div>

Hello, Jbudd,  
thanks for the quick reply. I didn notice this button group at first.  
Now I tried that group node and yes, looks promising, but unfortunately, it seems to have the same logic: It is impossible to send the same command a second time. While "up" is activated(it shows blue) and I press "up" again, the debug node shows no activity. It seems a second trigger with the same value is not supported. Only sending "false" is possible, however, this is not, what my KNX node expects. The same happens with the "down" value - I cannot send it twice in a row. Is there an easy way to adopt this behavior?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [13 November 2024 20:09 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/4 "2024-11-13T20:09:18Z")

</div>

What's wrong with using button nodes? You can set on-click or on up/on down events and you can apply images easily.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [13 November 2024 20:39 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/5 "2024-11-13T20:39:25Z")

</div>

Thank you Steve.  
Yes, that works. The only drawback is, that "up" and "down" are individual nodes and therefore may re-arrange in a wrong way("down" appears above "up"), if I use a smaller screen, like a smartphone. So ideally, they would be combined in one node (as I have to replicate this for each of the 27 windows). But no prob, I think my family will like this solution more than running around and press the hardware switches for each window 😉

---

<div class="post-metadata">

**Author:** ![xx\_Nexus\_xx](https://avatars.discourse-cdn.com/v4/letter/x/54ee81/32.png) [@xx\_Nexus\_xx](https://discourse.nodered.org/u/xx_Nexus_xx)\
**Post date:** [13 November 2024 20:45 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/6 "2024-11-13T20:45:25Z")

</div>

you always can use the UI-Template ... there are lots of Button examples with the VU libraries 😉 .. you can define any state you want ... even multiple clicks on same button .. yes .. bit more coding work .. but thats the fun of it 😉

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [13 November 2024 21:04 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/7 "2024-11-13T21:04:58Z")

</div>

![Rolladen_Node-Red_Backend](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/a/9a794d506b248df6edbfe3593c2d9cdf7087d89a.jpeg)  
 ![Rolladen_Node-Red_Frontend](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/f/9f5fa94aed0643d658a0cf438628eb289ec7fade.jpeg)  
Quick & Dirty ... works in a rudimentary way ...

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [13 November 2024 21:59 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/8 "2024-11-13T21:59:06Z")

</div>

> [@Hoinz](#):
>
> It is impossible to send the same command a second time.

As I said:

> [@jbudd](#):
>
> You would have to find a way ~~in code~~ to resend 1 or 0 when the stop button is pressed.

Something like this?  
 ![buttons](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/b/8b1ab63e487aa72af7141312b5adf7fdcb8f1664.gif)

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [14 November 2024 21:24 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/9 "2024-11-14T21:24:18Z")

</div>

Thanks @jbudd for this additional idea. I tried, but one problem is, that the "button group" seems not to offer separate outputs (I would need 3) and another issue, I cannot enter 2 x true or false (it says "value must be unique"). I will go with the separate button nodes, which works good enough. Thanks anyway!

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [14 November 2024 21:42 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/10 "2024-11-14T21:42:20Z")

</div>

> [@Hoinz](#):
>
> Quick & Dirty ... works in a rudimentary way ..

You know you can chose from over 7000 icons: [Material Design Icons - Icon Library - Pictogrammers](https://pictogrammers.com/library/mdi/)

Just enter the name of the icon in the `icon` field on the button and it will appear.

There is even `shutter`, `roller` and `blind` icons if you want to get fancy.

---

<div class="post-metadata">

**Author:** ![jbudd](https://avatars.discourse-cdn.com/v4/letter/j/5f8ce5/32.png) [@jbudd](https://discourse.nodered.org/u/jbudd)\
**Post date:** [14 November 2024 23:27 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/11 "2024-11-14T23:27:19Z")

</div>

> [@Hoinz](#):
>
> I tried, but one problem is, that the "button group" seems not to offer separate outputs (I would need 3) and another issue, I cannot enter 2 x true or false (it says "value must be unique")

I really don't think these are insurmountable problems with careful use of change and switch nodes, or even a function.  
However, you are going with separate buttons, which should work well too. 🙂

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [15 November 2024 08:32 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/12 "2024-11-15T08:32:17Z")

</div>

![Rolladen_Node-Red_Frontend_Arrow](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/3/0355a53475aeea0fedf8a9a3710a8d5b8f010820.jpeg)

(the percentage value comes from another group address in KNX with some 20 sec delay)

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [15 November 2024 08:34 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/13 "2024-11-15T08:34:44Z")

</div>

Ok, this is closed/solved, but the `toggle` node (GUI) is also handy to use for things like this.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [15 November 2024 08:54 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/14 "2024-11-15T08:54:15Z")

</div>

Thanks, but cannot find such a UI node in Dashboard 2.0 ...

---

<div class="post-metadata">

**Author:** ![Trying\_to\_learn](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/trying_to_learn/32/28400_2.png) [@Trying\_to\_learn](https://discourse.nodered.org/u/Trying_to_learn)\
**Post date:** [15 November 2024 08:55 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/15 "2024-11-15T08:55:44Z")

</div>

Ok. I don't have dashboard 2.0 on this machine. But it is/was a GUI node called `toggle`.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [16 November 2024 13:03 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/16 "2024-11-16T13:03:58Z")

</div>

Hello, @Steve-Mcl do you know, whether customized icons require a permanent internet connectivity? Or just for the moment of deploying the configuration? Because, I normally close the port 80 and 443 from Node Red towards the internet for security reasons and just open them for updates. -- Hoinz

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [16 November 2024 13:13 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/17 "2024-11-16T13:13:03Z")

</div>

> [@Hoinz](#):
>
> do you know, whether customized icons require a permanent internet connectivity

If you are just entering the name of the icon on the button, it will use locally served versions (i.e. built into Dashboard / served from Node-RED).

> [@Hoinz](#):
>
> Because, I normally close the port 80 and 443 from Node Red towards the internet

Not entirely certain why you are doing that - your router should be always blocking inbound connections! You dont need inbound ports opened on the FW to permit Node-RED to be updated!

If the icons were served from a remote location, they would be resolved by your browser while you are visiting the dashboard - which I imagine HAS got port outbound 80/443 connectivity? - so blocking Node-red from inbound/outbound on those ports would not affect any CDNs your browser requests from the internet.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [16 November 2024 20:09 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/18 "2024-11-16T20:09:30Z")

</div>

> [@Steve-Mcl](#):
>
> Not entirely certain why you are doing that - your router should be always blocking inbound connections! You dont need inbound ports opened on the FW to permit Node-RED to be updated!

I might have put it not clearly - Inbound blocking is obvious, but I am talking about the outbound connectivity - I let NodeRed operate locally only and just from time to time I open the mentioned ports on my firewall to fetch some updates from outside.

---

<div class="post-metadata">

**Author:** ![Hoinz](https://avatars.discourse-cdn.com/v4/letter/h/f17d59/32.png) [@Hoinz](https://discourse.nodered.org/u/Hoinz)\
**Post date:** [16 November 2024 20:09 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/19 "2024-11-16T20:09:53Z")

</div>

> [@Steve-Mcl](#):
>
> If you are just entering the name of the icon on the button, it will use locally served versions (i.e. built into Dashboard / served from Node-RED).

Very good, thank you.

---

<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:** [30 November 2024 20:10 UTC](https://discourse.nodered.org/t/up-down-node-for-roller-shutter/93130/20 "2024-11-30T20:10:36Z")

</div>

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