Hi,
Du hast es im Prinzip schon selbst geschrieben, diese beiden sind es:
node-red-contrib-simple-gate
node-red-contrib-time-based-dimmer
Ankündigung
Einklappen
Keine Ankündigung bisher.
Gira x1 an Node Red
Einklappen
X
-
Moin martiko,
kannst du mir verraten welche nodes du installiert hast? Ich Habe deinen Flow importiert und mir werden zwei unbekannte Flows angezeigt. gate und time-based-dimmer.
Danke
Einen Kommentar schreiben:
-
Moin,
ja genau, das war der Hintergrund. Die zweite Besonderheit ist, dass ich das Dimmen eben wie bei einem Normalen Dimmaktor machen wollte, d.h. der Flow muss nach dem Befehl "Dimmen starten" selbst hoch bzw. runter zählen bis der Dimm-Ende Befehl kommt, dafür habe ich mir einen Dimmer-Node gesucht und installiert.
Ich wollte den kompletten Flow reinkopieren, ist aber zu lang für ein Posting, ich habe mal den spannenden Teil rauskopiert, ich hoffe, das reicht...
Code:[{"id":"d78093b7.aa10d8","type":"hue-light","z":"95a544c8.e7c628","name":"Strahler","bridge":"c7127a67.f9389","lightid":"2","colornamer":true,"skipevents":false,"x":640,"y":80,"wires":[["e51d041b.bb7de8"]]},{"id":"e51d041b.bb7de8","type":"rbe","z":"95a544c8.e7c628","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":860,"y":60,"wires":[["4ce730b3.1bf73","4eecb0ab.90a9f8","dad4d196.9628e"]]},{"id":"dad4d196.9628e","type":"function","z":"95a544c8.e7c628","name":"Brightness-0 when off","func":"var outputMsg = {};\nvar b;\n\nif(msg.payload.on === true) {\n b = msg.payload.brightness;\n} else {\n b = 0;\n}\n\noutputMsg.payload = b;\n\nreturn outputMsg;","outputs":1,"noerr":0,"x":540,"y":260,"wires":[["c62727aa.1ee9f8","6aef6b29.8bf14c"]]},{"id":"6aef6b29.8bf14c","type":"gate","z":"95a544c8.e7c628","name":"BlockDuringDimming","controlTopic":"control","defaultState":"open","openCmd":"open","closeCmd":"close","toggleCmd":"toggle","defaultCmd":"default","persist":false,"x":560,"y":440,"wires":[["76828996.d2a3c","efdcd693.974498"]]},{"id":"a70f1cb9.5f4e18","type":"function","z":"95a544c8.e7c628","name":"Translate Dim to Start/Stop","func":"var action;\nvar block;\n\nif(msg.payload.data === 1) {\n block = \"close\";\n if (msg.payload.decr_incr === 1) {\n action = \"StartIncrease\";\n } else {\n action = \"StartDecrease\";\n }\n} else {\n action = \"Stop\";\n block = \"open\";\n}\n\nvar newMsg = { payload: block, topic: \"control\"};\nmsg.payload = action;\n\nreturn [ msg, newMsg];","outputs":2,"noerr":0,"x":240,"y":440,"wires":[["efdcd693.974498"],["6aef6b29.8bf14c"]]},{"id":"efdcd693.974498","type":"time-based-dimmer","z":"95a544c8.e7c628","name":"HueDimmer","interval":"150","step":5,"minValue":0,"maxValue":100,"startIncCommand":"StartIncrease","stopIncCommand":"Stop","startDecCommand":"StartDecrease","stopDecCommand":"Stop","x":750,"y":660,"wires":[["6277f9e8.2cf65"]]},{"id":"6277f9e8.2cf65","type":"function","z":"95a544c8.e7c628","name":"Set Brightness","func":"var outputMsg = {};\n\noutputMsg.payload = {\n brightness: msg.payload\n}\n\nreturn outputMsg;\n","outputs":1,"noerr":0,"x":960,"y":660,"wires":[["fea6c24c.e19d08","d78093b7.aa10d8"]]},{"id":"c7127a67.f9389","type":"hue-bridge","z":"","name":"Philips hue","bridge":"192.168.28.12","key":"bpuT3CyjzAQ54lvnhkdiFHl3E7iVTigJRiyIvXN9","interval":"2000","disableupdates":false}]
Einen Kommentar schreiben:
-
Wäre es möglich, dass du den Code zu dem flow mal hier einstellst? Ich kann meine hue Lampen zwar über meinen Gira X1 schalten und dimmen, allerdings kämpfe ich noch mit einem Problem.Zitat von martiko Beitrag anzeigenAuch wenn Du daraus nicht viel ableiten kannst, so sieht meine Test-Implementierung aus... Mein Ziel warm dass sich die Hue-Lampe möglichst ähnlich verhält, wie der Kanal eines Dimmamtors (Farbe habe ich erstmal weggelassen). Auf der anderen Seite sollte die Statuswerte, wenn Hue über App bedient wird, auch an KNX zurückgemeldet werden (damit z.B. am Glastaster der korrekte Status angezeigt wird). Das alles zusammen macht es dann doch etwas... komplexer:
B0D1B997-B7A5-4169-81BC-FB3705989FA6.jpeg
Und zwar wenn die hue Lampe auf 50% eingeschaltet ist und ich die Lampe über den X1 aus schalte, setzt sich der Dimmwert nicht auf 0%. Ich vermute dieses Problem bekommst du mit der function „Brightness 0 when off“ in den Griff.
Gruß
Einen Kommentar schreiben:
-
Nimm mal meinen Code und importiere ihn.
dann musst du nur noch deine Settings anpassen.
hier hast du dimm Helligkeit und schalten.
und das auch mit RM GA
- Likes 1
Einen Kommentar schreiben:
-
Soooooo. Die Adresse war falsch
Die Verbindung steht...juhuuu danke euch
Jetzt müsste ich nur noch wissen wie ich den Dimmwert von Hue umgewandelt bekomme in KNX Format
Einen Kommentar schreiben:
-
Hast du nur einen X1 oder auch einen Ip Router?
deine Einstellung passt meines Erachtens nicht zum X1. Du musst in der KNX Node die Einstellung so machen wie in meinem Screenshot.
deine IP Adresse von X1 sollte ja bekannt sein.
nur so am Rande. Nodered ist mächtig. Aber zur Inbetriebnahme sollten nicht nur oberflächliche Kenntnisse vorhanden sein.
Einen Kommentar schreiben:
-
Danke für eure Antworten, aber ich kann da als Anfänger noch nicht ganz viel machen
. Kann ich denn prüfen ob eine Verbindung zu knx besteht ?
Einen Kommentar schreiben:
-
Wegen den GA. Ich habe meine GA immer händisch eingegeben und das geht auch. Habe halt die ETS auf und schreib die GA ab und stell den DP-Typ ein.Zitat von mehlimann Beitrag anzeigenBeides ohne Erfolg.....Meine Konfi vom KNX Baustein habe ich mal angehangen.
Du hast Multicast eingestellt. Steinigt mich, aber kann der X1 MultiCast?
Habe auch einen x1 und meine Config sieht so aus:
Angehängte Dateien
- Likes 1
Einen Kommentar schreiben:
-
Mit diesen Code funktioniert es bei mir. Vielleicht hilft es dir
Code:[ { "id": "d24d0cc4.0c85e", "type": "hue-light", "z": "5e68c0a7.3627a", "name": "Büro", "bridge": "632d6744.f0c16", "lightid": "46", "colornamer": true, "skipevents": false, "x": 650, "y": 580, "wires": [ [ "d996134e.c1716" ] ] }, { "id": "8b261ad6.84ef9", "type": "knxUltimate", "z": "5e68c0a7.3627a", "server": "cffd8dcd.0c56e", "topic": "0/0/109", "outputtopic": "", "dpt": "1.001", "initialread": false, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0", "listenallga": false, "name": "Nachttisch on/off", "outputtype": "write", "outputRBE": true, "inputRBE": false, "x": 160, "y": 580, "wires": [ [ "d24d0cc4.0c85e" ] ] }, { "id": "5ae28343.1cea4c", "type": "knxUltimate", "z": "5e68c0a7.3627a", "server": "cffd8dcd.0c56e", "topic": "0/0/110", "dpt": "1.001", "initialread": false, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0", "listenallga": false, "name": "Nachttisch on/off Status", "outputtype": "write", "outputRBE": true, "inputRBE": false, "x": 1100, "y": 580, "wires": [ [] ] }, { "id": "59e51f3b.ec26e", "type": "knxUltimate", "z": "5e68c0a7.3627a", "server": "cffd8dcd.0c56e", "topic": "0/0/111", "dpt": "3.007", "initialread": false, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0", "listenallga": false, "name": "Nachttisch DIM", "outputtype": "write", "outputRBE": true, "inputRBE": false, "x": 160, "y": 760, "wires": [ [ "a003d5ea.77694" ] ] }, { "id": "a003d5ea.77694", "type": "function", "z": "5e68c0a7.3627a", "name": "", "func": "return {payload: msg.knx.rawValue[0]};\n", "outputs": 1, "noerr": 0, "x": 370, "y": 763, "wires": [ [ "460a1a98.16b8d4" ] ] }, { "id": "ea219423.f7a6c", "type": "knxUltimate", "z": "5e68c0a7.3627a", "server": "cffd8dcd.0c56e", "topic": "0/0/113", "dpt": "5.001", "initialread": false, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0", "listenallga": false, "name": "Nachttisch HW RM", "outputtype": "write", "outputRBE": true, "inputRBE": false, "x": 1090, "y": 640, "wires": [ [] ] }, { "id": "460a1a98.16b8d4", "type": "function", "z": "5e68c0a7.3627a", "name": "", "func": " if(msg.payload === 9){\n msg.topic = \"up\"}\nelse \n{msg.topic = \"down\"}\nreturn msg;", "outputs": 1, "noerr": 0, "x": 570, "y": 763, "wires": [ [ "4e328d2e.57330c" ] ] }, { "id": "4e328d2e.57330c", "type": "function", "z": "5e68c0a7.3627a", "name": "button input to state", "func": "var step = 10\nif(msg.topic === \"up\"){\n if(msg.payload === 9){\n flow.set(\"OfficeIndirektincrementvalue\",step)\n }\n else{\n flow.set(\"OfficeIndirektincrementvalue\",0)\n }\n}\nelse{\n if(msg.payload === 1){\n flow.set(\"OfficeIndirektincrementvalue\",step * -1)\n }\n else{\n flow.set(\"OfficeIndirektincrementvalue\",0)\n }\n}\nreturn msg;\n", "outputs": 1, "noerr": 0, "x": 820, "y": 763, "wires": [ [] ] }, { "id": "394e9889.343218", "type": "function", "z": "5e68c0a7.3627a", "name": "", "func": "return {payload: {brightness: msg.payload} };", "outputs": 1, "noerr": 0, "x": 350, "y": 640, "wires": [ [ "d24d0cc4.0c85e", "22f6e9a0.46e106" ] ] }, { "id": "f552a392.82f0c8", "type": "function", "z": "5e68c0a7.3627a", "name": "dimmer controller", "func": "var iv = flow.get(\"OfficeIndirektincrementvalue\") || 0;\nif(iv === 0){\n return null\n}\nvar dimmer = flow.get(\"OfficeIndirektDimmervalue\") || 0;\ndimmer += iv;\nif(dimmer > 100){\n dimmer = 100;\n}\nif(dimmer < 0){\n dimmer = 0;\n}\n\nflow.set(\"OfficeIndirektDimmervalue\",di mmer)\n\nmsg.payload = dimmer;\nreturn msg\n// Das ist ein Kommentar", "outputs": 1, "noerr": 0, "x": 410, "y": 723, "wires": [ [ "394e9889.343218" ] ] }, { "id": "8e4a8bab.1cb23", "type": "inject", "z": "5e68c0a7.3627a", "name": "", "repeat": "0.33", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 150, "y": 723, "wires": [ [ "f552a392.82f0c8" ] ] }, { "id": "43ff980b.fe8ed8", "type": "knxUltimate", "z": "5e68c0a7.3627a", "server": "cffd8dcd.0c56e", "topic": "0/0/112", "dpt": "5.001", "initialread": false, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0", "listenallga": false, "name": "Nachttisch HW", "outputtype": "write", "outputRBE": true, "inputRBE": false, "x": 160, "y": 640, "wires": [ [ "394e9889.343218" ] ] }, { "id": "84090b3e.0f28b8", "type": "function", "z": "5e68c0a7.3627a", "name": "", "func": "flow.set(\"OfficeIndirektDimmervalue\", msg.payload);", "outputs": 1, "noerr": 0, "x": 1030, "y": 720, "wires": [ [] ] }, { "id": "d996134e.c1716", "type": "function", "z": "5e68c0a7.3627a", "name": "", "func": "return [{payload: msg.payload.on},{payload: msg.payload.brightness}];", "outputs": 2, "noerr": 0, "x": 850, "y": 580, "wires": [ [ "5ae28343.1cea4c" ], [ "ea219423.f7a6c", "84090b3e.0f28b8" ] ] }, { "id": "22f6e9a0.46e106", "type": "debug", "z": "5e68c0a7.3627a", "name": "", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "x": 660, "y": 680, "wires": [] }, { "id": "8f11f523.49b3a8", "type": "inject", "z": "5e68c0a7.3627a", "name": "", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "100", "payloadType": "num", "x": 150, "y": 480, "wires": [ [ "394e9889.343218" ] ] }, { "id": "632d6744.f0c16", "type": "hue-bridge", "z": "", "name": "Philips hue", "bridge": "192.168.2.77", "key": "xxx", "interval": "3000", "disableupdates": false }, { "id": "cffd8dcd.0c56e", "type": "knxUltimate-config", "z": "", "host": "192.168.2.13", "port": "3671", "physAddr": "1.0.5", "suppressACKRequest": false, "csv": "", "KNXEthInterface": "enp3s0", "KNXEthInterfaceManuallyInput": "", "statusDisplayLastUpdate": true, "statusDisplayDeviceNameWhenALL": true, "statusDisplayDataPoint": false, "name": "", "localEchoInTunneling": false, "delaybetweentelegrams": "", "delaybetweentelegramsfurtherdelayREAD": "" } ]
Einen Kommentar schreiben:
-
Ich habe vermutet, dass der X1 evt. der Übeltäter ist....
Aber jetzt nochmal von vorn.
Ich habe Node Red jetzt neu auf dem Raspberry installiert. Dieser ist im Wlan angebunden.
Ich habe jetzt versucht zum einen eine Temperatur aus dem KNX abzurufen und eine Lampe von Node Red aus zu schalten.
Beides ohne Erfolg.....Meine Konfi vom KNX Baustein habe ich mal angehangen.
Einen Kommentar schreiben:
-
Zum Import der GAs in KNX-Ulrimate gibt es ein gutes Video, geh mal auf die Hilfe-Seite dieses Knoten.
Mich wundert, dass Du (auch schon im Titel) so den X1 betonst... der X1 spielt praktisch gar keine Rolle, der ist in diesem Komtext einfach ein IP-Interface, nicht mehr und nicht weniger... In der Konfiguration des IP-Gateways in KX-Ultimate musst außer der IP-Adresse (in Deinem Fall des X1), üblicherweise den Port 3671 nichts spezielles eintragen (und eben die GA‘s sauber importieren).Zuletzt geändert von martiko; 24.09.2020, 20:09.
- Likes 1
Einen Kommentar schreiben:
-
Ht vielleicht jemand den X1 und kann mir die Konfiguration zeigen wir er Signale abholt? Bei mir sieht der Import seltsam aus...Angehängte DateienZuletzt geändert von mehlimann; 24.09.2020, 19:50.
Einen Kommentar schreiben:
-
Auch wenn Du daraus nicht viel ableiten kannst, so sieht meine Test-Implementierung aus... Mein Ziel warm dass sich die Hue-Lampe möglichst ähnlich verhält, wie der Kanal eines Dimmamtors (Farbe habe ich erstmal weggelassen). Auf der anderen Seite sollte die Statuswerte, wenn Hue über App bedient wird, auch an KNX zurückgemeldet werden (damit z.B. am Glastaster der korrekte Status angezeigt wird). Das alles zusammen macht es dann doch etwas... komplexer:
B0D1B997-B7A5-4169-81BC-FB3705989FA6.jpeg
Einen Kommentar schreiben:
-
Also node-red-contrib-knx-ultimate nutze ich auch, das ist meiner Meinung nach der Beste KNX-Node und ich habe das anhand der Beispiele eigentlich ganz gut hinbekommen, bin jetzt aber auch nicht der Profi.
Man müsste halt mal sehen wie Du den Node konfiguriert hast... hast Du die GA‘s importiert?
Wenn Hue funktioniert, würde ich erstmal unabhängig davon an KNX arbeiten und wenn beides für sich funktioniert, kamst auf ja daran gehen, es zu verbinden..
bzgl KNX-ultimate kann ich Dir diesen Thread empfehlen, da hast Du direkten Kontakt zum Entwickler (ist Italiener, daher Englisch... oder Italienisch
).
https://knx-user-forum.de/forum/%C3%...e-for-node-red
Einen Kommentar schreiben:


Einen Kommentar schreiben: