NEWS
Nodered Dashboard Template
-
Ok kein Thema dann wird es einfach nur eine andere Farbe, aber ansonsten vielen Dank für die Hilfe, dass wird mir denk ich noch öfter helfen diese Lösung :).
-
@saranger Hi, es gibt zwar kein Blinken, aber man könnte ja die Farbe im Sekundentakt wechseln, z.B. rot-schwarz-rot-schwarz, usw. Anstatt schwarz eventuell die Hintergrundfarbe, dann siehts aus wie blinken.
-
Klingt interessant könnte ich mal testen danke 🤩.
Hab das mir mal angeschaut aber wie würdest du das umsetzen dass es immer zwischen den zwei Nachrichten gewechselt wird?
-
Hab es jetzt hin bekommen, aber da verliert man irgendwie ziemlich schnell den überblick bei so vielen Linien^^.
-
@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.