NEWS
Nodered Dashboard Template
-
@saranger Schön wenn du es hinbekommen hast.
Ja, wenn da viele Linien hin und her laufen kann das auf den ersten Blick schon etwas verwirrend aussehen. Aber man gewöhnt sich dran und der Vorteil bei Node Red ist ja das man nur die Linien verfolgen muss, damit man den Ablauf erkennt.
Ich hätte das wahrscheinlich mit ner Trigger und ner Delay Node gelöst, wobei ich per Schleife immer wieder den Trigger anschubsen würde, aber nur bei der 2. Nachricht des Triggers, deshalb der Switch mit Abfrage auf "schwarz", und beim Wechsel auf nen anderen Zustand die Schleife per Reset stoppen würde. Dann noch die msg.payload die aus dem Trigger kommt per change auf msg.color setzen. Nur mit Standart Nodes etwas kompliziert. Gibt bestimmt bessere Lösungen. Wie hast du das denn umgesetzt?
-
@saranger Oder mit 2 delay Nodes die sich gegenseitig triggern, wäre wahrscheinlich übersichtlicher. Dahinter dann mit Change die Farben setzen.
-
@frankyboy73 Na das ist ja mal eine Superidee.
Ist zwar wahrscheinlich nicht besonders resourcenschonen - insbesondere wenn man das häufig einzsetzt.Ich dachte mir nun, vielleicht kann man es noch bissi übersichtlicher machen - und statt 2 Delay Nodes - könnte man auch 2 Trigger Nodes verwenden.
Da die Trigger Node beide Nachrichten erzeugen kann und wenn man in das Daschbord die Eigenschaften nicht in das msg sondern in die msg.payload packt - dann funktioniert auch das:Man muss nur aufpassen - dass die 2 Node also 2 mal 450ms fertig ist bevor die erste Node erneut triggert. Aber ich stelle mir das nicht ressourcenschonend vor. Man merkt manchmal leichte Unregelmässigkeiten.
OK an der CPU Last hat sich nicht wirklich was geändert.
-
@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.
-
@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.
-
@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ß
-
@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. -
@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.
-
@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:
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.
-
@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. -
@frankyboy73 OK Du hast Recht.
Ich habe die Lösung eine 3. Trigger Node.
und eine Change Node - Habs getestet:
Diese Trigger Node ist so genial
-
@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.
Edit: Hat sich überschnitten. Ok, das ist auch ne Lösung
-
@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.
Jo hatte ich schon verstanden - Lösung siehe unten.
-
@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.
-
@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.
-
@frankyboy73 Beste Idee - schon wieder einfacher.
Schon umgesetzt:
Diese Trigger Node ersetzt sicher 10 Blocklies.
-
@frankyboy73 Wir wären ein Superteam - beim Brainstorming zum Erstellen von Flows.
-
@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.
-
@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. -
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