Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Nodered Dashboard Template

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Nodered Dashboard Template

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      frankyboy73 @mickym last edited by frankyboy73

      @mickym Hi, das nutzen des msg.payload zum Farben und Icons erstellen in den Text bzw. Dash Nodes hatte ich so noch nicht auf dem Schirm, das ist ja auch super, da spart man sich noch die Change Nodes.
      Ich denke mal man muss schon ne Menge dieser Blink Simulationen einsetzten (Trigger oder Delay) bevor das System davon beeinträchtigt wird. Wir sind hier ja noch im Sekundenbereich bzw. halb Sekunden. Wenn du das natürlich ausversehen auf 1 Millisekunde stellst, kann das nach hinten losgehen. Hatte mir mal so einen Loop gebaut, danach ging nichts mehr, ich kam auch nicht mehr aufs System drauf. Nur Adapter im sicheren Modus ging noch um das zu beheben.

      Hab es gerade mal mit 50 Millisekunden getestet, da läuft noch alles super, allerding kriegen die Nodes den Reset manchmal nicht mit. 😁

      Was du auch noch beachten solltest, das du das Reset auf beide Trigger Nodes gibst, sonst kann es dir passieren das bei Zustandswechsel bzw. wechsel auf ne andere Farbe zum ungünstigen Zeitpunkt, der zweite Trigger die Farbe danach noch einmal überschreibt. Das wäre natürlich blöde, wenn beim anderen Zustand kein Blinken kommen soll und die Farbe nur einmalig gesetzt wird. Oder man müsste das setzen der anderen Farbe verzögern damit der Trigger garantiert abgelaufen ist.

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @frankyboy73 last edited by mickym

        @frankyboy73 sagte in Nodered Dashboard Template:

        Hab es gerade mal mit 50 Millisekunden getestet, da läuft noch alles super, allerding kriegen die Nodes den Reset manchmal nicht mit.

        Na das hätte ich mich nicht getraut. 😉

        Was du auch noch beachten solltest, das du das Reset auf beide Trigger Nodes gibst, sonst kann es dir passieren das bei Zustandswechsel bzw. wechsel auf ne andere Farbe zum ungünstigen Zeitpunkt, der zweite Trigger die Farbe danach noch einmal überschreibt. Das wäre natürlich blöde, wenn beim anderen Zustand kein Blinken kommen soll und die Farbe nur einmalig gesetzt wird. Oder man müsste das setzen der anderen Farbe verzögern damit der Trigger garantiert abgelaufen ist.

        Nee eigentlich nicht. Die 2 Trigger Node - soll nie resetted werden, damit der Zyklus fertig wird. Am Ende hatte ich ja immer die sichtbare Farbe - damit die immer zuletzt stehen bleibt. Das heißt ich will eigentlich nur den Taktgeber resetten. 😁
        Deswegen fange ich ja mit der HIntergrundfarbe in der 2. Node bei Start an. Die Frage ist, ob das Reset- so wie ich das gemacht habe nicht durchgereicht wird und eben beide Nodes resetted werden oder ob man msg.reset - in einer ChangeNode dazwischen löscht?
        Ach es macht richtig Spaß mit Dir solche Dinge zu diskutieren. 😉

        Was ich viel komischer finde - wollte mal als Background mit den Variablennamen des Dashboards rumexperimentieren und da kommen ganz komische Farben raus. Probiere jetzt doch nochmal eine Template Node.

        F 1 Reply Last reply Reply Quote 0
        • F
          frankyboy73 @mickym last edited by frankyboy73

          @mickym Z.B.:
          Fenster ist offen, dann soll rot blinken
          Fenster ist zu dann soll nur grün sein, kein blinken.
          Das Fenster ist offen, rot blinkt, jetzt mache ich das Fenster zu, grün wird gesendet, sollte der 2. Trigger noch nicht abgelaufen sein, wird das wieder mit rot überschrieben, wenn der sendet.

          Und es wird nicht durchgereicht, habe ich schon getestet.

          Ja, macht Spaß 👍

          1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active last edited by

            @frankyboy73 Ja das ist aber wieder eine andere Nummer - da musst Du dann eh mit switch Node dazwischen arbeiten und dann setzt man grün egal was vorher war.
            Die beiden Nodes mit dem Blinken repräsentieren ja nur EINEN Zustand - Du willst ja offen und zu.

            F 1 Reply Last reply Reply Quote 0
            • F
              frankyboy73 @mickym last edited by frankyboy73

              @mickym Genau, das meine ich ja, @Saranger will ja 3 verschiedene Zustände. Jetzt weiß ich natürlich nicht wann er blinken und wann nicht haben möchte.
              @Saranger Aber du hast ja schon für dich eine Lösung gefunden, vielleicht ist die ja noch viel besser.

              Edit: Oder waren es sogar 4 Zustände, Auf, Zu, Gekippt und Fehler gibt es ja auch noch.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @frankyboy73 last edited by mickym

                @frankyboy73 sagte in Nodered Dashboard Template:

                @mickym Genau, das meine ich ja, @Saranger will ja 3 verschiedene Zustände. Jetzt weiß ich natürlich nicht wann er blinken und wann nicht haben möchte.
                @Saranger Aber du hast ja schon für dich eine Lösung gefunden, vielleicht ist die ja noch viel besser.

                Nein eigentlich nicht - bzw. er hat das ja vorher schon auseinandergefieselt:

                6fb2ac21-b1a4-492f-a4f0-6fc677590958-image.png

                Es soll nur der Fehler - also der untere Zustand blinken - der ja auch nie auftreten darf insofern kein Resourcenproblem.
                Die Icon Fehler Change Node wird durch die beiden trigger Nodes ersetzt.

                Er müsste jetzt nur alles in die payload Objekte packen und ein msg.reset Change Node von den Zuständen runter zu dem Blinken trigger leiten.

                F 1 Reply Last reply Reply Quote 0
                • F
                  frankyboy73 @mickym last edited by

                  @mickym Vielleicht bin ich hier ja auch auf dem sogenannten Holzweg.
                  Aber nehmen wir mal an es kommt der Fehler. Die Trigger zum blinken laufen.
                  Dann geht der Fehler irgendwann weg und es kommt z.B. Closed dann wird ja über den oberen switch und die change Node grün gesendet. Wenn in dem moment der zweite Trigger vom Blinken des Fehlers noch nicht abgelaufen ist, überschreibt der doch bei Ablauf wieder mit Rot. Deshalb meine ich man muss den auch zurücksetzen.

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @frankyboy73 last edited by mickym

                    @frankyboy73 OK Du hast Recht. 😁 👍

                    Ich habe die Lösung eine 3. Trigger Node. 😉 und eine Change Node - Habs getestet:

                    5eaa8bff-835b-4dd6-b32e-cf10f004b65e-image.png

                    [
                       {
                           "id": "90a44e1a.ea1a4",
                           "type": "trigger",
                           "z": "1557a383.3bbd1c",
                           "name": "",
                           "op1": "{\"color\":\"#333333\",\"icon\":\"lock\"}",
                           "op2": "{\"color\":\"red\",\"icon\":\"lock\"}",
                           "op1type": "json",
                           "op2type": "json",
                           "duration": "450",
                           "extend": false,
                           "overrideDelay": false,
                           "units": "ms",
                           "reset": "",
                           "bytopic": "all",
                           "topic": "topic",
                           "outputs": 1,
                           "x": 680,
                           "y": 1460,
                           "wires": [
                               [
                                   "13171610.b0467a"
                               ]
                           ]
                       },
                       {
                           "id": "e2a0cd0f.674ae",
                           "type": "inject",
                           "z": "1557a383.3bbd1c",
                           "name": "Fehler",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "true",
                           "payloadType": "bool",
                           "x": 210,
                           "y": 1500,
                           "wires": [
                               [
                                   "1394480a.160148"
                               ]
                           ]
                       },
                       {
                           "id": "1394480a.160148",
                           "type": "trigger",
                           "z": "1557a383.3bbd1c",
                           "name": "",
                           "op1": "true",
                           "op2": "0",
                           "op1type": "bool",
                           "op2type": "str",
                           "duration": "-1",
                           "extend": false,
                           "overrideDelay": false,
                           "units": "s",
                           "reset": "",
                           "bytopic": "all",
                           "topic": "topic",
                           "outputs": 1,
                           "x": 460,
                           "y": 1460,
                           "wires": [
                               [
                                   "90a44e1a.ea1a4"
                               ]
                           ]
                       },
                       {
                           "id": "6e945.0b1fa6bc",
                           "type": "trigger",
                           "z": "1557a383.3bbd1c",
                           "name": "",
                           "op1": "true",
                           "op2": "",
                           "op1type": "bool",
                           "op2type": "pay",
                           "duration": "2",
                           "extend": false,
                           "overrideDelay": false,
                           "units": "s",
                           "reset": "",
                           "bytopic": "all",
                           "topic": "topic",
                           "outputs": 2,
                           "x": 460,
                           "y": 1300,
                           "wires": [
                               [
                                   "eabb6de1.5b5e9"
                               ],
                               [
                                   "13171610.b0467a"
                               ]
                           ]
                       },
                       {
                           "id": "eabb6de1.5b5e9",
                           "type": "change",
                           "z": "1557a383.3bbd1c",
                           "name": "",
                           "rules": [
                               {
                                   "t": "move",
                                   "p": "payload",
                                   "pt": "msg",
                                   "to": "reset",
                                   "tot": "msg"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 220,
                           "y": 1440,
                           "wires": [
                               [
                                   "1394480a.160148"
                               ]
                           ]
                       },
                       {
                           "id": "328a43b0.17253c",
                           "type": "inject",
                           "z": "1557a383.3bbd1c",
                           "name": "Gelbes Icon - Fenster gekippt",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "{\"color\":\"yellow\",\"icon\":\"lock\"}",
                           "payloadType": "json",
                           "x": 220,
                           "y": 1300,
                           "wires": [
                               [
                                   "6e945.0b1fa6bc"
                               ]
                           ]
                       }
                    ]
                    

                    Diese Trigger Node ist so genial

                    F 2 Replies Last reply Reply Quote 0
                    • F
                      frankyboy73 @mickym last edited by frankyboy73

                      @mickym Hi, habs mal aufgebaut. Das passiert wenn ich zum ungünstigen Zeit punkt von Fehler auf Closed wechsel. Siehe Debug Output, es wird noch mal Rot geschrieben.
                      Blink6.jpg

                      Edit: Hat sich überschnitten. Ok, das ist auch ne Lösung 👍

                      mickym 2 Replies Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @frankyboy73 last edited by

                        @frankyboy73 sagte in Nodered Dashboard Template:

                        @mickym Hi, habs mal aufgebaut. Das passiert wenn ich zum ungünstigen Zeit punkt von Fehler auf Closed wechsel. Siehe Debug Output, es wird noch mal Rot geschrieben.
                        Blink6.jpg

                        Jo hatte ich schon verstanden - Lösung siehe unten. 😁

                        1 Reply Last reply Reply Quote 1
                        • mickym
                          mickym Most Active @frankyboy73 last edited by mickym

                          @frankyboy73 sagte in Nodered Dashboard Template:

                          Edit: Hat sich überschnitten. Ok, das ist auch ne Lösung 👍

                          Um sicher zu sein ist halt der Reset Trigger auf die doppelte Zeitperiode des Blinkentriggers eingestellt. 🙂

                          Ich finde diese Trigger Node und die Vielseitigkeit der Einsetzbarkeit - bislang die genialste Node in NodeRed. 😉

                          1 Reply Last reply Reply Quote 0
                          • F
                            frankyboy73 @mickym last edited by frankyboy73

                            @mickym sagte in Nodered Dashboard Template:

                            Diese Trigger Node ist so genial

                            Jo, die ist super. Man könnte die auch mit bool false reseten (kann man in der Node einstellen wo rüber man resetten will), dann spart man sich vielleicht noch ne Change Node. Wenn der Fehler weg geht sollte ja false dort ankommen, bzw. kannst du über deinen Zusatztrigger false senden.
                            Trigger2.jpg

                            mickym 2 Replies Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @frankyboy73 last edited by mickym

                              @frankyboy73 Beste Idee - schon wieder einfacher. 🙂

                              Schon umgesetzt:

                              47add21e-cdf2-4070-be9b-22ddd52750a5-image.png

                              [
                                 {
                                     "id": "90a44e1a.ea1a4",
                                     "type": "trigger",
                                     "z": "1557a383.3bbd1c",
                                     "name": "",
                                     "op1": "{\"color\":\"#333333\",\"icon\":\"lock\"}",
                                     "op2": "{\"color\":\"red\",\"icon\":\"lock\"}",
                                     "op1type": "json",
                                     "op2type": "json",
                                     "duration": "450",
                                     "extend": false,
                                     "overrideDelay": false,
                                     "units": "ms",
                                     "reset": "",
                                     "bytopic": "all",
                                     "topic": "topic",
                                     "outputs": 1,
                                     "x": 680,
                                     "y": 1460,
                                     "wires": [
                                         [
                                             "13171610.b0467a"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "e2a0cd0f.674ae",
                                     "type": "inject",
                                     "z": "1557a383.3bbd1c",
                                     "name": "Fehler",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "true",
                                     "payloadType": "bool",
                                     "x": 210,
                                     "y": 1500,
                                     "wires": [
                                         [
                                             "1394480a.160148"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "1394480a.160148",
                                     "type": "trigger",
                                     "z": "1557a383.3bbd1c",
                                     "name": "",
                                     "op1": "true",
                                     "op2": "0",
                                     "op1type": "bool",
                                     "op2type": "str",
                                     "duration": "-1",
                                     "extend": false,
                                     "overrideDelay": false,
                                     "units": "s",
                                     "reset": "false",
                                     "bytopic": "all",
                                     "topic": "topic",
                                     "outputs": 1,
                                     "x": 460,
                                     "y": 1460,
                                     "wires": [
                                         [
                                             "90a44e1a.ea1a4"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "6e945.0b1fa6bc",
                                     "type": "trigger",
                                     "z": "1557a383.3bbd1c",
                                     "name": "Reset Blink Trigger",
                                     "op1": "false",
                                     "op2": "",
                                     "op1type": "bool",
                                     "op2type": "pay",
                                     "duration": "2",
                                     "extend": false,
                                     "overrideDelay": false,
                                     "units": "s",
                                     "reset": "",
                                     "bytopic": "all",
                                     "topic": "topic",
                                     "outputs": 2,
                                     "x": 490,
                                     "y": 1300,
                                     "wires": [
                                         [
                                             "1394480a.160148"
                                         ],
                                         [
                                             "13171610.b0467a"
                                         ]
                                     ]
                                 },
                                 {
                                     "id": "328a43b0.17253c",
                                     "type": "inject",
                                     "z": "1557a383.3bbd1c",
                                     "name": "Gelbes Icon - Fenster gekippt",
                                     "props": [
                                         {
                                             "p": "payload"
                                         }
                                     ],
                                     "repeat": "",
                                     "crontab": "",
                                     "once": false,
                                     "onceDelay": 0.1,
                                     "topic": "",
                                     "payload": "{\"color\":\"yellow\",\"icon\":\"lock\"}",
                                     "payloadType": "json",
                                     "x": 220,
                                     "y": 1300,
                                     "wires": [
                                         [
                                             "6e945.0b1fa6bc"
                                         ]
                                     ]
                                 }
                              ]
                              

                              Diese Trigger Node ersetzt sicher 10 Blocklies. 😉

                              F 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @frankyboy73 last edited by

                                @frankyboy73 Wir wären ein Superteam - beim Brainstorming zum Erstellen von Flows.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  frankyboy73 @mickym last edited by

                                  @mickym Das sehe ich auch so. Super, macht momentan echt Spaß hier. Ich habe auch mit großem Interesse den Max Cube Beitrag verfolgt. Ich werde in Zukunft bestimmt wieder mehr in diesem Forum rumgeistern.

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @frankyboy73 last edited by

                                    @frankyboy73 sagte in Nodered Dashboard Template:

                                    @mickym Das sehe ich auch so. Super, macht momentan echt Spaß hier. Ich habe auch mit großem Interesse den Max Cube Beitrag verfolgt. Ich werde in Zukunft bestimmt wieder mehr in diesem Forum rumgeistern.

                                    Tja das ist schon komplexer - und man muss halt immer die ganze Logik im Kopf haben - weil man halt nicht die gleiche Umgebung hat. Insofern probiert man was aus, wartet auf Rückmeldung, um zu wissen, dass man auf dem richtigen Weg ist.
                                    Dann ist es halt besonders schwierig, wenn nebenher noch ganz andere Dinge gemacht werden.

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      Saranger @mickym last edited by

                                      @mickym

                                      anbei mal meine Lösung, ichhabe einen Button eingefügt, der unsichtbar ist und der triggert die Schleife immer wieder von neuen. Sobald aber einer der beieden Zustände wieder zurückgeht, wird über die Undabfrage (Blauerpfeil) die Schleife an beiden Triggern gestoppt.

                                      Sehr cool so viele Varianten und Lösungen 🙂

                                      Nodered_1.JPG

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      1.0k
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      template
                                      3
                                      32
                                      3403
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo