Velux KLF200

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

gklank
Beiträge: 75
Registriert: 26.05.2020, 12:58
System: CCU und Access Point
Hat sich bedankt: 14 Mal
Danksagung erhalten: 2 Mal

Re: Velux KLF200

Beitrag von gklank » 08.11.2020, 01:10

Hallo,

sorry, dass ich so spät antworte.

Leider habe ich keine wirklich direkte Lösung...

Ich hatte dann irgendwie den Verdacht, dass es irgendein grundsätzliches IP-Kommunikationsproblem ist.
Bzw. auch irgendwie auf den IP Stack / S/W vom KLF2200 geraten...

Dann habe einfach mal Versuch den KLF200 wieder auf DHCP zu stellen und über den DHCP Server halt immer die gleiche IP Adresse zuweisen zu lassen, gemacht.

Das ist das letzte was mir als "Änderung" in Erinnerung steht.
Sorry, dass es nicht mehr ist - aber es läuft seit etlichen Tagen absolut stabil!!!

Was der KLF200 auch nicht mag, wenn die Fenster/Rollläden mal ohne Strom sind.
Danach hatte ich meist nur über Poweron für die Geräte und danach einen Reset den KLF200 gebraucht.


Grüße,


Gerhard
MfG,

Gerhard
CCU3 mit HM-IP Komponenten
CUxD mit MapleCUNx4_8F per LAN für FS20 Komponenten
Node-Red Docker auf QNAP
MQTT-broker LxD Container
NEO mediola Cloud mit Google Assistant
Home Assistant

TRK68
Beiträge: 63
Registriert: 01.04.2008, 20:18
Danksagung erhalten: 1 Mal

Re: Velux KLF-200 - Kommunikationsproblem

Beitrag von TRK68 » 28.11.2020, 10:45

Ich hatte jetzt bei der Neueinbindung des KLF-200 das gleiche Problem der fehlenden Kommunikation des Velux-red-node-Modules mit dem KLF-200. IP Adresse war korrekt, manuell oder per DHCP. Anpingen ging auch, Gerät war sichtbar im Netz. Geholfen hat nach etlichen Versuchen erst der Neustart des Routers, warum auch immer. Alte Regel: "Reboot tut gut"

bergstermann
Beiträge: 5
Registriert: 30.01.2021, 09:48
System: CCU
Danksagung erhalten: 6 Mal

Re: Velux KLF200

Beitrag von bergstermann » 30.01.2021, 10:40

Falls hier noch jemand Interesse hat, ich habe die Steuerung der Velux-Rolläden und Dachfenster mit Hilfe Eurer Hinweise in RedMatic einbinden können. Die Ansteuerung kann sowohl über Taster als auch über virtuelle Geräte mit Hilfe von CUxD erfolgen. Die Rolläden lassen sich hoch/runter und auf eine vorgegebene Position fahren als auch stoppen. Bei den Tastern führt ein Betätigen während des Betriebs zum Stoppen.
Hier mal beispielhaft für einen Rolladen. Bei gleichzeitiger Ansteuerung mehrerer Rolläden über Taster musste ich für einen zuverlässigen Betrieb kurze Delays einfügen.
Rolladen.JPG

Code: Alles auswählen

[{"id":"18b8b3bd.bdc394","type":"comment","z":"e37cb145.764068","name":"Rolladen mitte","info":"","x":90,"y":80,"wires":[]},{"id":"aaad814e.4b4cf","type":"Velux Nodes","z":"e37cb145.764068","name":"Rolladen mitte","datasource":"c262d2de.40cae8","index":"2","nodevalue":"ALL","topic":"Rolladen_mitte","x":580,"y":200,"wires":[["ca3e599d.e92078"]]},{"id":"f0303288.dab9f","type":"ui_slider","z":"e37cb145.764068","name":"ZielpositionDB Rolladen mitte","label":"Rolladen mitte","tooltip":"","group":"9a9eb07d.ac41","order":7,"width":0,"height":0,"passthru":false,"outs":"end","topic":"","min":0,"max":"100","step":1,"x":310,"y":140,"wires":[["aaad814e.4b4cf"]]},{"id":"ff8d35df.fdb82","type":"function","z":"e37cb145.764068","name":"function","func":"var ZielpositionHM = Number(msg.payload);\nvar Istposition = flow.get('IstpositionRM');\nvar delta = Istposition - ZielpositionHM;\n\nif (delta == 0) {\n  return null;\n} else {\n  // Rolladen fährt auf Zielposition\n  value = 100 - (ZielpositionHM * 100);\n  msg.payload = {'value' : value, 'valueType' : 'RELATIVE'};\n  msg.topic = 'Rolladen_mitte';\n  return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":200,"wires":[["aaad814e.4b4cf"]]},{"id":"ca3e599d.e92078","type":"function","z":"e37cb145.764068","name":"","func":"var Verfahrzeit = flow.get('VerfahrzeitRM')||0;\nVerfahrzeit = msg.payload.remainingTime;\nflow.set('VerfahrzeitRM',Verfahrzeit);\n\nvar Status = flow.get('StatusRM')||0;\nStatus = msg.payload.state;\nflow.set('StatusRM',Status);\n\nif (Status == 5) {\n  var Istposition = flow.get('IstpositionRM')||0;\n\n  // Skalierung\n  var x = Math.round(msg.payload.currentPosition.value);\n  Istposition = (100 - x) / 100;\n\n  flow.set('IstpositionRM',Istposition);\n  msg.payload = Istposition;\n  return msg;\n} else {\n  return null;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":760,"y":200,"wires":[["5afe1f3e.8ccb6"]]},{"id":"3bf4c505.713fba","type":"function","z":"e37cb145.764068","name":"","func":"msg.payload = {'rawValue' : 0xD200};\nmsg.topic = 'Rolladen_mitte';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":280,"wires":[["aaad814e.4b4cf"]]},{"id":"2092e13a.da51fe","type":"function","z":"e37cb145.764068","name":"","func":"var Status = flow.get('StatusRM');\nvar Istposition = flow.get('IstpositionRM');\n\nif (Status == 5 && Istposition != 1) {\n  // Rolladen wird geöffnet\n  msg.payload = {'value' : 0, 'valueType' : 'RELATIVE'};\n} else {\n  // Rolladen stoppt\n  msg.payload = {'rawValue' : 0xD200};\n}\nmsg.topic = 'Rolladen_mitte';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":360,"wires":[["aaad814e.4b4cf"]]},{"id":"63616a78.19579c","type":"function","z":"e37cb145.764068","name":"","func":"var Status = flow.get('StatusRM');\nvar Istposition = flow.get('IstpositionRM');\n\nif (Status == 5 && Istposition != 0) {\n  // Rolladen wird geschlossen\n  msg.payload = {'value' : 100, 'valueType' : 'RELATIVE'};\n} else {\n  // Rolladen stoppt\n  msg.payload = {'rawValue' : 0xD200};\n}\nmsg.topic = 'Rolladen_mitte';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":440,"wires":[["aaad814e.4b4cf"]]},{"id":"e2c2346b.93527","type":"ccu-value","z":"e37cb145.764068","name":"ZielpositionHM Rolladen mitte","iface":"CUxD","channel":"CUX2801003:1 Rolladen mitte","datapoint":"LEVEL","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"","x":150,"y":200,"wires":[["ff8d35df.fdb82"]]},{"id":"1226e701.7a5b81","type":"ccu-value","z":"e37cb145.764068","name":"StopHM Rolladen mitte","iface":"CUxD","channel":"CUX2801003:1 Rolladen mitte","datapoint":"STOP","mode":"","start":true,"change":false,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"","x":180,"y":280,"wires":[["3bf4c505.713fba"]]},{"id":"5afe1f3e.8ccb6","type":"ccu-value","z":"e37cb145.764068","name":"Istposition Rolladen mitte","iface":"CUxD","channel":"CUX2801003:1 Rolladen mitte","datapoint":"SET_STATE","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"","x":970,"y":200,"wires":[[]]},{"id":"ebaad2cf.4d10c","type":"ccu-value","z":"e37cb145.764068","name":"TasterHM Rolladen hoch","iface":"BidCos-Wired","channel":"NEQ1512520:8 Taster Wohnzimmer Mitte links","datapoint":"PRESS_LONG","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"","x":170,"y":360,"wires":[["2092e13a.da51fe"]]},{"id":"fb19b2b6.43e3a8","type":"ccu-value","z":"e37cb145.764068","name":"TasterHM Rolladen runter","iface":"BidCos-Wired","channel":"NEQ1512520:7 Taster Wohnzimmer Mitte rechts","datapoint":"PRESS_LONG","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"","x":170,"y":440,"wires":[["63616a78.19579c"]]},{"id":"c262d2de.40cae8","type":"velux-connection","host":"192.168.10.xx","password":"test","monitor":"MONITOR"},{"id":"9a9eb07d.ac41","type":"ui_group","name":"Rolladen","tab":"53f2c30f.40767c","order":2,"disp":true,"width":"6","collapse":false},{"id":"38263145.35ea0e","type":"ccu-connection","name":"CCU3","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":true,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5000","queuePause":"250","contextStore":""},{"id":"53f2c30f.40767c","type":"ui_tab","name":"Velux","icon":"dashboard","order":2,"disabled":false,"hidden":false}]
Zuletzt geändert von bergstermann am 09.07.2021, 18:54, insgesamt 1-mal geändert.

firefighter9441
Beiträge: 3
Registriert: 16.06.2021, 09:53
System: CCU
Hat sich bedankt: 3 Mal

Re: Velux KLF200

Beitrag von firefighter9441 » 16.06.2021, 10:15

Hallo Experten,
ich möchte dieses Thema noch einmal aufwärmen. Ich habe meine Velux-Steuerung (CCU3 Raspberrymatic, CuX D, Redmatic, 4 Velux Rollladen) mit zahlreichen Hinweisen in verschiedenen Foren (größtenteils) ans Laufen bekommen. Sowohl rauf, runter und Position anfahren funktioniert super. Lediglich die Stopfunktion über den Rollladenaktor (von CuX D) bekomme ich nicht hin. Ebenfalls möchte ich die Steuerung (incl. Stop) über einen HM IP Funktaster im Raum realisieren. Ich tue mich mit den funktion-Nodes sehr schwer. Im Grunde möchte ich es so lösen wie von "bergstermann" super dargestellt.
(Respekt und danke dafür!) Ohne den Inhalt der Funktion Nodes für die Stoppfunktion und Taster ist das für meine (sehr eingeschränkte) Fahigkeiten nicht umsetzbar.
Kann mir jemand helfen?

P.S. Was kann man mit der "CODE"-Zeile in dem Beitrag anfangen? Habe mit den Inhalt mal angesehen und natürlich nicht viel verstanden.

Danke schonmal und einen sonnigen Tag!

gklank
Beiträge: 75
Registriert: 26.05.2020, 12:58
System: CCU und Access Point
Hat sich bedankt: 14 Mal
Danksagung erhalten: 2 Mal

Re: Velux KLF200

Beitrag von gklank » 22.06.2021, 17:08

Hallo,


meine Velux-Fenster haben einen Regensensor.

Hat jemand eine Idee welcher Parameter das sein könnte, bzw. wie man da dran kommt?

Ich meine, dass ich auch mit der Veluxkonfiguration von Bergstermann bei "send" mit "all values" nichts dazu gesehen habe...


Grüße


Gerhard
MfG,

Gerhard
CCU3 mit HM-IP Komponenten
CUxD mit MapleCUNx4_8F per LAN für FS20 Komponenten
Node-Red Docker auf QNAP
MQTT-broker LxD Container
NEO mediola Cloud mit Google Assistant
Home Assistant

bergstermann
Beiträge: 5
Registriert: 30.01.2021, 09:48
System: CCU
Danksagung erhalten: 6 Mal

Re: Velux KLF200

Beitrag von bergstermann » 04.07.2021, 23:13

firefighter9441 hat geschrieben:
16.06.2021, 10:15
P.S. Was kann man mit der "CODE"-Zeile in dem Beitrag anfangen? Habe mit den Inhalt mal angesehen und natürlich nicht viel verstanden.
Über das Menü oben rechts in RedMatic (die drei Balken) kannst Du den Code in Deine Installation importieren. Dann dürfte er auch einfacher nachvollziehen zu sein.

firefighter9441 hat geschrieben:
16.06.2021, 10:15
Lediglich die Stopfunktion über den Rollladenaktor (von CuX D) bekomme ich nicht hin. Ebenfalls möchte ich die Steuerung (incl. Stop) über einen HM IP Funktaster im Raum realisieren. Ich tue mich mit den funktion-Nodes sehr schwer.
Die Stoppfunktion kannst Du über einen payload vom Typ Objekt ausführen. Dabei wird dem Rollladen als Zielposition die aktuelle Ist-Position übergeben, so dass dieser stoppt:

Code: Alles auswählen

msg.payload = {'rawValue' : 0xD200};

firefighter9441
Beiträge: 3
Registriert: 16.06.2021, 09:53
System: CCU
Hat sich bedankt: 3 Mal

Re: Velux KLF200

Beitrag von firefighter9441 » 07.07.2021, 13:06

Hallo Bergstermann,

erstmal vielen Dank für die ausführliche Antwort. Als Anfänger erschließen sich viele Sachen sehr langsam.

Der Tip mit der Code Zeile war so ein Schlüsselerlebnis. Mit Deinem Flow konnte ich einiges besser Nachvollziehen. Ich habe ihn auch gleich in meinen
Flow eingebaut. Welche Funktion hat der Eintrag Topic? Ich habe den Eindruck, dass man hier beliebige Namen eintragen kann.

Die Funktionen Rauf, Runter und Stop über den HM Rollladenaktor funktionieren. Jedoch kann ich nach dem Stoppen nur in die Gegenrichtung fahren.
(runter - stop - runter) geht z. B. nicht, nur (runter - stop - hoch)

Die Funktion-Node hinter dem Velux-Node (zur Ausgabe der Istposition) gibt immer die folgende Fehlermeldung aus
"TypeError: Cannot read property 'remainingTime' of null"
und der Rollladenstatus zeigt 0 oder 100 an. Wenn ich eine Zielposition anfahre (z.B. 25%) kommt keine Fehlermeldung und der korrekte Status wird angezeigt.

Ebenso kann ich per Taster nicht verfahren, nur stoppen. Die Tasten geben auch beide den selben Wert aus:
{"rawValue":53760}

Puh! Ich weiß, viele (vermutlich unsinnige) Fragen. Aber ohne Hilfe schaffe ich es nicht und ich versuche es vor unserem Urlaub ans Laufen zu kriegen.

Vielen Dank schon mal für die Mühe!

Code: Alles auswählen

[{"id":"3c02d046.cad128","type":"function","z":"211c2b66.876564","name":"","func":"var ZielpositionHM = Number(msg.payload);\nvar Istposition = flow.get('IstpositionRM');\nvar delta = Istposition - ZielpositionHM;\n\nif (delta == 0) {\n  return null;\n} else {\n  // Rolladen fährt auf Zielposition\n  value = 100 - (ZielpositionHM * 100);\n  msg.payload = {'value' : value, 'valueType' : 'RELATIVE'};\n  msg.topic = 'AZ_DG_Garten_R';\n  return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":160,"wires":[["7156e8d.92b1e98","c9f6d29b.a8619"]]},{"id":"7156e8d.92b1e98","type":"Velux Nodes","z":"211c2b66.876564","name":"AZ DG Garten R","datasource":"168416f1.9b72d9","index":"2","nodevalue":"TARGET","topic":"AZ_DG_Garten_R","x":900,"y":160,"wires":[["842b3f4d.8afc58"]]},{"id":"f54e34af.ab174","type":"ccu-value","z":"211c2b66.876564","name":"Rollladenaktor AZ DG Garten rechts","iface":"CUxD","channel":"CUX4000001:1 Rolllade AZ DG Garten rechts:1","datapoint":"LEVEL","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":210,"y":160,"wires":[["3c02d046.cad128"]]},{"id":"edaeb52.e2587c8","type":"ccu-value","z":"211c2b66.876564","name":"AZ DG Garten rechts Stop","iface":"CUxD","channel":"CUX4000001:1 Rolllade AZ DG Garten rechts:1","datapoint":"STOP","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":180,"y":220,"wires":[["80b91ad5.37b588"]]},{"id":"80b91ad5.37b588","type":"function","z":"211c2b66.876564","name":"","func":"msg.payload = {'rawValue' : 0xD200};\nmsg.topic = 'AZ_DG_Garten_R';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":220,"wires":[["7156e8d.92b1e98","c9f6d29b.a8619"]]},{"id":"7ef33d0.5edfa44","type":"comment","z":"211c2b66.876564","name":"Rolllade AZ DG Garten rechts","info":"","x":180,"y":80,"wires":[]},{"id":"842b3f4d.8afc58","type":"function","z":"211c2b66.876564","name":"","func":"var Verfahrzeit = flow.get('VerfahrzeitRM')||0;\nVerfahrzeit = msg.payload.remainingTime;\nflow.set('VerfahrzeitRM',Verfahrzeit);\n\nvar Status = flow.get('StatusRM')||0;\nStatus = msg.payload.state;\nflow.set('StatusRM',Status);\n\nif (Status == 5) {\n  var Istposition = flow.get('IstpositionRM')||0;\n\n  // Skalierung\n  var x = Math.round(msg.payload.currentPosition.value);\n  Istposition = (100 - x) / 100;\n\n  flow.set('IstpositionRM',Istposition);\n  msg.payload = Istposition;\n  return msg;\n} else {\n  return null;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1140,"y":160,"wires":[["2c7b0f21.9b62e"]]},{"id":"2c7b0f21.9b62e","type":"ccu-value","z":"211c2b66.876564","name":"RollladenaktorAZ DG Garten rechts Istwert","iface":"CUxD","channel":"CUX4000001:1 Rolllade AZ DG Garten rechts:1","datapoint":"LEVEL","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":1530,"y":160,"wires":[[]]},{"id":"c9f6d29b.a8619","type":"debug","z":"211c2b66.876564","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1170,"y":300,"wires":[]},{"id":"5890198e.ae5218","type":"ccu-value","z":"211c2b66.876564","name":"Schlüsselbungfernbedienung Taste 3 hoch","iface":"HmIP-RF","channel":"0002DBE99128E8:4 Schlüsselbundfernbedienung KZ Taste 3","datapoint":"PRESS_SHORT","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":230,"y":280,"wires":[["a764a648.261f4"]]},{"id":"29d4c416.fbed94","type":"ccu-value","z":"211c2b66.876564","name":"Schlüsselbungfernbedienung Taste 4 runter","iface":"HmIP-RF","channel":"0002DBE99128E8:3 Schlüsselbundfernbedienung KZ Taste 4","datapoint":"PRESS_SHORT","mode":"","start":true,"change":true,"cache":false,"queue":false,"on":0,"onType":"undefined","ramp":0,"rampType":"undefined","working":false,"ccuConfig":"38263145.35ea0e","topic":"${CCU}/${Interface}/${channel}/${datapoint}","x":230,"y":340,"wires":[["f1ccaff6.670d58"]]},{"id":"a764a648.261f4","type":"function","z":"211c2b66.876564","name":"","func":"var Status = flow.get('StatusRM');\nvar Istposition = flow.get('IstpositionRM');\n\nif (Status == 5 && Istposition != 1) {\n  // Rolladen wird geöffnet\n  msg.payload = {'value' : 0, 'valueType' : 'RELATIVE'};\n} else {\n  // Rolladen stoppt\n  msg.payload = {'rawValue' : 0xD200};\n}\nmsg.topic = 'AZ_DG_Garten_R';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":280,"wires":[["7156e8d.92b1e98","c9f6d29b.a8619"]]},{"id":"f1ccaff6.670d58","type":"function","z":"211c2b66.876564","name":"","func":"var Status = flow.get('StatusRM');\nvar Istposition = flow.get('IstpositionRM');\n\nif (Status == 5 && Istposition != 0) {\n  // Rolladen wird geschlossen\n  msg.payload = {'value' : 100, 'valueType' : 'RELATIVE'};\n} else {\n  // Rolladen stoppt\n  msg.payload = {'rawValue' : 0xD200};\n}\nmsg.topic = 'AZ_DG_Garten_R';\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":340,"wires":[["7156e8d.92b1e98","c9f6d29b.a8619"]]},{"id":"2327a090.794538","type":"ui_slider","z":"211c2b66.876564","name":"ZielpositionDB AZ DG Garten R","label":"AZ DG Garten R","tooltip":"","group":"d5dd052b.d69cd","order":7,"width":0,"height":0,"passthru":false,"outs":"end","topic":"","topicType":"str","min":0,"max":"100","step":1,"x":530,"y":100,"wires":[["7156e8d.92b1e98"]]},{"id":"168416f1.9b72d9","type":"velux-connection","host":"192.168.178.201","password":"AYMQ5XXmD5","monitor":"MONITOR"},{"id":"38263145.35ea0e","type":"ccu-connection","name":"AG54 Homematic","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","tls":false,"inSecure":false,"authentication":false,"username":"","password":"","queueTimeout":"5000","queuePause":"250","contextStore":""},{"id":"d5dd052b.d69cd","type":"ui_group","name":"Rolladen","tab":"36d30062.33d788","order":2,"disp":true,"width":"6","collapse":false},{"id":"36d30062.33d788","type":"ui_tab","name":"Velux","icon":"dashboard","order":2,"disabled":false,"hidden":false}]

gklank
Beiträge: 75
Registriert: 26.05.2020, 12:58
System: CCU und Access Point
Hat sich bedankt: 14 Mal
Danksagung erhalten: 2 Mal

Re: Velux KLF200

Beitrag von gklank » 09.07.2021, 14:12

Hallo,


leider ist zu dem Velux KLF200 irgendwie nicht so viel zu finden, zumindestens geht es mir so.

Daher mal der Versuch auch mal etwas zu liefern, anbei meine beiden Rollladen und Fenster.

Ich bin für weitere Anregungen offen!


Danke und Grüße


Gerhard
Dateianhänge
Velux+2Rollladen+2Dachfenster.txt
(14.46 KiB) 77-mal heruntergeladen
MfG,

Gerhard
CCU3 mit HM-IP Komponenten
CUxD mit MapleCUNx4_8F per LAN für FS20 Komponenten
Node-Red Docker auf QNAP
MQTT-broker LxD Container
NEO mediola Cloud mit Google Assistant
Home Assistant

bergstermann
Beiträge: 5
Registriert: 30.01.2021, 09:48
System: CCU
Danksagung erhalten: 6 Mal

Re: Velux KLF200

Beitrag von bergstermann » 09.07.2021, 18:29

firefighter9441 hat geschrieben:
07.07.2021, 13:06
Welche Funktion hat der Eintrag Topic? Ich habe den Eindruck, dass man hier beliebige Namen eintragen kann.

Die Funktionen Rauf, Runter und Stop über den HM Rollladenaktor funktionieren. Jedoch kann ich nach dem Stoppen nur in die Gegenrichtung fahren.
(runter - stop - runter) geht z. B. nicht, nur (runter - stop - hoch)

Die Funktion-Node hinter dem Velux-Node (zur Ausgabe der Istposition) gibt immer die folgende Fehlermeldung aus
"TypeError: Cannot read property 'remainingTime' of null"
und der Rollladenstatus zeigt 0 oder 100 an. Wenn ich eine Zielposition anfahre (z.B. 25%) kommt keine Fehlermeldung und der korrekte Status wird angezeigt.
Genau, das Topic ist frei wählbar.

Ich habe mir den Code gerade mal kurz angesehen. Im Velux Node muss das Feld "send value" auf "all values" stehen. Bei Dir ist dort "target" ausgewählt. Dann gibt der Node nur die Zielposition und u.a. nicht die Werte state und remainingTime aus, die in den function nodes verarbeitet werden.

Warum sich der Rollladen über den HM Aktor nicht beliebig steuern lässt, kann ich nicht erkennen. Hast Du in den value nodes den richtigen channel und als datapoint LEVEL bzw STOP ausgewählt?

bergstermann
Beiträge: 5
Registriert: 30.01.2021, 09:48
System: CCU
Danksagung erhalten: 6 Mal

Re: Velux KLF200

Beitrag von bergstermann » 09.07.2021, 18:53

gklank hat geschrieben:
22.06.2021, 17:08
meine Velux-Fenster haben einen Regensensor.

Hat jemand eine Idee welcher Parameter das sein könnte, bzw. wie man da dran kommt?
Direkt abfragen lässt sich der Regensensor, wenn ich das richtig sehe, nicht. Die Begrenzung der Fensteröffnung lässt sich aber abfragen. Wenn es regnet, ist diese auf 7% (Lüftungsposition) limitiert, so dass ein indirektes Abfragen des Sensors möglich ist.

Die Abfrage erfolgt über den API Aufruf "GW_GET_LIMITATION_STATUS_REQ". Dies ist über den Velux Api Node mit folgendem payload möglich:

Code: Alles auswählen

{"apiText":"GW_GET_LIMITATION_STATUS_REQ","sessionID":123,"indexArrayCount":1,"indexArray":[0],"parameterID":0,"limitationType":0}
Im Parameter indexArray muss die Nummer der abzufragenden Komponente (node index) angegeben werden.

Der Velux Api Node funktionierte bei mir aber nicht, so dass ich einige Anpassungen am Code des node-red-contrib-velux-Pakets vorgenommen habe:

Zum einen war der API Aufruf GW_GET_LIMITATION_STATUS_REQ nicht richtig implementiert: https://github.com/PLCHome/velux-klf200-api/issues/12

Die Auswahlmenüs im Node funktionierten bei mir nicht: https://github.com/PLCHome/node-red-con ... /issues/11

Außerdem wurden die gewünschten Notifications (ntf) bei mir nicht ausgegeben: https://github.com/PLCHome/node-red-con ... /issues/12

Nach diesen Codeänderungen konnte ich den Regenstatus in eine Systemvariable schreiben:

Code: Alles auswählen

[{"id":"1d8f215f.0cc12f","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"27bd2f91.f461d","type":"inject","z":"1d8f215f.0cc12f","name":"Trigger 10min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"600","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"apiText\":\"GW_GET_LIMITATION_STATUS_REQ\",\"sessionID\":123,\"indexArrayCount\":1,\"indexArray\":[0],\"parameterID\":0,\"limitationType\":0}","payloadType":"json","x":140,"y":160,"wires":[["1a56678.2d45e99"]]},{"id":"1a56678.2d45e99","type":"Velux Api","z":"1d8f215f.0cc12f","name":"Begrenzung Dachfenster","datasource":"c262d2de.40cae8","api":"786","ntf":"788","topic":"Begrenzung","x":370,"y":160,"wires":[["b8cd16c9.d4c368","72775506.485f0c"]]},{"id":"b8cd16c9.d4c368","type":"debug","z":"1d8f215f.0cc12f","name":"","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":610,"y":220,"wires":[]},{"id":"27f07cc5.2a0c74","type":"ccu-sysvar","z":"1d8f215f.0cc12f","name":"Regen","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":850,"y":160,"wires":[[]]},{"id":"d75a3a90.f6e3d8","type":"comment","z":"1d8f215f.0cc12f","name":"Öffnungsbegrenzung Dachfenster","info":"","x":170,"y":80,"wires":[]},{"id":"72775506.485f0c","type":"function","z":"1d8f215f.0cc12f","name":"max 7% öffnen","func":"if (msg.payload.api == 788 && msg.payload.minValue.value == 93) {\n  msg.payload = true;\n} else {\n  msg.payload = false;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":160,"wires":[["27f07cc5.2a0c74"]]},{"id":"c262d2de.40cae8","type":"velux-connection","host":"192.168.10.xx","password":"test","monitor":"MONITOR"},{"id":"38263145.35ea0e","type":"ccu-connection","name":"CCU3","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":true,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5000","queuePause":"250","contextStore":""}]

Antworten

Zurück zu „RedMatic“