Node Red und Zwangsstellung 2bit DPT

Ich möchte die Reedkontakte meiner Fenster auswerten. Diese werden als 1bit Wert gesendet. Über Node Red möchte ich nun auswerten ob Reedkontakt geschlossen (false) oder offen (true) ist. Da ich für die GA der Zwangsstellungsfunktion am Gira Jalousieaktor ein 2 bit Wert einlesen muss möchte ich über die Change Funktion im Node Red die Werte ändern. Aus false wird 0 und aus true soll $02 werden. $02 soll für ein 2 bit Objekt stehen.
Die GA der Zwangssteuerfunktion ist als 2bit Datentyp eingestellt (DPT 23.002). Ich habe auch schon andere 2bit DPT probiert, jedoch kommt immer nur 00 für false und 01 für true auf dem Bus an.
Wenn ich im Diagnoseprogramm den Wert 02 setze funktioniert die Zwangsstellung.
Es liegt also nur an der Ausgabe von Node Red:

[{"id": "ee1a95ec.214b88","type": "tab","label": "Alarm Fenster","disabled": false,"info": ""},{"id": "a5150da6.03844","type": "debug","z": "ee1a95ec.214b88","name": "Zwangssteuerung Schiebetür Office","active": true,"console": "false","complete": "payload","x": 1150,"y": 120,"wires": []},{"id": "1e56781.2e82888","type": "inject","z": "ee1a95ec.214b88","name": "Read","topic": "","payload": "true","payloadType": "bool","repeat": "","crontab": "","once": false,"x": 110,"y": 117,"wires": [["ba49e9a2.44d528"]]},{"id": "2c38384b.2bb9f8","type": "comment","z": "ee1a95ec.214b88","name": "Issue a READ request","info": "","x": 159,"y": 77,"wires": []},{"id": "43615d49.089ba4","type": "debug","z": "ee1a95ec.214b88","name": "Reed Offices Terrasse","active": true,"console": "false","complete": "payload","x": 1100,"y": 180,"wires": []},{"id": "9998589.37cdda8","type": "change","z": "ee1a95ec.214b88","name": "Tür geschlossen","rules": [{"t": "change","p": "payload","pt": "msg","from": "false","fromt": "bool","to": "0","tot": "num"}],"action": "","property": "","from": "","to": "","reg": false,"x": 760,"y": 60,"wires": [["a5150da6.03844","c97db599.32c1d8"]]},{"id": "38a7324e.7b3ace","type": "change","z": "ee1a95ec.214b88","name": "Tür offen","rules": [{"t": "change","p": "payload","pt": "msg","from": "true","fromt": "bool","to": "2","tot": "num"}],"action": "","property": "","from": "","to": "","reg": false,"x": 740,"y": 100,"wires": [["a5150da6.03844","c97db599.32c1d8"]]},{"id": "c97db599.32c1d8","type": "knxEasy-out","z": "ee1a95ec.214b88","server": "6dd6f0b1.ad24","topic": "3/1/120","dpt": "","name": "Zwangssteuerung JA 2","outputtype": "write","x": 1117.5,"y": 63,"wires": []},{"id": "ba49e9a2.44d528","type": "knxEasy-in","z": "ee1a95ec.214b88","server": "6dd6f0b1.ad24","topic": "3/1/100","dpt": "","initialread": false,"notifyreadrequest": true,"notifyresponse": false,"notifywrite": true,"name": "Reed Schiebetür Office","x": 330,"y": 120,"wires": [["9998589.37cdda8","38a7324e.7b3ace","43615d49.089ba4"]]},{"id": "6dd6f0b1.ad24","type": "knxEasy-config","z": "","host": "192.168.1.221","port": "3671"}]

Hallo @MKnoblauch
... & willkommen hier im Forum.

Node-RED kommentiert die Flow-Daten mit SyntaxError: Unexpected token '​', "​​​​​​[ { "... is not valid JSON.

Darüber hinaus: Worin besteht das eigentliche Problem? Der change Node sollte true doch in 2 konvertieren können... :thinking: ?

Hello again!
Das "Problem" sind die beiden parallelen change nodes. Ein change Node verändert msg - und gibt danach msg stets (in > 99% der Fälle) weiter!

Somit kommen an dem knxEasy-out mit Deinem Flow zwei Signale an... deren Reihenfolge zufällig ist.

Nach meinem Verständnis soll jedoch für jedes Signal kommend von knxEasy-in nur ein Signal weitergegeben werden - mit false -> 0 / true -> 2. Konfiguriere daher einen (1!) change Node wie folgt ... und lösche den anderen:

Das sollte das gewünschte Ergebnis bringen...

Hallo Ralph, Danke für Deine Hinweise. Die Change Funktion funktioniert soweit, da ich auf dem debug Fenster die Werte 0 oder 2, je nach Zustand ausgegeben erhalte.

Das eigentliche Problem besteht in der Kommunikation mit dem Bus. Weder das KNXeasy in bzw out Node lässt die Einstellung des DPT zu. Evtl. liegt es daran, das ich als Version noch 0.17.5 zu laufen habe.
Der Versuch mit anderen Nodes Import oder Export zu bewirken scheiterte auch an den DPT Einstellungen. Jetzt konzentriere ich mich erst einmal auf ein Update von Node-Red.
Weiß jemand, wie ich elegant ein Update einspielen kann.

LG Marco

Glaube ich; ich glaube aber auch, dass pro Eingangssignal zwei Ausgangssignale erzeugt werden...

Das sieht die Doku etwas anders; aber evtl. funktioniert es auch nicht - obwohl die Doku es so darstellt...

=> Dokumentation; ggf. auch unter getting started, abhängig von Deinem System..

Hallo Ralph,
gut, das die Installation eines Node-Red Upgrades nicht so trivial ist (zumindest nicht für mich).
Inzwischen hat sich Christian von ProKNX bei mir zurückgemeldet und mich gebeten kein Update durchzuführen, da die realKNX Plattform sonst gefährdet sein könnte.
Er empfahl mir eine tiefere Version von node-red-contrib-knx-ultimate zu installieren. Ich werde weiter berichten, ob ich zum Ziel komme. Deinen Hinweis mit dem Change Modul habe ich berücksichtigt.
Übrigens, ja in den Doku's beschreiben alle Anbieter die Anwendbarkeit des DPT Auswahlfeldes. Nur bei mir ist es leer, was sicher auf ein Versionskonflikt zurück zu führen ist.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.