Ultimative Rolladensteuerung

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

Moderator: Co-Administratoren

Benutzeravatar
KJSBO
Beiträge: 145
Registriert: 02.08.2013, 07:31
Wohnort: Ruhrland
Danksagung erhalten: 1 Mal

Re: Ultimative Rolladensteuerung

Beitrag von KJSBO » 13.08.2017, 11:56

Hi, was mir noch fehlt:
eine Rollade soll nur aufgehen,
- wenn das Fenster geschlossen ist
oder
- wenn das Fenster auf ist und es nicht regnet.

Ist ein ganz praktischer Fall: unsere Schlafzimmerfenster sind nachts immer auf oder zumindest gekippt. Wenn es dann morgens regnet, sollten die Rolladen möglichst nicht aufgehen.
Gruß Kurt
CCU3, FW 3.61.7, 147 Geräte, 1 Mähroboter, 3 Daikin-Klimageräte

dodi
Beiträge: 137
Registriert: 26.12.2016, 11:59
Hat sich bedankt: 2 Mal

Re: Ultimative Rolladensteuerung

Beitrag von dodi » 13.08.2017, 14:30

KJSBO hat geschrieben:Hi, was mir noch fehlt:
eine Rollade soll nur aufgehen,
- wenn das Fenster geschlossen ist
oder
- wenn das Fenster auf ist und es nicht regnet.

Ist ein ganz praktischer Fall: unsere Schlafzimmerfenster sind nachts immer auf oder zumindest gekippt. Wenn es dann morgens regnet, sollten die Rolladen möglichst nicht aufgehen.
Das ist doch eine Verknüpfung, die man entsprechend im Programm des Rolladenaktors machen kann...
Gehört m.M.n. nicht in das Skript.

Chris482
Beiträge: 17
Registriert: 03.03.2017, 21:34

Re: Ultimative Rolladensteuerung

Beitrag von Chris482 » 17.09.2017, 20:48

Hallo Leute, die Steuerung funktioniert soweit... Mit der Berechnung und allem. Nur fahren die Rolladen nicht runter, laut Timer. Ich habe es mit event versucht, das geht irgendwie nicht. Mit get habe ich es jetzt versucht, da reagiert auch nichts... Kann mir da jemand helfen.?

Gesendet von meinem SM-G935F mit Tapatalk

Chris482
Beiträge: 17
Registriert: 03.03.2017, 21:34

Re: Ultimative Rolladensteuerung

Beitrag von Chris482 » 17.09.2017, 20:49

Achso, habe es nach Magdas Anleitung realisiert

Gesendet von meinem SM-G935F mit Tapatalk

al-79
Beiträge: 80
Registriert: 15.11.2016, 15:47
Wohnort: nähe Hannover
Hat sich bedankt: 1 Mal

Re: Ultimative Rolladensteuerung

Beitrag von al-79 » 25.01.2018, 16:03

Hallo Magda,

Könntet Ihr mir die Systemvariablen kurz erklären, was diese bedeuten oder für Auswirkungen haben?
Geradei 4 Deamon's sind etwas cryptisch:
S_BeginBuergDaemm
S_EndBuergDaemm
S_BeginNautDaemm
S_EndNautDaemm

Den Rest kann man sich ja erklären....


Danke für's Erklärbär.....
Grüße

al-79

--------------------------------------------
361 Kanäle in 84 Geräten und 32 CUxD-Kanäle in 2 CUxD-Geräten
--------------------------------------------

Benutzeravatar
Fenriswolf
Beiträge: 11
Registriert: 07.11.2018, 12:39
Kontaktdaten:

Re: Ultimative Rolladensteuerung

Beitrag von Fenriswolf » 21.11.2018, 14:29

Hallo,

ich habe den Bericht inzwischen ich weiß nicht wie oft hin und her gelesen, aber leider bekomme ich hier immer noch die Fehlermeldung "-sh: ./GetAstroDates.sh: not found"

bin über ssh direkt auf der CCU.

über Tipps wäre ich dankbar

Marc

Edit:
Habe nun das Script von Magda genommen und angepasst und es funktioniert.
renitent aufsässig belehrungsresistenter Universaldiletant

746 Kanäle und 1990 Datenpunkte in 147 Geräten:
2x HM-RC-P1, 2x HM-RC-12, 1x HM-RC-19, 3x HmIP-STH, 4x HM-Sen-MDIR-O-2, 1x HM-Sen-Wa-Od, 19x VIR-LG-DIM, 1x HM-LC-Sw1-Ba-PCB, 1x HM-WDS10-TH-O, 4x HM-Sec-SCo, 17x VIR-LG-RGBW-DIM, 1x HM-LC-RGBW-WM, 9x HM-LC-Sw1-Pl-DN-R1, 1x HmIP-MOD-HO, 4x HM-PB-6-WM55, 17x HMW-LC-Bl1-DR, 1x HmIP-SMI55, 1x HM-RC-4-3, 2x HM-RC-Key4-3, 1x VIR-HUE-GTW, 1x HM-PBI-4-FM, 2x HM-Sec-WDS-2, 10x HMW-IO-12-Sw7-DR, 3x HMW-Sen-SC-12-DR, 5x VIR-LG-WHITE-DIM, 1x HM-LC-Sw1-FM, 2x HM-Sec-MDIR-3, 2x HM-OU-LED16, 2x HmIP-STHD, 1x VIR-LG-RGB-DIM, 1x HmIP-RCV-50, 1x HM-ES-PMSw1-Pl-DN-R1, 1x HM-CC-RT-DN, 2x HmIP-RC8, 6x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 10x HmIP-BWTH, 2x HM-Sec-Key, 1x HM-WDS100-C6-O-2

Benutzeravatar
Fenriswolf
Beiträge: 11
Registriert: 07.11.2018, 12:39
Kontaktdaten:

Re: Ultimative Rolladensteuerung

Beitrag von Fenriswolf » 25.11.2018, 08:05

Magda hat geschrieben:
09.03.2017, 09:42
Ich hab mir die Version von Luckysnooze auf meine Bedürfnisse angepasst und stelle meine Version hier mal zur Verfügung. Ist noch nicht ganz schön, aber funktioniert und vor allem braucht man kein SSH, es läuft alles als Homematic Script.
Da ich im Script noch prüfe ob Wochenende oder Feiertag ist, ist die Systemvariablen Feiertag_heute notwendig. Das passende Feiertags-Script von Peter Beck findet man auch hier im Forum.
Zudem habe ich die Systemvariablen an meine Bedürfnisse angepasst (umbenannt mit S_, bzw. auch entfernt), wer das nicht mag kann es ja wieder ändern.
Es ist auch ein Backup implementiert, falls der REST Service einen Fehler zurück gibt, dann werden die Spätestens- und Frühestens-Zeiten genutzt.

Da ich das Script für meine Anwesenheitssimulation nutze, habe ich in v3 jetzt ein Zufallselement eingebaut, welches entweder den Offset zufällig setzt und bei den Frühestens- und Spätestens-Zeiten eine Varianz von 30 min hinzufügt.

Für die Daten nutze ich die den REST Service von sunrise-sunset.org. Die API ist hier zu finden: http://sunrise-sunset.org/api.
Für den Zufallswert wird die Webseite https://www.random.org genutzt.

Hier nochmal die Kurzanleitung:
1. Systemvariablen anlegen
2. CUxD Timer und Exec einrichten
3. Script per Programm täglich laufen lassen, möglichst nach 3 Uhr und vor dem Sonnenaufgang

P.S.: Wer einen schöneren Weg kennt um JSON/XML zu parsen, immer raus damit!

Edit 1: Klammern gesetzt, da Wochenendabfrage nicht funktioniert hat.
Edit 2: Zufallswerte hinzugefügt.
Edit 3: Script sollte nach 3 Uhr laufen, damit die Zeitumstellung berücksichtigt wird.
Das Script von Magda läuft wunderbar und macht was es soll. Bis auf "RolladenZu". Da wird immer der Wert "00:59:59" eingetragen, leider momentan kein Plan, warum er das macht.

Wäre für Hilfe dankbar.
renitent aufsässig belehrungsresistenter Universaldiletant

746 Kanäle und 1990 Datenpunkte in 147 Geräten:
2x HM-RC-P1, 2x HM-RC-12, 1x HM-RC-19, 3x HmIP-STH, 4x HM-Sen-MDIR-O-2, 1x HM-Sen-Wa-Od, 19x VIR-LG-DIM, 1x HM-LC-Sw1-Ba-PCB, 1x HM-WDS10-TH-O, 4x HM-Sec-SCo, 17x VIR-LG-RGBW-DIM, 1x HM-LC-RGBW-WM, 9x HM-LC-Sw1-Pl-DN-R1, 1x HmIP-MOD-HO, 4x HM-PB-6-WM55, 17x HMW-LC-Bl1-DR, 1x HmIP-SMI55, 1x HM-RC-4-3, 2x HM-RC-Key4-3, 1x VIR-HUE-GTW, 1x HM-PBI-4-FM, 2x HM-Sec-WDS-2, 10x HMW-IO-12-Sw7-DR, 3x HMW-Sen-SC-12-DR, 5x VIR-LG-WHITE-DIM, 1x HM-LC-Sw1-FM, 2x HM-Sec-MDIR-3, 2x HM-OU-LED16, 2x HmIP-STHD, 1x VIR-LG-RGB-DIM, 1x HmIP-RCV-50, 1x HM-ES-PMSw1-Pl-DN-R1, 1x HM-CC-RT-DN, 2x HmIP-RC8, 6x HM-Sec-SD-2, 1x HM-Sec-SD-2-Team, 10x HmIP-BWTH, 2x HM-Sec-Key, 1x HM-WDS100-C6-O-2

Knorki
Beiträge: 6
Registriert: 18.03.2018, 14:34

Re: Ultimative Rolladensteuerung

Beitrag von Knorki » 27.07.2020, 12:52

Hallo,

hat jemand dieses Script noch am Laufen? Bei mir werden alle Variablen nur noch mit :00 gefüllt

Danke für Rückinfo
Stefan

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Ultimative Rolladensteuerung

Beitrag von MichaelN » 27.07.2020, 14:58

Vielleicht hat sich was am Format der Website geändert und daher fällt das Skript auf die Schnauze.
Aber wofür überhaupt einen externen Dienst dazu nutzen, der ein Ausfallrisiko bedeutet? (EDIT: verstehe - damals konnte die CCU das noch nicht selber rechnen)
Wenn ich das richtig verstehe, macht das Skript ja nichts anderes, als sich über eine API die Uhrzeiten für die verschiedenen Dämmerungen zu holen.

Heißt steht die Sonne auf 0° Höhe ist entweder Sonnenauf - oder Untergang (je nachdem ob es morgens oder abends ist)
Bürgerliche Dämmerung sind -6°; Nautische -12°

D.h. er holt sich für feste Sonnenhöhe die variablen Uhrzeiten, verrechnet die dann ggf. miteinander (was im Umkehrschluß einen bestimmten Sonnenwinkel bedeutet) und stellt dann die Uhrzeiten ein.

Erscheint mir ein bisschen wie von hinten durch die Brust...
Man kann auch direkt auf die Sonnenhöhe reagieren, da die aktuelle FW der CCU diese berechnen kann.
Dazu alle 3 Minuten dieses Skript aufrufen:

Code: Alles auswählen

! Sonnenstand mit Systemfunktionen berechnen V1.1 (MN 27.05.2020)
dom.GetObject(ID_SYSTEM_VARIABLES).Get("sonne_azimut").State(system.SunAzimuth().Round(1));
dom.GetObject(ID_SYSTEM_VARIABLES).Get("sonne_elevation").State(system.SunAltitude().Round(1));
Dies schreibt dann den aktuellen Winkel in die beiden angegebenen Systemvariablen (die natürlich existieren müssen) und dann reagiert man statt auf das CUxD Zeitmodul eben auf sonne_elevation < -3° (z.B.)
Zuletzt geändert von MichaelN am 27.07.2020, 17:01, insgesamt 1-mal geändert.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Ultimative Rolladensteuerung

Beitrag von MichaelN » 27.07.2020, 16:59

Ich hatte gerade Lust ein bisschen rumzuspielen. Dieses Skript, nach Mitternacht aufgerufen, berechnet Dir die Dämmerungszeiten morgens und abends ohne externe Aufrufe, nur mit Bordmitteln der CCU3. Du trägst einen Dir genehmen Winkel ein (hier im Beispiel -6° = bürgerliche Dämmerung)

Code: Alles auswählen

!- Uhrzeit zu einer gegebenen Sonnenhöhe berechnen V1.0 MN
real Sollwert = -6; !- gegebene Sonnenhöhe
integer Genauigkeit = 5; !- Schrittweite in Minuten (nur Ganzzahlen,>0)
string SV_Aufgang = "Aufgangszeit";    !- Namen der Systemvariablen in der das Ergebnis abgelegt wird
string SV_Untergang ="Untergangszeit";

integer AktuelleZeit =  system.Date("%F").ToTime().ToInteger();
integer NeueZeit;
real IstElevation = -100.0;
object SV;


   !- Morgendämmerung berechnen
   NeueZeit = AktuelleZeit + ( 10800 - ( Genauigkeit * 60)); !- um 3 Uhr starten
   while ( IstElevation < Sollwert ) {
         NeueZeit = ( NeueZeit + ( Genauigkeit * 60)) ; !- x Minuten hinzu
         IstElevation =  system.SunAltitude(NeueZeit); !- Elevation zur neuen Zeit berechnen
   }
   WriteLine("Ergebnis Morgendämmerung: " #NeueZeit.ToTime().Format("%T"));
   SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Aufgang);
   if ( SV ) {SV.State(NeueZeit.ToTime().Format("%T"));}

   !- Abenddämmerung berechnen
   IstElevation = 100.0;
   NeueZeit = AktuelleZeit + ( 54000 - ( Genauigkeit * 60)); !- um 15 Uhr starten
   while ( IstElevation > Sollwert ) {
         NeueZeit = ( NeueZeit + ( Genauigkeit * 60)) ; !- x Minuten hinzu
         IstElevation =  system.SunAltitude(NeueZeit); !- Elevation zur neuen Zeit berechnen
   }
   WriteLine("Ergebnis Abenddämmerung: " #NeueZeit.ToTime().Format("%T"));
   SV = dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Untergang);
   if ( SV ) {SV.State(NeueZeit.ToTime().Format("%T"));}
Das Ergebnis steht in "NeueZeit" und kann dann genauso zur Programmierung des CUxD Timer verwendet werden:

Code: Alles auswählen

dom.GetObject("RolladenZP").State(NeueZeit);
dom.GetObject("CUxD.CUX2800001:1.TIMER_SET").State(NeueZeit);
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Antworten

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