Hallo zusammen,
ich bekomme einfach die Befehlszeile nicht zusammengestellt, vielleicht kann mir jemand auf die Sprünge helfen. Ich möchte wenn ich mein Garagentor auffahre meine Beleuchtung in der Einfahrt einschalten lassen. Ich habe am Garagentor einen Reedkontakt im ESP Modul eingebunden wenn der Switch mir das Signal off gibt soll die Lampe in der Einfahrt angehen. Dies habe ich im Moment mit festen Zeiten gesteuert, funktioniert auch. Bedingt durch den Jahreszeitenwechsel muss ich aber alle paar Monate die Zeiten ändern. Wie bekomme ich sunset nun in die def:
(([?21:00-7:00]) and ([ESPEasy_Garagentor:Switch] eq "off")) (set HUEDevice1 on)
Devicelist sieht so aus:
Internals:
DEF 192.168.178.128 80 espBridge Garagentor
ESP_BUILD 140
ESP_SLEEP 0
ESP_UNIT 0
ESP_VERSION 9
HOST 192.168.178.128
IDENT Garagentor
INTERVAL 60
IODev espBridge
LASTInputDev espBridge
MSGCNT 2
NAME ESPEasy_Garagentor
NOTIFYDEV global
NR 333
NTFY_ORDER 50-ESPEasy_Garagentor
PORT 80
STATE absent
SUBTYPE device
TYPE ESPEasy
VERSION 1.38
espBridge_MSGCNT 2
espBridge_TIME 2018-04-20 10:43:48
.attraggr:
.attrminint:
READINGS:
2018-03-31 15:53:07 Sensor off
2018-04-20 10:43:48 Switch on
2018-04-20 11:13:08 presence absent
2018-04-20 11:13:08 state absent
helper:
fpc 1524212673
pm:
Encode 1
JSON 1
received:
Attributes:
IODev espBridge
Interval 60
alias Garagentor auf
group ESPEasy Device
presenceCheck 1
readingSwitchText 1
room ESPEasy
setState 3
einfach die zeit tauschen funktioniert nicht. Bitte um Hilfe........danke Leute ;)
Du musst doch nur die Commandref lesen
[+{sunset_rel(900,"17:00","21:00")}]
([?+{sunset_rel(900,"17:00","21:00")}] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
Zitat von: CoolTux am 20 April 2018, 11:21:38
Du musst doch nur die Commandref lesen
[+{sunset_rel(900,"17:00","21:00")}]
([?+{sunset_rel(900,"17:00","21:00")}] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
Neuerdings ist es besser mit absoluten Zeitangaben zu arbeiten, hier z. B.
[{sunset(900,"17:00","21:00")}]
Die aktuelle DOIF Version verhindert bei absoluten Zeitangaben (ohne Plus davor) mehrfaches Schalten pro Tag. Dieses Problem gab es immer wieder in Verbindung mit sunset, sunrise, twilight und zufälliger Verzögerung.
Wenn es ganz ohne Zeitbegrenzung sein darf, kann man auch isday() nutzen, siehe das Beispiel aus
https://forum.fhem.de/index.php/topic,84883.msg772452.html#msg772452 (https://forum.fhem.de/index.php/topic,84883.msg772452.html#msg772452): define TuerAufRolloHoch notify Terrassentuer:open { fhem("set Rollo_Flur off") if !isday() }
(isday() kann auch zeitliche Begrenzungen, ich weiß schon).
Gruß, Beta-User
Danke für die schnelle Hilfe, das werde ich am Wochenende mal testen, wenn es funzt gibt es natürlich noch eine Rückmeldung und ein [gelöst] im Header ;D
Habe das gestern Abend gegen 20Uhr mal getestet leider ohne Erfolg, iergendwie schaltet die Lampe nicht ein. Genommen habe ich das Beispiel von Damian:
([?+{sunset_rel(900,"17:00","21:00")}] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
Zitat von: Larusso am 20 April 2018, 12:30:14
Danke für die schnelle Hilfe, das werde ich am Wochenende mal testen, wenn es funzt gibt es natürlich noch eine Rückmeldung und ein [gelöst] im Header ;D
Habe das gestern Abend gegen 20Uhr mal getestet leider ohne Erfolg, iergendwie schaltet die Lampe nicht ein. Genommen habe ich das Beispiel von Damian:
([?+{sunset_rel(900,"17:00","21:00")}] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
na ja, so ganz ist das nicht mein Beispiel, deine Definition kann so nicht funktionieren, denn deine sunset-Definition ist nur ein Zeitpunkt und kein Zeitintervall, du wirst es nicht schaffen Garagentor auf off zu schalten, wenn gerade das Event von sunset kommt. ;)
([?{sunset(900,"17:00","21:00")}-07:00] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
Du kannst genauso isday abfragen, der Nachteil ist allerdings, dass man nicht ohne weiteres, wie z. B. bei sunset die Zeitverschiebung nach seinen Wünschen angeben kann.
Ähmmm so ganz verstehe ich das jetzt nicht:
Zitatna ja, so ganz ist das nicht mein Beispiel, deine Definition kann so nicht funktionieren, denn deine sunset-Definition ist nur ein Zeitpunkt und kein Zeitintervall, du wirst es nicht schaffen Garagentor auf off zu schalten, wenn gerade das Event von sunset kommt. ;)
Code: [Auswählen]
([?{sunset(900,"17:00","21:00")}-07:00] and [ESPEasy_Garagentor:Switch] eq "off") (set HUEDevice1 on)
Du kannst genauso isday abfragen, der Nachteil ist allerdings, dass man nicht ohne weiteres, wie z. B. bei sunset die Zeitverschiebung nach seinen Wünschen angeben kann.
meine Ziel ist es nicht in festgelegten Zeitraum zwischen 17 und 21 Uhr das Licht an zu machen wenn das Garagentor auf ist sonder ich möchte den Zeitraum variabel zum Sonnenuntergang haben, Heist wenn es um 17 Uhr noch nicht Sonnenuntergang ist soll das Licht wenn die Garage aufsteht auch nicht an gehen.
Zitat von: Larusso am 24 April 2018, 15:57:03
Ähmmm so ganz verstehe ich das jetzt nicht:
meine Ziel ist es nicht in festgelegten Zeitraum zwischen 17 und 21 Uhr das Licht an zu machen wenn das Garagentor auf ist sonder ich möchte den Zeitraum variabel zum Sonnenuntergang haben, Heist wenn es um 17 Uhr noch nicht Sonnenuntergang ist soll das Licht wenn die Garage aufsteht auch nicht an gehen.
Dann probiere es einfach aus und lies hier nach: https://fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger
Hi,
möchtest Du, dass das Licht angeht, wenn Sonnenuntergang eintritt und das Tor offen steht?
oder möchtest Du, dass das Licht angeht wenn das Tor aufgeht nach Sonnenuntergang?
Was Du gemacht hast bedeutet, wenn Du das Tor aufmachst und es ist zufällig exakt der Zeitpunkt "Deines" Sonnenunterganges, dann geht das Licht an. Ich glaube das schafft man nicht. ;D
Mein Beispiel in der Garage, Licht geht an falls das Tor nach Sonnuntergang aufgeht und es geht aus falls das Tor wieder zugeht:
defmod di_GarageLicht DOIF ([{sunset("REAL")}-02:00] and [RC81_2_TorUnten] eq "open") (set LichtGa.* on) DOELSE (set LichtGa.* off)
Gruß Otto
Otto du bist es....... genauso wollte ich es auch, nur das ich das über Timer angelassen habe aber die Option über Tor zu ist ja noch viel eleganter. Das teste ich jetzt mal, danke für den super Tipp.
So habe das ganze jetzt folgendermaßen definiert:
([{sunset("HORIZON=+3.0")}-06:00] and [ESPEasy_Garagentor:Switch] eq "on") (set HUEDevice4 on) DOELSE (set HUEDevice4 off)
hab HORIZON genommen und mit den Gradzahlen ein bisschen getestet was für mich am angenehmsten war, funktioniert prima, danke Otto ;D
@Damian: danke für den Tipp mit der commandref zu sunset, diese habe ich mir schon durchgelesen, mein Problem bezog sich auf den Zusammenhang der definition da hatte ich doch arge Schwierigkeiten. Gibt halt Menschen die mit Nullen und Einsen nicht immer sofort warm werden. Ich betreibe das ganze als Hobby und freue mich über jeden Kleinen Fortschritt wo andere hier wahrscheinlich nach zehn Minuten mit durch sind. Aber hier im Forum wird einem in der Regel super schnell geholfen.
Ich lese schon viel nach aber finde auch nicht immer alles sofort aus Anhieb und Posts a la "lese dir erst mal dies und jenes durch bevor du solche Fragen stellst" überlese ich mittlerweile schon. Was nicht auf dich bezogen sein soll Damian.
So lange Rede kurzer Sinn............vielen dank an die prompte und kompetente Unterstützung an alle ;) läuft jetzt alles prima und ich konnte das sunset auch direkt in meine Motion Devices im Flur einbinden
Zitat von: Larusso am 24 April 2018, 17:51:57
Otto du bist es....... genauso wollte ich es auch, nur das ich das über Timer angelassen habe aber die Option über Tor zu ist ja noch viel eleganter. Das teste ich jetzt mal, danke für den super Tipp.
So habe das ganze jetzt folgendermaßen definiert:
([{sunset("HORIZON=+3.0")}-06:00] and [ESPEasy_Garagentor:Switch] eq "on") (set HUEDevice4 on) DOELSE (set HUEDevice4 off)
hab HORIZON genommen und mit den Gradzahlen ein bisschen getestet was für mich am angenehmsten war, funktioniert prima, danke Otto ;D
@Damian: danke für den Tipp mit der commandref zu sunset, diese habe ich mir schon durchgelesen, mein Problem bezog sich auf den Zusammenhang der definition da hatte ich doch arge Schwierigkeiten. Gibt halt Menschen die mit Nullen und Einsen nicht immer sofort warm werden. Ich betreibe das ganze als Hobby und freue mich über jeden Kleinen Fortschritt wo andere hier wahrscheinlich nach zehn Minuten mit durch sind. Aber hier im Forum wird einem in der Regel super schnell geholfen.
Ich lese schon viel nach aber finde auch nicht immer alles sofort aus Anhieb und Posts a la "lese dir erst mal dies und jenes durch bevor du solche Fragen stellst" überlese ich mittlerweile schon. Was nicht auf dich bezogen sein soll Damian.
So lange Rede kurzer Sinn............vielen dank an die prompte und kompetente Unterstützung an alle ;) läuft jetzt alles prima und ich konnte das sunset auch direkt in meine Motion Devices im Flur einbinden
wenn bei dir [ESPEasy_Garagentor:Switch] eq "off" ein andauernder Zustand für "Tor offen" sein kann, dann hättest du ja gerade das von dir genannte Problem mit dem Einschalten des Lichtes beim Sonnenuntergang. Daher mein Hinweis auf das Fragezeichen, welches das Triggern des Intervalls verhindert.
Allerdings gibt´s dann auch keinen Trigger um 07:00. Wenn du das Triggern ohne Fragezeichen zulassen willst, dann musst du wiederum nicht auf Zustand, sondern auf Ereignis triggern, denn dieses ist nur kurzzeitig wahr, hier also [ESPEasy_Garagentor:"Switch:.off"].
Es bleibt also noch viel zu lesen :)
ALso bei mir funktioniert es so wie es soll. danke.