Jarolift TDEF Funk Rollos per Homematic steuern

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

samstag31
Beiträge: 6
Registriert: 01.11.2017, 18:43
Danksagung erhalten: 1 Mal

Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von samstag31 » 01.11.2017, 21:13

Seit mehreren Jahren habe ich 9 Jarolift TDEF Rollomotoren die bislang nur jeder einzeln mit der Jarollift Funk Fernsteuerung bedient werden konnte. Ich habe die Fernsteuerungen mit dem Zeitprogramm, weil ich nicht jeden Tag jedes einzelne Zimmer besuchen möchte. Wer die Zeit-Funk-Sender kennt, weiß, dass die Zeiten sehr schnell von der echten Zeit abweichen. Jetzt wollte ich endlich eine einfache Integration in die Homematic, um alle meine Rollos auf Knopfdruck oder Zeitpunkt rauf bzw. runter fahren zu lassen – und zwar alle gleichzeitig. Das ist z.B. in der Urlaubszeit sehr von Vorteil, da ich nicht bei jeder Fernsteuerung prüfen muss, ob die Zeitschaltfunktion aktiv ist und erspare mir außerdem die Sommer/Winterzeit Umstellung an allen Handsendern! Die Einzelsteuerung der Rollos pro Zimmer bleibt durch die vorhandenen Handsender erhalten. Wenn also im Wohnzimmer das Rollo nochmal rauf muss weil die Katze raus will, dann fahren nicht alle Rollos wieder hoch sondern bediene den zugehörigen Funksender im Wohnzimmer.

Ich habe hier im Forum die ein oder andere Idee bzw. Lösung gesehen, doch leider war das entweder nicht das, was ich benötige weil es z.B. keine Funkrollos waren, nicht ausführlich beschrieben oder es war so komplex (siehe http://www.bastelbudenbuben.de/2017/04/ ... f-motoren/ ), dass man Microelektroniker und Funkelektroniker sein müsste, um das zu verstehen. Das bin ich alles nicht. Deshalb wollte ich es hier mal beschreiben, wie ich es gemacht habe. Vielleicht hilft es dem ein oder anderen, seine Lösung umzusetzen.

Es geht hierbei nicht um eine Einzelsteuerung von Funkrolladen, sondern um eine Lösung zur Gruppensteuerung!

Meine Lösung ist ganz simpel, basiert auf den ein oder anderen, oben erwähnten Forenbeiträgen und besteht aus nur zwei wichtigen Komponenten:
  1. 1. Der Homematic 4-Kanal Funk Schaltaktor (HM-LC-Sw4-Ba-PCB)
  • 2. Ein 16 Kanal Handsender TDRC 16 von Jarolift (wer nur 8 Rollos hat, nimmt den „kleineren“)
Wer die Bausätze von Homematic zusammenlöten kann, der kann auch das hier zusammenbauen, man muss nur 4 Drähte an den Handsender anlöten! Achtung: durch das Öffnen des Handsenders verliert man die Garantie!

Über den 4-Kanal Funk Schaltaktor steuere ich die Betriebszustände „Rauf“, „Runter“, „Stopp“ und „Schatten-Stellung“ aller Rollläden.

Dazu müssen die vorhandenen Codes der Handsender auf den 16 Kanal Handsender übertragen werden. Wie das geht steht in der Jarolift Anleitung des Handsenders bzw. des Motors.
Wenn alle Codes übertragen sind, kann die Gruppensteuerung auf dem 16 Kanal Handsender aktiviert werden. Alle Rollos - (bei mir sind’s 9 mit optionaler Küche wenn wir im Urlaub sind), die gleichzeitig angesteuert werden sollen, werden auf der Fernsteuerung aktiviert.

Der Homematic 4-Kanal Funk Schaltaktor wird angelernt und die Kanäle habe ich wie folgt zugewiesen:
  1. - Switch1: Rollo-Down
  • - Switch2: Rollo-Stop
  • - Switch3: Rollo-Up
  • - Switch4 bleibt bei mir leer.
1_Rollosteuerung.png
1_Rollosteuerung.png (5.65 KiB) 20878 mal betrachtet
Zusätzlich habe ich mir 4 Variablen in der CCU angelegt:
2_RolloVariablen.png
2_RolloVariablen.png (12.73 KiB) 20878 mal betrachtet
Über diese Variablen werden die Schaltzustände „Rollo-Up“ usw. gesteuert und ich habe die Möglichkeit, die Rollos sowohl mittels Skript als auch mittels TinyMatic App Widgets ganz einfach zu steuern. => Zur Info: Ich verwende für die Steuerung der Homematic eine VPN Verbindung von meinem Mobiltelefon zu mir nach Hause.
11_TinyMaticVars.PNG
Hier ein Beispielprogramm, mit dem die Rollos heruntergefahren werden wenn ich in der App auf "Rollo Down" klicke:
4_RolloDownSkriptBeispiel.png
Durch dieses Skript wird der Schaltkontakt „Rollo-Down“ für 1 Sekunde gedrückt und dann wieder „losgelassen“.
Ich lasse mir durch das Skript auch eine Push-Nachricht schicken, wenn die Rollos im Automatic-Modus sind (also über das Zeitprogramm gesteuert werden) und wenn ich darüber aktiv benachrichtigt werden möchte (lPush=true). Damit wird mir der Vorgang incl. Zeitstempel mitgeteilt.

Code: Alles auswählen

string stderr;
string stdout;
var lNotifyActive=dom.GetObject("varRollo-Automatic").State();
var lPush=dom.GetObject("varPushActive").State();
var cUhrzeit=system.Date("%H:%M:%S");
if(lPush && lNotifyActive) {
   string cNachricht="Rollo%20down%20mit%20App%20um%20" +cUhrzeit +"%20Uhr";
   string url="\"https://api.telegram.org/bot123456789:OioijOIJU9p0hjß0zhgPP/sendMessage?chat_id=1234567&text=" + cNachricht + "\"";
   system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
}

(Muss man an seine Telegram Parameter anpassen!)
Weitere Skripts gibt’s auch für „Rollo-Up“, „Rollo-Stop“ und „Rollo-Shade“. Beim Rollo-Shade drücke ich die Taste 3 Sekunden, damit die Rollos in die Schattenstellung fahren (Einstellung über die Rollo-Fernsteuerung mit 6x Drücken der Stop-Taste in der gewünschten Stellung!).

Bis hierher ist das quasi die Trockenübung und kann nun bereits vom Mobiltelefon getestet werden.
In der CCU kann man zum Testen die Variablen setzen oder die Schaltaktoren aktivieren.
5_Schaltaktor.png
Damit die Rollos nun auch in echt fahren, muss der 16-Kanal Handsender aufgeschraubt werden und die Kontakte mit dem 4-Kanal Funk Schaltaktor verbunden werden. Dazu lötet man einfach die Drähte an den Mikrotastern der Fernsteuerung an.
6_Zusammengelötet.png
7_DetailGelaetet.png
Wenn alles geklappt hat, kann man nun alle Rollos gleichzeitig über die Homematic steuern. Da alles mit Batterien funktioniert, kann ich den Bausatz in einem Gehäuse auf dem Schrank "verstecken".
Wer jetzt noch weiteren Komfort einbauen möchte, kann sich mit Hilfe des Astroprogramms die Rollos automatisch zum Sonnenaufgang bzw. -untergang rauf und runter fahren lassen.

Ich habe für mich noch weitere Skripts erstellt, welche mir folgende Situationen abbilden:
  1. - Mo-Fr über Astroprogramm oder Wunschzeitpunkt hochfahren
  • - Mo-So über Astroprogramm oder Wunschzeitpunkt runterfahren
  • - Sa-So nur über Wunschzeitpunkt hochfahren (in zwei Stufen, erst halb (Schatten), später komplett hoch)
Die Wunschzeiten sind Variablen (Zeichenkette), die ich über die TinyMatic-App Widgets bedienen kann und individuelle Uhrzeiten von unterwegs vorgeben kann (VPN!).
8_RolloZeitenVariable.png
8_RolloZeitenVariable.png (4.92 KiB) 20878 mal betrachtet
Dabei gilt bei mir folgendes:
Meine Wunschzeit ist immer zu respektieren, außer der Sonnenaufgang ist später, bzw. der Sonnenuntergang ist früher. Damit möchte ich erreichen, dass die Rollos im Sommer nie z.B. vor 07:00 Uhr hochfahren und am Abend die Rollos definitiv um z.B. 21:00 Uhr herunterfahren, egal welche Zeit das Astro Programm für den Sonnenauf-/untergang vorgibt.
Im Winter soll das Rollo dann nach 07:00 Uhr hochfahren, wenn der Sonnenaufgang z.B. erst um 07:23 Uhr ist, bzw. früher runter, wenn der Sonnenuntergang schon um 17:00 Uhr ist.

Mein Skript wird dabei mit der Zeitsteuerung getriggert:
9_ComforProgramm.PNG
10_MinutenTimer.PNG
10_MinutenTimer.PNG (17.02 KiB) 20878 mal betrachtet
Das ists das Skript zu o.g. Zeitprogramm:

Code: Alles auswählen

!-------- Rollo Up/Down nach Sonnenaufgang/untergang oder Wunschzeit ---------------
!-------- die Rollo hoch Zeit aus der Variable ist der Zeitpunkt, wann der Rollo frühestens hochfahren soll. 
!-------- Wenn die Sonne später aufgeht (nach Astro Programm), dann soll der Rollo auch erst zu dieser Zeit hochfahren.
!-------- dadurch wird vermieden, dass im Hochsommer die Rollos vor z.B. 07:20 Uhr hochfahren und im Winter wenn es noch dunkel ist, bereist um 07:20 hochfahen.
!-------- Rollo herunterfahren ist in identischer Weise gelöst.
!--------

!-------- Start des Programmes in Systemlog protokollieren (aus dem Forum)
((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Programme_loggen")).State("RolloUpDown-Comfort gestartet.");

string stderr;
string stdout;

!-------- Astro Zeiten für Sonnenaufgang/untergang ermitteln-----
string varSunRise   = (system.SunriseTime("%H").ToString()) + ":" + system.SunriseTime("%M").ToString();
string varSunSet    = (system.SunsetTime("%H").ToString())  + ":" + system.SunsetTime("%M").ToString();
!-------- Wochentag (Integer) ermitteln----- (1=Montag, 2=Dienstag, 3=Mittwoch usw.)
!-------- Rollo Up nur von Montag bis Dienstag, Rollo down die ganze Woche!
integer weekDay = system.Date("%w").ToInteger();
string  wday    = system.Date("%A");

!-------- Wunschzeiten Hoch/Runter aus Variable auslesen
var varRolloUp   = dom.GetObject("Rollo.Zeit.Up").Value();
var varRolloDown = dom.GetObject("Rollo.Zeit.Down").Value();

!-------- Flags holen: 
!-------- Rollos Automatik aktiviert? -----
var lRolloAutoEnabled = dom.GetObject("varRollo-Automatic").State();

!-------- PushNachrichten schicken? ----------------------------------
var lPush        = dom.GetObject("varPushActive").State();

var cMessageUp   = "";
var cMessageDown = "";
var timeUp       = "";
var timeDown     = "";
var lPushMessage = false;
var varRolloDir  = "";

!-------- aktuelle Uhrzeit in Variable schreiben --------
var cUhrzeit     = system.Date("%H:%M");

!-------- Wunschzeit oder Astro Zeit? ---------------
!-------- Rollo Up --------
if(varSunRise >= varRolloUp) {
   cMessageUp = "zum%20Astro%20Zeitpunkt%20um%20" + varSunRise;
   timeUp = varSunRise;
} else {
   cMessageUp = "zum%20Wunschzeitpunkt%20" + varRolloUp;
   timeUp = varRolloUp;
}

!-------- Rollo down --------
if(varSunSet <= varRolloDown) {
   cMessageDown = "zum%20Astro%20Zeitpunkt%20um%20" + varSunSet;
   timeDown = varSunSet;
} else {
   cMessageDown = "zum%20Wunschzeitpunkt%20" + varRolloDown;
   timeDown = varRolloDown;
}

!-------- Falls mal Skript Test nötig ist, ein paar Debugs ausgeben ------
WriteLine("aktuelle Zeit: " + cUhrzeit);
WriteLine("Sonnenaufgang: " + varSunRise);
WriteLine("Sonnenuntergang: " + varSunSet);
WriteLine("WeekDay (" +wday + "): " + weekDay);
WriteLine("Rollo.Up.Wunsch: " + varRolloUp);
WriteLine("Rollo.Down.Wunsch: " +varRolloDown);
WriteLine("Message Up: " + cMessageUp);
WriteLine("Message Down: " + cMessageDown);
WriteLine("effektive timeUp: " + timeUp);
WriteLine("effektive timeDown: " + timeDown);
WriteLine("Push aktiv? " + lPush.ToString());
WriteLine("Rollo Automatik aktiv? " + lRolloAutoEnabled.ToString());

!-------- Rollo timeUp erreicht? --------
if((timeUp == cUhrzeit) && (weekDay >=1) && (weekDay <=5) ) {
   string cNachricht="Rollo%20up%20Comfort%20" + cMessageUp;
   lPushMessage = true;
   varRolloDir = "up";
   ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Programme_loggen")).State("RolloUpDown-Comfort: Rollo up um " +cMessageUp);
}
!-------- Rollo timeDown erreicht? --------
if(timeDown == cUhrzeit) {
   string cNachricht="Rollo%20down%20Comfort%20" + cMessageDown;
   lPushMessage = true;
   varRolloDir = "down";
   ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Programme_loggen")).State("RolloUpDown-Comfort: Rollo down um " +cMessageDown);
}
WriteLine("Uhrzeit jetzt erreicht?: " + lPushMessage.ToString());
WriteLine("ausgeführt wird: " + varRolloDir);

!-------- Dann hoch/runter fahren und Push senden wenn NotifyActive ist und Push aktiviert ist. --------
if(lRolloAutoEnabled ) {
   !---- varRolloUp/Down senden!
   if(varRolloDir == "up") {
      dom.GetObject("varRollo-Up").State(1);
   }
   if(varRolloDir == "down") {
      dom.GetObject("varRollo-Down").State(1);
   }
   ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Programme_loggen")).State("RolloUpDown-Comfort Trigger ausgelöst.");
   if( lPush && lPushMessage) {   
      ((dom.GetObject(ID_SYSTEM_VARIABLES)).Get("Programme_loggen")).State("RolloUpDown-Comfort PushNachricht gesendet.");
      WriteLine("Diese Nachricht wird gepushed:" + cNachricht);
      string url="\"https://api.telegram.org/bot123456789:sdgfdasfadfsgafgdfsgdsr56t467zhsdfg/sendMessage?chat_id=23456789&text=" + cNachricht + "\"";
      system.Exec("wget --no-check-certificate -q -O - "#url, &stdout, &stderr);
   }
}

Alle in dem Skript verwendeten Variablen zum Rollobetrieb kann ich über die TinyMatic Widgets steuern. Ich kann z.B. die Pushmeldungen per Knopfdruck deaktivieren weil ich eh zu Hause bin oder wenn ich unterwegs/im Urlaub bin, dann kann ich es per Knopfdruck wieder aktivieren.

Ein Programm/Skript ist nie fertig. Wer Potential zur Optimierung sieht oder Fehler erkennt, kann es gerne mitteilen.
Bis dato läuft es bei mir bereits seit einigen Tagen sehr zuverlässig.

Grüße
samstag31
Meine Zentrale ist ein Raspberry.

TomFD
Beiträge: 3
Registriert: 16.11.2016, 09:55

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von TomFD » 28.02.2018, 10:22

Hi samstag 31,
bin auf Deinen Beitrag gestoßen und finde diesen sehr interessant und klasse umgesetzt. Respekt !
Da meine teuren Selve-Funkrollos einer nach dem anderen nach ca. 6 Jahren den Geist aufgeben, habe ich begonnen die Rollos nach und nach durch Jarolift TDEF Funk Rollos auszutauschen. Leider konnte ich diese bisher nicht ohne größeren Aufwand in Homematic integrieren - bis jetzt :D

Das einzige was mich ein wenig stört ist, dass man bei Deinem Projekt in dieser Form nur alle Rollos zusammen fahren lassen kann.
Wenn ich das richtig sehe (bitte korrigier mich) könntest Du doch zusätzlich den Switch 4 am Aktor mit dem Kontakt für die Umschaltung der Kanäle (Taste K3 laut Bedienungsanleitung) am Handsender TDRC (oben rechts) verbinden und zunächst vor dem Absenden der Fahr- oder Stop-Befehle die Rollo-Kanäle durch mehrfaches Betätigen des Umschaltkontakts auswählen. Natürlich müsste nach dem Fahren des /der Rollos die Kanäle durch entsprechendes mehrfaches Betätigen wieder in die Ausgangsstellung gebracht werden.
z.B. Beispiel:
Ausgangsstellung Kanäle am Handsender "Alle Kanäle"
ohne Umschalten fahren auf Befehl alle Rollos - kein Zurückschalten auf Ausgangsstellung nötig
nun ausgehend von der Stellung "Alle Kanäle":
1 x Umschalten fährt nur Kanal 1 - danach Kanal so oft schalten bis er wieder auf "Kanal Alle" steht.
2 x Umschalten fährt nur Kanal 2 - wie vor
u.s.w.

Das müsse doch mit einem angepassten Script von Dir möglich sein?
Hoffentlich habe ich mich verständlich ausgedrückt.

Grüße
TomFD

TomFD
Beiträge: 3
Registriert: 16.11.2016, 09:55

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von TomFD » 28.02.2018, 16:40

Hallo deltaac,
klar, habe bei meiner Idee erstmal vorausgesetzt, dass das Umschalten funktioniert.
Einen Versuch wäre es vielleicht dennoch wert.

joe.do
Beiträge: 2
Registriert: 28.02.2018, 19:45

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von joe.do » 28.02.2018, 20:00

Hallo samstag31,
das ist ja mal eine super Anleitung, ich hatte schon gedacht ich müßte meine Funkmotoren austauschen um sie über homematic steuern zu können, doch jetzt schöpfe ich gerade Hoffnung.
folgende Fragen hätte ich dennoch, ich habe mir jetzt zwei 1-Kanal Sender gekauft und möchte gerne folgendes Szenerio aufbauen.
Da ich die Stop Funktion nicht benötige, dachte ich mir, an Kanal 1 + 2 die Auf und Ab Funktion vom ersten Handsender zu setzen und an Kanal 3 + 4 die Auf und Ab Funktion vom zweiten Handsender, somit könnte ich die Rollos separat schalten, ist das machbar?
Die Microschalter von dem 1-Kanal Handsender sind teilweise um 90Grad gedreht, ist es egal wo ich das Kabel anlöte.
Muss ich unbedingt ein Script für die Schaltvorgänge verwenden, leider habe ich bislang noch nie mit Scripten an der CCU2 gearbeitet.

Vielen Dank im Voraus.

Grüße
joe.do

samstag31
Beiträge: 6
Registriert: 01.11.2017, 18:43
Danksagung erhalten: 1 Mal

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von samstag31 » 01.03.2018, 09:50

Klar, die gehen auch und du kannst die "Switche" 1-2 für den einen Handsender nehmen und die 3-4 für den anderen.
Das kannst du dann alles mit den normalen Befehlen aus der WebGui zusammenklicken, je nachdem was du brauchst. Skript ist nicht nötig.

Leider kenne ich diese Handsender nicht und kann zu den Kontakten nichts sagen. Aber probiere es einfach mal aus, kann nichts kaputt gehen. Du kannst zu Beginn die Drähte einfach Mal an die Kontakte halten um zu sehen, ob der Rollo fährt. Die Switche kannst du auf dem Modul auch manuell ein/aus schalten um zu testen.
Meine Zentrale ist ein Raspberry.

joe.do
Beiträge: 2
Registriert: 28.02.2018, 19:45

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von joe.do » 01.03.2018, 20:32

Hallo samstag31,

das hört sich doch prima an, dann hoffe ich doch nur, dass meine bestellten Teile bald ankommen, damit ich basteln kann ;-)

Danke Dir

joe.do

Casio86
Beiträge: 4
Registriert: 07.01.2017, 01:18

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von Casio86 » 06.04.2018, 10:49

Huhu,

wow!!! Vielen lieben Dank erst einmal für die mega gute Anleitung! Ich habe vorher noch nie gelötet und keinerlei Ahnung von Homematic. Hatte von vor 5 Jahren noch eine alte CCU1 im Keller, ebenfalls auch die Jarolift Antriebe verbaut und bin zufällig auf diesen Beitrag aufmeksam geworden. Somit flott alles bestellt und begonnen zu basteln.
Bisher hat auch alles bestens funktioniert, nur komme ich bei der Astrofunktion nicht weiter.

Ich habe vereinfacht erstmal eingestellt, dass die Rolläden morgens um 7 Uhr hochgehen sollen und Abends eine halbe Stunde nach Sonnenuntergang herunterfahren. Dies habe ich mit dem Zeitmodul bzw. der Astrosteuerung von Homematic realisiert.

Nun möchte ich es aber so wie hier beschrieben umsetzen. Leider komme ich ab diesem Punkt nicht weiter, da ich nicht weiß wie ich mit den Skripten und Systemvariablen usw. umgehen soll bzw wie sie erstellt werden.

Ich hoffe ihr könnt mir irgendwie weiterhelfen.

Vielen lieben Dank

Lieben Gruß
Andre

tom.haase
Beiträge: 5
Registriert: 21.02.2018, 13:07

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von tom.haase » 06.04.2018, 20:06

Bisher hat auch alles bestens funktioniert, nur komme ich bei der Astrofunktion nicht weiter.

Ich habe vereinfacht erstmal eingestellt, dass die Rolläden morgens um 7 Uhr hochgehen sollen und Abends eine halbe Stunde nach Sonnenuntergang herunterfahren. Dies habe ich mit dem Zeitmodul bzw. der Astrosteuerung von Homematic realisiert.

Nun möchte ich es aber so wie hier beschrieben umsetzen. Leider komme ich ab diesem Punkt nicht weiter, da ich nicht weiß wie ich mit den Skripten und Systemvariablen usw. umgehen soll bzw wie sie erstellt werden.
Habe genau die gleiche Fragen... Wieviel kann uns ein Profi Nachhilfe geben?
lg
Tom

dondaik
Beiträge: 12925
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1599 Mal
Danksagung erhalten: 222 Mal

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von dondaik » 06.04.2018, 20:30

:-)
es gibt drei dinge ..
1) rtfm - download von seiten eq2
2) viewtopic.php?f=31&t=22801
3) viewtopic.php?f=31&t=7597

die ggf als einstieg helfen ....
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

samstag31
Beiträge: 6
Registriert: 01.11.2017, 18:43
Danksagung erhalten: 1 Mal

Re: Jarolift TDEF Funk Rollos per Homematic steuern

Beitrag von samstag31 » 06.04.2018, 20:54

Als Profi würde ich mich nicht bezeichnen, aber helfen kann ich Euch vielleicht schon.

Wie sehen denn Deine aktuellen Programme (oder Skripte) aus? Was genau möchtest Du über die Variablen realisieren?
Wunschzeiten? Rollosteuerung über Mobiltelefon (TinyMatic)? oder was anderes?
Schreibt mal, was genau Du vor hast...
Meine Zentrale ist ein Raspberry.

Antworten

Zurück zu „Projektvorstellungen“