Elero Rollläden/Raffstores ansteuern

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 19.08.2015, 10:55

Hallo,

um den Transmitterstick mit CuxD zum laufen zu bekommen, muss die neuste CuxD Version (ab 1.3) installiert werden.
Im CuxD Setup müssen foglende Zeilen hinzugefügt werden:

Code: Alles auswählen

TTYPARAM=ttyUSB0:38400:8E1
TTYHEX=ttyUSB0:1
TTYRAW=ttyUSB0
Danach muss ein CuxD Gerät (40) Universalsteuerung mit Control Jalousie angelegt werden.

Im WebUI muss man einen Kanal der Universalsteuerung pro Rollladen wie folgt konfigurieren:

Code: Alles auswählen

BLIND|DEVICE = ttyUSB0
BLIND|CMD_SHORT = AA054C000140C4
BLIND|CMD_LONG = AA054C000120E4
BLIND|CMD_STOP = AA054C000110F4
Der Sendebefehl setzt sich wie folgt zusammen:

Code: Alles auswählen

0xAA ... Startbyte
0x05 ... Länge der Daten
0x4C ... Send Command
0x00 ... Channel Bits für Channel 9 bis 15
0x01 ... Channel Bits für Channel 1 bis 8 (in dem Fall Channel 1)
0x40 ... Fahrbefehl (0x20... Up, 0x44 ... Zwischenposition, 0x24 ... Lüftungsposition, 0x40 ... Down, 0x10 ... Stopp)
0xC4 ... Checksumme (Summe aller Bytes muss 0x00 ergeben)
Gruß,
Markus

jklasen
Beiträge: 43
Registriert: 24.01.2015, 01:07
Hat sich bedankt: 3 Mal
Danksagung erhalten: 1 Mal

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von jklasen » 19.08.2015, 13:11

Hi Markus,

der Sick ist nehme ich an der welcher auch bei dem elero Server verwendet wird?
Ich versuche mich mal am Wochenende mit deiner Beschreibung und hoffe das ich es verstanden habe :-)
Die Befehle muss ich denke ich irgendwo auslesen?

Danke für die Unterstützung,

Jens

Bild

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 19.08.2015, 16:25

Hallo Jens,

ja, das ist der Stick, den einfach in die CCU2 stecken.
Die Befehle nimmst du einfach von meinem Beispiel, damit funktioniert schon mal Kanal1. Für die weiteren Kanäle musst du die Befehle nur etwas abändern, siehe die Beschreibung des Sendebefehls.

Sollte etwas nicht funktionieren, melde dich einfach.

Lg,
Markus

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 24.09.2015, 15:33

Hallo,

ich kann mittlerweile meine Rollläden und Raffstores zuverlässig ansteuern.
Was jetzt noch fehlt wäre der Status des Rollladen/Raffstore.
Ich besitze noch eine Fernbedienung, über die ich die Rollläden auch ansteuere, trotzdem hätte ich gerne den aktuellen Status in der Homematic.

Was mir nun fehlt ist, wie ich "zyklisch" den Status jedes einzelnen Rollladen/Raffstore abfragen und in eine Systemvariable speichern kann.
Was ich soweit gefunden habe ist der RCV_LONG bzw. RCV_SHORT der Universalsteuerung.
Da könnte man den Empfangsstring eintragen mit ? als Platzhalter für den Kanal bzw. den Status. Der Status ist eine Zahl zwischen 0-17.
Nur um den Status zu bekommen muss ich zuerst einen Befehl schicken und das für jeden Kanal. Bei der Universalsteuerung ist es aber so, dass auf den RCV_ Befehl der SEND_ Befehl geschickt wird, das brauche ich aber eigentlich nicht (eher umgekehrt).

Was ich brauche wäre:
-> Pro Kanal eine Nachricht schicken
-> Auf Empfang warten
-> Kanal und Status Filtern
-> Entsprechende Systemvariable setzen

Und das ganze zyklisch, weil man ja nie weiß, wann die Fernbedienung benutzt wurde.

Ich hoffe hier kann mir jmd. weiterhelfen, wie man das "sinnvoll" realisieren kann.

Lg,
Markus

Benutzeravatar
uwe111
Beiträge: 4806
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von uwe111 » 25.09.2015, 10:41

Hallo Markus,
mape hat geschrieben:Nur um den Status zu bekommen muss ich zuerst einen Befehl schicken und das für jeden Kanal.
Das kannst Du doch zeitgesteuert über den SEND_CMD-Datenpunkt der CUxD-Universalsteuerung machen.
Auf den Empfang wartet der CUxD nicht, bei einem passenden Matching wird der entsprechende Kanal getriggert. Daraufhin könntest Du ein TCL-Script o.ä. aufrufen, das Deinen Empfangsstring parst und die Geräte über SET_STATE auf den entsprechenden Status setzt.
Systemvariablen brauchst Du nicht.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 28.09.2015, 08:46

Die Rollläden/Raffstores haben neben den Endlagen noch die Möglichkeit der Lüftungs/Wendungs/bzw. Zwischenpositionen, die sie auch melden würden.
Außerdem Melden Sie überlast o.ä.
Das kann ich mit der Universalsteuerung ja nicht abbilden, deshalb die Systemvariablen.

Das heißt, ich mache mir für jeden Kanal ein zeitgesteuertes Programm, indem ich den SEND_CMD schicke. (Was natürlich nicht so toll wäre, weils die CCU sicher "langsamer" macht)

Für den Empfang brauche ich dann ein TCL-Script, dass mir den Status setzt?
Mit TCL-Scripts kenne ich mich leider gar nicht aus.

Würde es so funktionieren, dass man einen Kanal in der Universalsteuerung so verwendet dass man einen RCV String einträgt?
Dann könnte man auf das RCVS Event Triggern und ein HM-Script starten. Nur kann man dann auf den kompletten Empfangssttring zugreifen?

Gruß,
Markus

Benutzeravatar
uwe111
Beiträge: 4806
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von uwe111 » 28.09.2015, 10:39

mape hat geschrieben:Dann könnte man auf das RCVS Event Triggern und ein HM-Script starten. Nur kann man dann auf den kompletten Empfangsstring zugreifen?
RCVS enthät den kompletten Empfangsstring.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 28.09.2015, 22:29

Ich habe einen Kanal der Universalsteuerung so konfiguriert, dass er auf einen Empfangsstring reagieren sollte.(siehe Anhang)
Im CuxD Terminal sehe ich den Empfangsstring.

Außerdem hab ich ein Programm angelegt das auf den Empfang triggern sollte.
Leider tut es das nicht.(siehe Anhang)
Ich habs mit "bei Änderung" bzw. "bei Aktualisierung" probiert, aber ohne Erfolg.
Was genau muss da bei "Wertebereich" angegeben werden?
Dateianhänge
PL_Prog.jpg
KanalKonf.jpg

Benutzeravatar
uwe111
Beiträge: 4806
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 239 Mal
Kontaktdaten:

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von uwe111 » 29.09.2015, 12:27

mape hat geschrieben:Außerdem hab ich ein Programm angelegt das auf den Empfang triggern sollte.
Leider tut es das nicht.(siehe Anhang)
Richtig, ich denke nicht das ein Triggern auf Strings überhaupt funktioniert.
Du solltest das Programm lieber auf Aktualisierung von STATE triggern.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

mape
Beiträge: 87
Registriert: 11.06.2015, 09:08

Re: Elero Rollläden/Raffstores ansteuern

Beitrag von mape » 30.09.2015, 10:06

Bei dem Kanal kann ich nur auf Behanghöhe, Anhalten, RCVS oder RCVL triggern.

Ich triggere nun auf RCVS "im Wertebereich größer oder gleich 0 bei Aktualisierung auslösen" und das triggert tatsächlich mein Programm :lol:

Code: Alles auswählen

string s = dom.GetObject("CUxD.CUX4000001:6.RCVS").Value();        
integer kanal = s.Substr(6,4).ToInteger();
string s2; 
var x = dom.GetObject("RL_WZrechts");

s2 = s.Substr(10,2);
x.State(s2.ToInteger());
So sieht dzt. das Programm aus.
Die Systemvariable "RL_WZrechts" ist als Werteliste definiert.

Code: Alles auswählen

No Information;Top position stop;Bottom position stop;Intermediate position stop;Tilt/ventilation position stop;Blocking;Overheated;Timeout;Start to move up;Start to move down;Moving up;Moving down;Stopped in undefined position;Top position stop which is tilt position;Bottom position stop which is intermediate position;Switching devices switched off;Switching devices switched on;
Empfangen wird ein Wert zwischen 0x00 - 0x11 und genau da ist leider auch wieder ein Problem, denn 0x0A bis 0x0F kann nicht mit ToInteger() umgewandelt werden, bzw. gibt das immer 0.
Gibt es da eine einfache Möglichkeit HEX strings in Integer umzuwandeln?
Andernfalls bleibt mir nur die Möglichkeit die Strings zu vergleichen.

Gruß,
Markus

Antworten

Zurück zu „CUxD“