Closed drose28357 closed 5 years ago
Sorry, hab ausversehen den close Knopf getroffen...
Das schöne an NR ist, dass meistens viele Weg nach Rom, respektive zu true and false führen:
Change Node:
Ich bin eigentlich dafür, dass Dinge die sich mit einer einzelnen Node relativ leicht erledigen lassen auch so gemacht werden. Überfrachtet man die Kern-Nodes mit zu vielen Sonderfunktionen, macht es das ganze nur komplexer und undurchsichtiger.
voll deiner Meinung! Switch Node wäre hier auch noch ein guter Kandidat für Toggle
@Sineos Das ist ein Jason-Hack, denn kann nicht jeder ! Oder wo steht das im Wiki ?
@psi-4ward Der Switch-Node erzeugt wiederum zwei Ausgänge, die ich dann mit weiteren Nodes kombinieren muss. Im Ausgang gibt es jedenfalls keine Not-Funktion. Oder ich erkenne die einfache Lösung mit Switch nicht ....
Die Frage ist doch, ob Node Red ein System für Coding-Experten werden soll, oder ein System, das auch weniger talentierte IT-Experten zu begeisterten Redmatic-Nutzern machen, in dem einfache Dinge einfach umzusetzen sind. Jedenfalls ist die Toggle-Funktion in der klassischen Homematic ein Bestandteil des Aktors. Da würde ich als beginner als erstes suchen.
@hobbyquaker : sagt doch auchg mal was dazu. ;-)
Lieber gibt es ein paar mehr Nodes und es ist klar was passiert. In Get oder Set den payload zu ändern fühlt sich für mich falsch an.
Wenn viele Nodes öfter gebraucht werden sind auch Subflows eine gute Lösung.
Hmm... Kann beide Argumentationen nachvollziehen, bin im Moment unentschlossen ;-) Was haltet ihr von einem neuen Node "CCU Toggle Value" speziell für diesen Zweck?
@drose28357 Es gibt auch einen Speziellen CCU switch Node und im Wiki gibt es für die "nicht coding Expetrten" eine Anleitung, der genau für dein Problem eine Lösung zeigt:
https://github.com/HM-RedMatic/RedMatic/wiki/Flow-simple-toggle-light
Hier anstelle des ersten value nodes einfach den UI Button nehmen.
@hobbyquaker hier bin ich zu "CCU Toggle Value" auch unentschlossen. Bei CCU gibt es nicht nur true/false als value. Was würde denn dieser Node beispielsweise bei einem Dimmer machen? Wert 0 zu 1 und alles andere zu 0?
Bei einem Dimmer/Rollladen könnte man sich überlegen entweder 0
=> 1
und >0
=> 0
oder falls ein LEVEL_OLD
zur Verfügung steht 0
=> LEVEL_OLD
und >0
=> 0
. Könnte man auch konfigurierbar machen. Ich denke schaden würde so ein neuer Toggle Node auf keinen Fall, ich selbst brauch ihn nicht wirklich, aber ich kann den Wunsch von @drose28357 durchaus nachvollziehen.
Wo fängt man an wo hört man auf. Ich möchte die Nodes eigentlich nicht so aufblasen. Lieber erklären wie man sowas als Subflow oder function node machen kann
@drose28357 Ich verstehe deinen Antritt vollkommen. Ich würde mich selber noch als blutigen Anfänger bezeichnen, wenn ich sehe, was andere basteln / programmieren können. Dennoch bin ich @psi-4ward's Meinung:
Lieber einen Wiki Eintrag schreiben.
Bin zur Zeit nicht daheim, aber dein Logic node als nor-gatter versuche ich Freitag Mal. (Und schreibe dann auch ins Wiki. Vielleicht mit dem Titel Status eines Autors invertieren, dann kann Mann auch für Rolläden und Dimmer was erfinden... )
.... und dann könnte ich auch die Zusatznodes für Boolean wieder rauswerfen.
Finde es aber insgesamt gut, das hier konstruktiv diskutiert wird!!
@drose28357 die momentan verfügbare logic node hat noch einen bug in OR / NOR. Der ist bereits gefixt, es muss nur noch die neue Version 1.6.2 auf npm gepublisht werden. Kann dann über Manage palette
aktualisiert werden.
Dann betracht ich das mal als Konsens gegen einen neuen Toggle Node und schließe diesen Issue :)
Feature-Request: Eine häufige Anwendung für Homematic-Aktoren ist das Ein- und wieder Aus-Schalten mit nur einem (!) Taster. Wenn das in einem Flow realsiert werden soll, müssen zusätzliche Nodes verwendet werden..
Hab da etwas herum gespielt und in der Flow-Library "node-red-contrib-boolean-logic" gefunden. Damit habe ich den im Bild dargestellten Flow für das Dashboard realisiert.
Insgesamt wäre es einfacher und intuitiver für Homematic-Logik, wenn in Get-Value-Node für den State (z.B. mit Checkbox) angewählt werden könnte , das der State invertiert als Boolean ausgegeben wird. Dann kann der ausgegebene Wert direkt in den Set-Value-Node in den State geschrieben werden.
Alternativ: Inverter im SetValue (Dann passiert es genau dort, wo der Eingang ist, der Node ist dann jedoch nur für toggle state, nicht für set state verwendbar)
Alternativ einen CCU Inverter-Node integrieren.