rdmtc / RedMatic

Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Apache License 2.0
534 stars 47 forks source link

get value Node: Negieren des State per Inverter integrieren / neuer Toggle Node? #107

Closed drose28357 closed 5 years ago

drose28357 commented 5 years ago

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. nodered_toggle-aktor_with_inverter

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.

drose28357 commented 5 years ago

Sorry, hab ausversehen den close Knopf getroffen...

Sineos commented 5 years ago

Das schöne an NR ist, dass meistens viele Weg nach Rom, respektive zu true and false führen:

Change Node: grafik

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.

psi-4ward commented 5 years ago

voll deiner Meinung! Switch Node wäre hier auch noch ein guter Kandidat für Toggle

drose28357 commented 5 years ago

@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. ;-)

psi-4ward commented 5 years ago

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.

hobbyquaker commented 5 years ago

Hmm... Kann beide Argumentationen nachvollziehen, bin im Moment unentschlossen ;-) Was haltet ihr von einem neuen Node "CCU Toggle Value" speziell für diesen Zweck?

Hypnos3 commented 5 years ago

@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

image

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?

hobbyquaker commented 5 years ago

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.

psi-4ward commented 5 years ago

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

Sineos commented 5 years ago

@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.

drose28357 commented 5 years ago

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!!

Sineos commented 5 years ago

@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.

hobbyquaker commented 5 years ago

Dann betracht ich das mal als Konsens gegen einen neuen Toggle Node und schließe diesen Issue :)