Hallo,
nachdem ich mein Haus mit Rolladensteerungen von Düwi ausgestattet hatte und diese meinen Vorstellungen absolut nicht entsprach, bin ich auf die FHZ1350 mit Studio umgestiegen. Die Programmierung verlief bis jetzt zwar schleppend, aber am Ende top. An folgendem Problem verzweifele ich z.Z.
Die Markiesen öffnen und schließen sonnenstandsäbhängig. Jetzt möchte ich beim Betätigen der Taste der Alarmscharfschaltung (d.h. bei Abwesenheit), dass die Jallousien 1h früher schließen und 1h später öffnen. Dies wollte ich über eine Variable machen, hier meine Idee:
Jallousiesteuerung:
Wenn Uhrzeit = Sonnenuntergang + Delta
Rolladen runterfahren
endewenn
(Variable: Delta - Zeit - 00:00:00)
Taster:
Delta:=01:00:00
Der Delta-Wert wird leider nach Aktivierung des Tasters ignoriert. Kann mir jemand behilflich sein?
Rolladensteuerung mit Variablen
Moderator: Co-Administratoren
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Hallo Mixer
Kannst Du dieses Programm überhaupt starten? Wenn ich in einer Vergleichsbedingung eine Rechenoperation eingebe, kommt beim Programmstart die Fehlermeldung "Syntaxfehler"! Im weiteren fehlt in der WENN-Zeile das DANN.
Folgende Änderungen sind nötig:
Die Variable Delta darf nicht vom Typ Zeit sein. Zeitvariablen enthalten das Datum und die Uhrzeit. Ich verwende den Typ Zeichen; ev. würde auch der Typ Uhr funktionieren.
Es braucht eine Zwischenvariable für die Rechenoperation Sonnenuntergang +/- Delta, da in einer Vergleichsbedingung keine Rechenoperationen ausgeführt werden können.
Im Makro Taster muss der Variablen Delta der Name des Makros Jalousiensteuerung vorangestellt werden; also Jalousiensteuerung.Delta und 01:00:00 muss (weil jetzt ja Zeichenvariable) in Anführungszeichen gesetzt werden.
Ferner würde ich beim Vergleich mit der Uhrzeit >= verwenden (statt nur =), weil höchstwahrscheinlich das Makro nicht ganz genau zu der vorgesehenen Uhrzeit auch abläuft. Das hat zusätzlich den Vorteil, dass die Markise auch geschlossen wird, wenn du zufällig mal eine halbe Stunde vor Sonnenuntergang das Haus verlässt. Damit trotzdem noch mal z.B. mit einer Fernbedienung geöffnet oder geschlossen werden kann, sind zwei weitere Variablen nötig. Sonst würde das Makro die Markise gleich wieder schliessen/öffnen, wenn du sie spätabends mit der FB mal öffnen oder tagsüber schliessen möchtest.
Und so müsste das Ganze funktionieren:
MAKRO JALOUSIENSTEUERUNG:
(Ausführung jede Minute)
Variablen:
Delta; Typ Zeichen; Startwert 00:00:00
Runterzeit; Typ Uhr; Startwert leer lassen
RunterErledigt; Typ Zahl, Startwert 0
Raufzeit; Typ Uhr; Startwert leer lassen
RaufErledigt; Typ Zahl, Startwert 0
Makro:
Runterzeit:=Sonnenuntergang-Delta
Raufzeit:=Sonnenaufgang+Delta
wenn Uhrzeit>=Runterzeit und RunterErledigt=0 dann
Rolladen runterfahren
RunterErledigt:=1
RaufErledigt:=0
endewenn
wenn Uhrzeit>=Raufzeit und Uhrzeit<Runterzeit und RaufErledigt=0 dann
Rolladen hochfahren
RaufErledigt:=1
RunterErledigt:=0
endewenn
MAKRO TASTER:
(Ausführung bei Empfang/Eingabe natürlich aktivieren!)
wenn Taster eingeschaltet dann
Jalousiensteuerung.Delta:="01:00:00"
sonst
Jalousiensteuerung.Delta:="00:00:00"
endewenn
Hoffentlich konnte ich Dir helfen.
Schönes Wochenende!
Bümpi
Kannst Du dieses Programm überhaupt starten? Wenn ich in einer Vergleichsbedingung eine Rechenoperation eingebe, kommt beim Programmstart die Fehlermeldung "Syntaxfehler"! Im weiteren fehlt in der WENN-Zeile das DANN.
Folgende Änderungen sind nötig:
Die Variable Delta darf nicht vom Typ Zeit sein. Zeitvariablen enthalten das Datum und die Uhrzeit. Ich verwende den Typ Zeichen; ev. würde auch der Typ Uhr funktionieren.
Es braucht eine Zwischenvariable für die Rechenoperation Sonnenuntergang +/- Delta, da in einer Vergleichsbedingung keine Rechenoperationen ausgeführt werden können.
Im Makro Taster muss der Variablen Delta der Name des Makros Jalousiensteuerung vorangestellt werden; also Jalousiensteuerung.Delta und 01:00:00 muss (weil jetzt ja Zeichenvariable) in Anführungszeichen gesetzt werden.
Ferner würde ich beim Vergleich mit der Uhrzeit >= verwenden (statt nur =), weil höchstwahrscheinlich das Makro nicht ganz genau zu der vorgesehenen Uhrzeit auch abläuft. Das hat zusätzlich den Vorteil, dass die Markise auch geschlossen wird, wenn du zufällig mal eine halbe Stunde vor Sonnenuntergang das Haus verlässt. Damit trotzdem noch mal z.B. mit einer Fernbedienung geöffnet oder geschlossen werden kann, sind zwei weitere Variablen nötig. Sonst würde das Makro die Markise gleich wieder schliessen/öffnen, wenn du sie spätabends mit der FB mal öffnen oder tagsüber schliessen möchtest.
Und so müsste das Ganze funktionieren:
MAKRO JALOUSIENSTEUERUNG:
(Ausführung jede Minute)
Variablen:
Delta; Typ Zeichen; Startwert 00:00:00
Runterzeit; Typ Uhr; Startwert leer lassen
RunterErledigt; Typ Zahl, Startwert 0
Raufzeit; Typ Uhr; Startwert leer lassen
RaufErledigt; Typ Zahl, Startwert 0
Makro:
Runterzeit:=Sonnenuntergang-Delta
Raufzeit:=Sonnenaufgang+Delta
wenn Uhrzeit>=Runterzeit und RunterErledigt=0 dann
Rolladen runterfahren
RunterErledigt:=1
RaufErledigt:=0
endewenn
wenn Uhrzeit>=Raufzeit und Uhrzeit<Runterzeit und RaufErledigt=0 dann
Rolladen hochfahren
RaufErledigt:=1
RunterErledigt:=0
endewenn
MAKRO TASTER:
(Ausführung bei Empfang/Eingabe natürlich aktivieren!)
wenn Taster eingeschaltet dann
Jalousiensteuerung.Delta:="01:00:00"
sonst
Jalousiensteuerung.Delta:="00:00:00"
endewenn
Hoffentlich konnte ich Dir helfen.
Schönes Wochenende!
Bümpi