Momentan fahre ich meinen Rollladen mit Hilfe des Twilight Moduls jeden Morgen hoch sobald es hell ist:
#########################################################################
## Zeitschaltung Roll.OG.Eingang hoch wenn hell
#########################################################################
define Rolladen_hoch at *{twilight("twilight","sr_indoor","06:30","09:00")} set Roll.OG.Eingang on
attr Rolladen_hoch group Zeitsteuerung
attr Rolladen_hoch icon fts_shutter_10
attr Rolladen_hoch room Timer
Nun ist es leider schon mehrmals vorgekommen dass der Rollladen im Winter festgefroren ist...
Jetzt dachte ich mir ich lasse den Rollladen nur noch automatisch hochfahren wenn die Außentemperatur z.B. über 5°C liegt...
Im Garten habe ich den Temperatursensor HM-WDS10-TH-O von Homematic Installiert.
Der gibt mir jetzt in den Readings die aktuelle Temperatur: temperature 19.7
Wie muss ich den obigen Code jetzt ändern damit der Öffnen Befehl nur automatisch ausgeführt wird wenn die Temperatur größer als 5°C ist?
Grundsätzlich mache ich so etwas Ähnliches: der Rollladen wird in Abhängigkeit von Helligkeit (ich nehme auch Twilight), Außentemparatur, Anwesenheit und Wochentag positioniert. Gelöst habe ich das mit einer Funktion in 99_myUtils.pm und einem at, welches alle paar Minuten diese Routine aufruft.
Möglicherweise gibt es elegantere Methoden, aber so bin ich an mein Ziel gekommen. Es führen ja schließlich auch viele Wege nach Rom.
Ich würde es über ein DOIF machen, wo Du das Reading des Aussensensors als Bedingung einbindest
define Rolladen_hoch DOIF ({twilight("twilight","sr_indoor","06:30","09:00")} and [Aussensensor:temperature] > 5) (set Roll.OG.Eingang on)
Mit dem DOIF habe ich auch schon ein bisschen rumgespielt aber leider noch nicht die passende Syntax gefunden :'(
Auch bei deinem Code bekomme ich ein Fehlermeldung:
2015.09.28 17:12:54 2: Rolladen_hoch_frost: perl error in condition: {twilight("twilight","sr_indoor","06:30","09:00")} and ReadingValDoIf('Temp.Garten.Terrasse','temperature','') > 5: syntax error at (eval 592) line 1, near "} and"
Versuch(t)s mal mit
[twilight] == 6 AND [06:30-09:00]
Oh so wie es aussieht war wohl ein einfaches "IF" die Lösung 8)
define Rolladen_hoch at *{twilight("twilight","sr_indoor","06:30","09:00")} IF ([Temp.Garten.Terrasse:temperature]>5) (set Roll.OG.Eingang on)
Mit DOIF mache ich es z.B. so: ([SensorAussen:temperature] > 20 and [07:30 - 11:00]) ((set RolloGZR,RolloB.*,RolloAK 35)) DOELSE ((set RolloGZR,RolloB.*,RolloAK auf))
Gruß Otto
Ich habe so was für das Zeitfenster:
Zitat[?hh:mm-hh:mm]
Das hier für die Ausrichtung des Fensters
Zitat[myTL:azimuth] > x and [myTL:azimuth] < y
Das hier für die Temperatur
Zitat([Thermometer:temperature:d]>x
Das hier für die Wetter-Readings
Zitat([myTL:condition] eq "xx"
or
...
or
[myTL:condition] eq "yy")
Hallo Otto123,
ich bin auf eine ältere Diskussion gestossen, die ich gerne verwenden würde. Du warst da beteiligt.
Aufgabe ist es, meinen RolladenSchlafZimmer bei Zimmertemperatur > 20 Grad in dem dem ZeitMessfenster 8:00 Uhr bis 20:00 Uhr auf die Position 50% zu setzen.
Habe dein DOIF verwendet und umgebaut:
Dei DOIF lautete:([SensorAussen:temperature] > 20 and [07:30 - 11:00]) ((set RolloGZR,RolloB.*,RolloAK 35)) DOELSE ((set RolloGZR,RolloB.*,RolloAK auf))
nach Umbau lautet mein DOIF:
define SchlafzimmerBeschatten DOIF ([Schlafzimmertemperatur:measured-temp] > 20 and [8:00 - 20:00] ) ((set RolladenSchlafzimmer pct 50))
Habe es eingebaut, keine Fehlermeldung. Funktion kann ich nicht testen. Erfüllt das DOIF meine Anforderungen (siehe oben)?
Die restlichen Fahrbefehle (morgens rauf, abends runter, nach Sonnenstand habe ich bereits realisiert. Das DOIF ist nur für den Sommer gedacht.
Moin,
das sollte so passen. Die doppelte Klammer im Ausführungsteil brauchst Du nicht, die war nur um den Befehl mit dem Komma zu kapseln.
Allerdings geht so bloß einmalig "in die eine Richtung" also wenn es kälter wird geht das Rollo nicht wieder hoch. Aber sicher soll das ja so sein.
Gruß Otto
Hallo Otto123,
das mit der doppelten Klammer dachte ich mir schon. Ich hab´s trotzdem so gelassen.
Allerdings geht so bloß einmalig "in die eine Richtung" also wenn es kälter wird geht das Rollo nicht wieder hoch. Aber sicher soll das ja so sein.
Das ist klar, abends fährt der Rolladen dann wieder ganz runter und morgens ganz hoch und das Spiel beginnt von "Neuem". So ist es geplant.
Vielen Dank, werde jetzt mal austesten, es word ja sonnig und warm im Corona-Deutschland.
Schau Dir mal das Modul AutoShuttersControl an. Eventuell wäre das was für Dich.
https://forum.fhem.de/index.php/topic,105390.0.html
Hallo CoolTux,
danke für den Hinweis, hab ich mir schon häufiger angeschaut. Aktuell scheue ich noch den Initialaufwand etwas ( :) :))
Habe über Individualautomatisierung schon viel realsiert..