Rolladensteuerung mit abweichenden Zeiten

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

War die Dokumentation hilfreich/verständlich?

Ja
30
88%
Nein
4
12%
 
Abstimmungen insgesamt: 34

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von AndiN » 03.02.2016, 15:20

Hallo,

letztendlich hat er das was Nachts läuft (Sonnenuntergang abweichend berechnen) in das Rolladen-Runterprogramm gepackt.
D.h. sobald die Rolladen runter fahren berechnet er den Sonnenuntergang +30 (welche Abweichung man wünscht) neu und setzt den Timer.

Hier habe ich nur zwei "Einwände"

1.) Bsp. Die Rollos fahren um 18:30 Uhr runter und im Programm wird der Sonnenuntergang berechnet (dann nimmt er den Sonnenuntergang von heute... ist nur ein Schönheitsfehler, weil morgen die Sonne vielleicht eine Minute früher oder spöter hoch geht)

2.) Wenn die Sonne aber morgen 1 Minute später runter geht, wird der Sonnenuntergang 18:31 Uhr berechnet und die Rollos erneut angesteuert und wieder berechnet. D.h. das Programm läuft an dem Tag 2x

Daher halte ich die Lösung, zwar unter der Rubrik: "Programm gespart" gut, allerdings für nicht so sauber gelöst. Man muss es nur wissen und entsprechend die Programme anpassen.

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

Motorpsycho
Beiträge: 72
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von Motorpsycho » 03.02.2016, 17:37

Meine Skripte sehen so aus, dass ich für jede Jalousie zwei Programme habe, eins für rauf, eins für runter. Am Beispiel Schlafzimmer:

Rollladen runter:
! Wenn globale und Einzelautomatik aktiv, dann Rollo runter fahren
if ((dom.GetObject("12202").Value()) && (dom.GetObject("12203").Value())) {
dom.GetObject("12005").State(0);
}

! Neue Abfahrtzeit für morgen ermitteln
dom.GetObject("12389").State((system.SunsetTime("%F %X").ToTime()+3000).Format("%H:%M:%S"));
dom.GetObject("CUxD.CUX2800001:2.TIMER_SET").State((system.SunsetTime("%F %X").ToTime()+3000).Format("%H:%M:%S"));
Dabei ist 12005 der "Level" Datenpunkt der Rollladenaktors, 12202 und 12203 sind Systemvariablen (Wahr = "automatisch" / Falsch = "manuell") die die Automatik steuern, wobei 12002 global für alle Rollladen gilt und 12203 nur für das Schlafzimmer. Nur wenn beide Automatiken eingeschaltet sind, fährt das Rolle auch tatsächlich runter.

Direkt im Anschluss schreibe ich die neue Zeit in den CUxD.Timer, bei mir Sonnenuntergang + 3000 und parallel dazu (ist optional) in eine Systemvariable (12389), die nur zur bequemeren Anzeige des Werts des CUxD Timers dient (z. B. in einer App). Dabei referenziere ich zwar den Sonnenuntergang von heute um den Wert von morgen zu setzen, da es mir da aber nicht auf die Minute ankommt und ich eh einen Korrekturfaktor (3000) einsetze, macht mir das nichts.

Anmerkung: Wenn der Sonnenuntergang wie derzeit jeden Tag nach hinten wandert, wird das Skript ggf. kurz nach dem Laufen nochmal aufgerufen. Also z. B. heute fährt das Rollo um 17:00 runter, Timer wird für morgen auf neue Zeit 17:03 gesetzt, führt der Timer das Skript auch heute um 17:03 nochmal aus. Da das Rolle aber bereits unten ist und die errechnete Zeit dieselbe ist, macht mir das nichts. Ließe sich vermutlich auch noch verhindern.

Ich habe dann ab 17:03 24h Zeit, einen einmalig geänderten Wert für die Abfahrtszeit zu setzen, z. B. über die XMLAPI (12028 ist der Datenpunkt des CUxD Timers). Wenn ich also das hier absetze, wird das Rollo morgen einmalig erst um 23:22 runtergefahren.

http://homematic-ccu2/config/xmlapi/sta ... e=23:22:00

Mit dem Runterfahren wird dann die Zeit für Übermorgen wieder auf den errechneten Wert gestellt. Besonders praktisch für das Rauffahren morgens. Wenn ich spontan möchte, dass das Rollo morgen später hochfährt, setze ich einfach eine neue Zeit und Rollo fährt morgen erst später hoch, da der Wert nachts nicht überschrieben wird.

Rollladen rauf sieht bei mir etwas komplizierter aus, weil ich da noch eine früheste Hochfahrzeit (mit unterschiedlichen Werten für das Wochenende) vorgesehen habe. Vor 7:00 soll bei mir das Rollo also Werktags unten bleiben. Der Fantasie sind da je nach Bedürfnis keine Grenzen gesetzt.
! Wenn globale und Einzelautomatik aktiv, dann Rollo rauf fahren
if ((dom.GetObject("12202").Value()) && (dom.GetObject("12203").Value())) {
dom.GetObject("12005").State(1);
}

! Neue Aufahrtzeit für morgen ermitteln

!Früheste Auffahrtzeit setzen (abhängig vom Wochentag)

if ((system.Date("%w").ToInteger() == 5) || (system.Date("%w").ToInteger() == 6)) {
string fruehZeit = "09:00:00"; }
else {
string fruehZeit = "07:00:00";
}

if (((system.SunriseTime("%F %X").ToTime()-1800).ToInteger()) > ((system.Date("%F")+" "+fruehZeit).ToTime().ToInteger())) {
dom.GetObject("12388").State((system.SunriseTime("%F %X").ToTime()-1800).Format("%H:%M:%S"));
dom.GetObject("CUxD.CUX2800001:1.TIMER_SET").State((system.SunriseTime("%F %X").ToTime()-1800).Format("%H:%M:%S")); }
else {
dom.GetObject("12388").State(fruehZeit);
dom.GetObject("CUxD.CUX2800001:1.TIMER_SET").State(fruehZeit); }
}
Anbei im Bild noch die Parametrisierung der Skripte. Wichtig ist, dass das Skript auch läuft, wenn die Automatik ausgeschaltet ist, es muss ja auch die Zeiten berechnen.
Dateianhänge
Rollladen rauf.png

Motorpsycho
Beiträge: 72
Registriert: 17.11.2015, 20:05
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von Motorpsycho » 03.02.2016, 17:43

AndiN hat geschrieben:1.) Bsp. Die Rollos fahren um 18:30 Uhr runter und im Programm wird der Sonnenuntergang berechnet (dann nimmt er den Sonnenuntergang von heute... ist nur ein Schönheitsfehler, weil morgen die Sonne vielleicht eine Minute früher oder spöter hoch geht)
Korrekt. Da kommt es mir nicht auf die Minute an.
AndiN hat geschrieben:2.) Wenn die Sonne aber morgen 1 Minute später runter geht, wird der Sonnenuntergang 18:31 Uhr berechnet und die Rollos erneut angesteuert und wieder berechnet. D.h. das Programm läuft an dem Tag 2x
Auch korrekt. Mir ging es aber vorrangig darum, abends einfach mal spontan vorgeben zu können, morgen bitte nicht zur Standardzeit, sondern um ... Uhr. Programm gespart ist da eher sekundär gewesen.

Das Problem mit dem zweimal laufen ließe sich umgehen, indem man dem Timer noch den Wochentag von morgen mitgibt: der Timer kennt das Format "d:hh:mm:ss", wobei d der Wochentag ist. Dann liefe der Timer wirklich erst am nächsten Tag.

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von AndiN » 04.02.2016, 09:02

@Motorpsycho: Da ich ein kleiner Skript-Junkie bin.... LIKE Button :-) Finde das gut umgesetzt.
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

DJ-Mix
Beiträge: 37
Registriert: 06.02.2007, 11:28
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von DJ-Mix » 15.02.2016, 10:53

Hallo,

bei mir werden die Timer nicht befüllt?
Habe alles nach Anleitung so eingetragen (CuxD)

Wo kann hier mein Problem liegen?

Danke
DJ-Mix
Dateianhänge
timer.JPG
Gruß
DJ-Mix

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von AndiN » 15.02.2016, 11:53

Okay, dann müssen wir mal von vorne nach hinten gehen. Die Punkte 3,4 hast Du ja gemacht (sonst wäre der Timer nicht zu sehen ;-) )
5.) Es wird ein Programm angelegt, was täglich läuft und die Sonnenaufgangszeit -x Sekunden und Aufgang +x Minuten in die entsprechenden Timer schreibt. Ich habe das via Skript gelöst.
Wann lief dieses Programm das letzte Mal? Eigentlich müsste es bei der Anlage schon gelaufen sein. Aber hast Du evtl. dannach noch was geändert (weil Du einen Fehler gesehen hast) und lief es dannach nochmal? (unter PROGRAMME ANZEIGEN siehst Du, wann das Programm das letzte Mal lief. Evtl. startest Du es hier einmal per Hand.
5.2) unten wählt ihr Skript mit 1 Sekunde Verzögerung aus und hinterlegt das Skript hier:


! Sonnenaufgang ermitteln
! ==================

dom.GetObject("CUxD.CUX2800001:X.TIMER_SET").State((system.SunriseTime("%F %X").ToTime()-1800).Format("%H:%M:%S"));

! Sonnenuntergang ermitteln
! ====================

dom.GetObject("CUxD.CUX2800001:Y.TIMER_SET").State((system.SunsetTime("%F %X").ToTime()+1800).Format("%H:%M:%S"));
Wichtig: Bei X und Y die entsprechenden Kanäle eintragen. Bei Dir 15 und 16

Wenn Du das Skript per "Fehlerprüfung" laufen lässt kommt kein Fehler oder?

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

DJ-Mix
Beiträge: 37
Registriert: 06.02.2007, 11:28
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von DJ-Mix » 15.02.2016, 15:32

Hallo AndiN ,

habe mal ein paar Screenshots von meiner Config angehangen.
Wenn sonst noch Infos benötigt werden, einfach sagen - benutze als CCU den RaspberryMatic.
Danke Gruß
DJ-Mix
Dateianhänge
timer.JPG
rollo_hoch.JPG
programm.JPG
geraet.JPG
geraet.JPG (15.62 KiB) 2007 mal betrachtet
auto_taeglich.JPG
cuxd_2.JPG
cuxd_2.JPG (18.07 KiB) 2007 mal betrachtet
cuxd.JPG
cuxd.JPG (21.69 KiB) 2007 mal betrachtet
Gruß
DJ-Mix

DJ-Mix
Beiträge: 37
Registriert: 06.02.2007, 11:28
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von DJ-Mix » 15.02.2016, 17:13

Ok, habe den Fehler gefunden . . . . . .
der CuxD war´s - hatte im Script die CUX2800001 und als Gerät CUX2800003!
Abgeändert und schon sind die Zeiten eingetragen.
Nun bleibt zu hoffen , dass es funktioniert.

Danke nochmals.
Gruß
DJ-Mix
Gruß
DJ-Mix

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von AndiN » 15.02.2016, 20:27

Bin auf Dein Feedback gespannt. Drücke die Daumen (habe aber ein gutes Gefühl) ;-)

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

nibor793
Beiträge: 79
Registriert: 16.01.2016, 10:25
System: CCU
Wohnort: Erftstadt
Hat sich bedankt: 5 Mal

Re: Rolladensteuerung mit abweichenden Zeiten

Beitrag von nibor793 » 15.02.2016, 22:37

Hallo,
ich versuche gerade mit der Anleitung von AndiN ebenfalls meine Rollosteuerung mittels CuXD umzuschreiben.
Leider habe ich da bei "leichte" Schwierigkeiten. Bis Punkt 5 war mir alles relativ klat. Bei Punkt 3 bin ich mir mit dem Wort Gerätsteuerung nicht klar.
unteres Bild
Ich habe meine drei erstellent Timer
im Geräte-Posteingang gefunden und dort umbenannt und getestet.
Leider schlug das OK-Feld von grün in gelb um. Dann kann ich wahrscheinlich auch nicht auf Fertig drücken (habe ich noch nicht versucht)
Trotzdem habe ich einfach weitergemacht und mich an das Erstellen des Programmes (Punkt 5) gegeben.
Leider habe ich bei den Geräten nicht die Timer gefunden --> oberes Bild
Was habe ich falsch gemacht?
An die Abfrage bzw. Erstellung der Systemvariablen CCU-Status traue ich mich erst, wenn die Timer stehen.

gruss
wolfgang
Dateianhänge
Bild 2.png
Bild 1.png

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“