NEWS
KNX - Tahoma - Node Red - MDT Glastaster II
-
Hallo,
hat jemand schon über KNX und Tahoma eine Schnittstelle über Node -Red programmiert für eine Jalousiesteuerung?
Bin neu hier und auch was die Programmierung angeht, bin ich noch ein Anfänger.Ich habe in der ETS 5 die Datenpunkte definiert (siehe Bild1), jetzt möchte ich gern das wenn ich die Taste drücke am Glastaster die Jalousie nach unten fährt, sobald ich wieder auf die Taste drücke soll die Jalousie stoppen und beim erneuten drücken wieder nach oben fahren. Das mit dem Stoppen und dem Wechseln bekomme ich nicht hin, vll hat jemand ein Tip wie ich das in NODE RED realisieren kann?
Wie in Bild 2 zu sehen ist, bekomme ich die Jalousie nur nach unten und nach oben gesteuert, das er Anhalten auf einer Pos. bekomme ich leider nicht hin. In Bild 3 sind die entsprechende Parameter zusehen die ich über die Tahoma bekomme.
Wär nett wenn jemand schon was ähnliches über NODE RED realisiert hat und mir einen Tip hat.Bild 1
Bild 2
Bild 3
Vielen Dank im Voraus.
Grüße
Alex -
@alex1986 So kann das nie und nimmer funktionieren. Ich habe zwar weder Jalousien noch KNX - habe aber schon mal einen Hardwaretasten in NodeRed simuliert.
Ob das mit Deinem Glastaster funktioniert hängt da, was der Glastaster für Informationen ausgibt. Sprich triggert der bei jedem Drücken nur einen Datenpunkt oder hält der einen Status solange Du drückst.
Nur so ein Konstrukt wie Du es hast kann doch nie funktionieren.
Ich erkenne nur 2 Zustände die aus dem Switch kommen. Du brauchst doch eigentlich 3. Also hoch, runter und stop??
Wenn Dein Glastaster gedrückt=true liefert und losgelassen = false, dann kann man somit auch einen langen Tastendruck simulieren. Hier mal das was DU mit dem Rollladen gemacht hast, hier mal Dimmer implementiert:
(Der Flow ist aber wesentlich komplexer - als Du Dir vorstellst, um sowas zu realisieren).
-
@mickym
Das ist so nicht ganz richtig. Natürlich kann man, wenn im KNX abgefragt werden kann ob der Rollo gerade hoch bzw. runterfährt anschließend einen stop programmieren. Das einzige Problem was man dann hat ist den Status des zuvor gelaufenen zu speichern. Dieser muss nämlich beim nächsten drücken wieder hergeholt werden und ins Gegenteil umgewandelt werden. -
@gutscho OK - Dann nehm ich mich etwas zurück. Du kannst den Zustand in einer Flow-Variablen speichern und somit abfragen. Musst halt die Variable entsprechend aktualisieren und ggf. initialisieren ,wenn NR neu gestartet wird.
-
@mickym
Da ich mich im KNX bisher auch noch nicht so gut auskenne (kommt erst im laufen diesen Jahres in mein neues Haus) gehe ich mal davon aus dass die Zustände aller Geräte abgefragt werden können. Sollte das so sein wäre die Initialisierung nach einem Neustart von NR auch möglich.
Das mit dem Zwischenspeichern ist dann aber auch weg. Wobei man das ja über einen Systembefehl lösen kann indem man einfach eine Datei mit echo hoch > datei.txt bzw. echo runter > datei.txt abspeichert welchen man beim nächsten mal wieder mit "Read File" holt.Ich garantiere aber nicht für meine Aussagen, da ich das ganze durch fehlende Hardware nicht testen kann.
-
danke, für die Infos. Ich bin schon froh wenn das irgendwie hoch und runter bekomme.
Also der Taster liefert mir true oder false mehr nicht.
Ich bleibe nicht auf den Taster sondern drücke nur einmal drauf, so wie ich das gemacht habe funktioniert es mal mit hoch und runter fahren.auch wenn es nicht ganz richtig ist.....
Daher wär so ein "Stop" funktion ganz nett.
Was evtl. auch möglich wäre, ist das ganze in Prozent zu steuern solange ich drauf bleibe.
Ich wär einfach schon zufrieden, wenn die Rollade stehen bleibt wo ich will. Hab aber irgendwie kein Ansatz wie ich das in Node Red umsetzen kann bzw. kenn ich mich da noch nicht so gut aus.Vielen dank vorab.
-
Wie gesagt ich werde nicht mehr zuviel sagen, wenn Du meinst Du hast es im Prinzip schon gelöst.
Wie gesagt - solange ich nicht weiß, was Dein Glastaster für Signale liefert kann ich Dir im Detail nicht helfen.
Aus diesem Thread - mal zumindest für Dich so ein Ansatzpunkt, wie man über Flow Variablen den vorhergehenden Status speichern und abfragen kann.
Den relevanten Teil habe ich mal rauskopiert:
Getriggert werden aber durch 3 Zustände. Der stop Zustand gibt dann die eigentliche Aktion frei, während der Rollladen fährt wird der Zustand in hoch oder runter in einer Flow Variablen gespeichert.
Wenn Dein Glastaster halt unterschiedliche Zustände weiter gibt - dann kann man eben auch mit Long - und Shortpress arbeiten.
Dann kann Shortpress analog zum Dimmer - Rolladen auf und zumachen definieren. Longpress fährt solange auf wie gedrückt oder beim nächsten Mal solange zu, solange Du drückst.Hier habe ich so eine Tasterfunktion als Dimmer mal simuliert:
-
@alex1986
Ich habe gerade gesehen dass du ja nur einen Befehl (trigger) über den Glastaster schickst und das ganze dann an einen Tahoma weiterleitest. Das heißt aber wiederum du musst den Status nicht von KNX abfragen sondern du musst diesen von dem Tahoma auslesen. Hierzu gibt es eine Node die du in Node-RED einbinden kannst (node-red-contrib-tahoma).Des weiteren hat ja @mickym auch schon geschrieben was sonst zu machen ist. Sollte die Node dir den Zustand entsprechend mitteilen und du hast wie mickym beschrieben den vorherigen Zustand abgespeichert kannst du einfach mit folgendem Flow arbeiten (ich habe nicht die Original Flows verwendet da ich diese jetzt nicht extra installiere)
-
@alex1986 Im Prinzip musst Du halt beim Initialisieren mal entscheiden, was - wenn NR neu gestartet wurde - beim 1. Mal Glastaster drücken passieren soll. Wenn mal eine Richtung feststeht, dann ist es easy das wieder umzustellen.
Nehmen wir mal an Du initialisiert grundsätzlich am Anfang den letzten Zustand als runter fahren, dann würde es beim nächsten Mal hochfahren. Da es praktisch ist sowas mit booleschen Variablen zu machen, würde es so aussehen:
Hier mal das Beispiel, wie man mit einer Flowvariablen einen Toogle Switch implementiert:
Den Inhalt Deiner Flowvariablen siehst Du im Kontextmenü (aktualisieren):