Hallo
ich habe mir folgendes DOIF gebastelt
define di_Licht DOIF ([Abwesend_Licht] eq "on") and [09:50] (set Test_1 on) DOELSEIF ([Abwesend_Licht] eq "off") and [09:50] (set Test_2 on)
dazu gehört dieser Dummy
#AbwesendSchalterLicht
define Abwesend_Licht dummy
attr Abwesend_Licht room Test
attr Abwesend_Licht webCmd on:off
Ich möchte wenn der Dummy auf on ist und eine bestimmte Uhrzeit erreicht ist (in echt dann Sonnenuntergang) Test_1 schalten, wenn er auf off ist und die Uhrzeit erreicht ist
Test_2 schalten.
Test_2 werden dann mehrere Lampen. Sinn wenn ich daheim bin möchte ich verschiedene Lichter an haben, wenn ich fort bin nur ein spezielles Licht.
Ich dachte mit DOIF komm ich da weiter
Bekomme aber immer diese Meldung im Log
di_Licht DOIF: expected DOELSEIF or DOELSE: [09:50] (set Test_1 on) DOELSEIF ([Abwesend_Licht] eq "off") [09:50] (set Test_2 on)
DAs DOELSEIF ist ja drinnen, habe ich mit der Zeitangabe ein Problem
Die Commandref Beispiele bin ich durch - wahrscheinlich habe ich meinen passenden Part nicht verstanden
Wir hilft mir bitte bei der Auflösung
Danke
Helmut
versuch mal
define di_Licht DOIF ([09:50] and [Abwesend_Licht] eq "on") (set Test_1 on) DOELSEIF ([09:50] and [Abwesend_Licht] eq "off") (set Test_2 on)
Mille Gracie - Danke
das war es. D.h. die Zeit muss vor dem Dummy stehen.
Kann ich eigentlich den Ausschaltbefehl auch noch in diese DOIF packen oder ist es besser
dafür einen eigenen Ausschaltbefehl für mehrere Lampen gleichzeitig zu definieren?
Gruß
Helmut
du kannst ja gleich angeben, von wann bis wann die Lampen eingeschaltet werden sollen..
define di_Licht DOIF ([09:50-18:00] and [Abwesend_Licht] eq "on") (set Test_1 on) DOELSEIF ([09:50-22:00] and [Abwesend_Licht] eq "off") (set Test_2 on)
DO-Fall1 erfüllt = Licht an bis 18Uhr
DO-Fall2 erfüllt = Licht an bis 22Uhr
Damit das auch am nächsten Tag klappt, das do always nicht vergessen.
attr di_Licht do always
Wird do always verwendet, dann dem DOIF noch zum Schluss ein DOELSE spendieren. Diese kann ruhig leer sein.
define di_Licht DOIF ([09:50-18:00] and [Abwesend_Licht] eq "on") (set Test_1 on) DOELSEIF ([09:50-22:00] and [Abwesend_Licht] eq "off") (set Test_2 on) DOELSE
PS:
Denke, der Dummy muss nicht zwingend hinter der Zeit stehen....
In deinem di_Licht war die Klammersetzung falsch
[09:50] stand ausserhalb der Bedingung
Danke für die ausführliche Erklärung :) :) :)
Werde das so umsetzen
LG
Helmut
Zitat von: Helmi55 am 13 November 2015, 10:53:35
das war es. D.h. die Zeit muss vor dem Dummy stehen.
Nein, die Reihenfolge innerhalb einer Bedingung ist egal.
Du hattest die Klammer nicht richtig gesetzt. Die Zeitbedingung muss mit in die runden Klammern und mit "and" verknüpft werden.
Deshalb funktioniert der Code von kumue.
Danke Brockmann. kumue hat mich ja auch schon darauf hingewiesen (bin für jeden Hinweis dankbar)
Werde dies alles befolgen. Danke für eure Unterstützung
Gruß
Helmut
Guten Abend
ich brauche bitte nochmals eure Hilfe.
Ich habe jetzt folgenden Code in die config eingetragen:
#AbwesendSchalterLicht
define Abwesend_Licht dummy
attr Abwesend_Licht room Favoriten
attr Abwesend_Licht webCmd on:off
#DOIF abwesend Licht
define di_Licht DOIF ([*{sunset("CIVIL",0)}-22:00] and [Abwesend_Licht] eq "on") (set Stehlampe on) DOELSEIF ([*{sunset("CIVIL",0)}] and [Abwesend_Licht] eq "off") (set Stehlampe on, Vorzimmer_Kugel on, Deko_Vorhang on) DOELSE
attr di_Licht do always
mMn liegt der Fehler im Zusammenhang mit dem Sunset Befehl - aber Wo?
Wenn ich den Schalter auf "on" stelle, schaltet die Stehlampe sofort.
Bei off hätte sich Stehlampe, VZ Kugel und Vorhange ca. um 16uhr55 einschalten sollen
Ja bei on soll das Licht bis 22 Uhr brennen, beim off gibt es keine Ausschaltzeit.
Leider ohne Erfolg
Wo liegt der Fehler
Danke
Gruß Helmut
Wie äußert sich das Problem ? Fehlermeldung ?
mein Anpassung:
kein * vor sunset
set vor jedem Gerät, was geschaltet werden soll.
define di_Licht DOIF ([{sunset("CIVIL",0)}-22:00] and [Abwesend_Licht] eq "on") (set Stehlampe on) DOELSEIF ([{sunset("CIVIL",0)}] and [Abwesend_Licht] eq "off") (set Stehlampe on, set Vorzimmer_Kugel on, set Deko_Vorhang on) DOELSE
attr di_Licht do always
Servus leider keine Fehlermeldung im Log.
Werde deine Vorschläge einbauen und melde mich wieder
Danke nicke eve
Helmut
Danke kumue
so hat es jetzt funktioniert. :) :) :)
Schönen Abend
LG
Helmut
Da bin ich nochmals und brauche noch mal eure Hilfe
#DOIF abwesend Licht
define di_Licht DOIF ([{sunset("REAL",0)}-16:15] and [Abwesend_Licht] eq "on") (set Stehlampe on) DOELSEIF ([{sunset("REAL",0)}] and [Abwesend_Licht] eq "off") (set Stehlampe on, set Vorzimmer_Kugel on, set Deko_Vorhang on) DOELSE
attr di_Licht do always
Wenn ich den dummy Abwesenheitscharter auf on stelle. schaltet sich nur die Stehlampe zu Sunset ein, ABER nicht um 16uhr15 aus?
Warum - hab ich eine Klammer falsch gesetzt. Wenn der Dummy auf off steht funktioniert alles gut
Danke für die Hilfe
Gruß Helmut
Zitat von: Helmi55 am 20 November 2015, 16:34:56
Da bin ich nochmals und brauche noch mal eure Hilfe
#DOIF abwesend Licht
define di_Licht DOIF ([{sunset("REAL",0)}-16:15] and [Abwesend_Licht] eq "on") (set Stehlampe on) DOELSEIF ([{sunset("REAL",0)}] and [Abwesend_Licht] eq "off") (set Stehlampe on, set Vorzimmer_Kugel on, set Deko_Vorhang on) DOELSE
attr di_Licht do always
Wenn ich den dummy Abwesenheitscharter auf on stelle. schaltet sich nur die Stehlampe zu Sunset ein, ABER nicht um 16uhr15 aus?
Warum - hab ich eine Klammer falsch gesetzt. Wenn der Dummy auf off steht funktioniert alles gut
Danke für die Hilfe
Gruß Helmut
Wie soll sich denn deine Stehlampe ausschalten, wenn du keinen Ausschaltbefehl definiert hast?
Gruß
Damian
Ups ich dachte durch [{sunset("REAL",0)}-16:15] = -16.15 ???
Zitat von: Helmi55 am 20 November 2015, 16:53:08
Ups ich dachte durch [{sunset("REAL",0)}-16:15] = -16.15 ???
Vereinfacht:
DOIF ([zeit1-zeit2])(set Lampe on) DOELSE(set Lampe off)
Schau mal in die Commandref zu DOIF, da findest Du reichlich Beispiele.
Ich möchte eigentlich die Lampe bei Abwesenheit um 22 Uhr ausschalten. Könnte ich ja über on-for-time lösen.
Aber dann ist die Lampe im Sommer weit über Mitternacht hinaus an??
Ich dachte es funktioniert wie hier beschrieben
Radio soll zwischen 8:00 und 10:00 Uhr an sein:
define di_radio DOIF ([08:00-10:00]) (set radio on)
Bei mir steht halt statt 08:00 sunset. Halt noch in Kombination mit dem "and"
Zitat von: Helmi55 am 20 November 2015, 17:22:58
Ich dachte es funktioniert wie hier beschrieben
Wo hast Du das denn her? In der Commandref steht das Beispiel so:
Zitat von: Commandref
Radio soll zwischen 8:00 und 10:00 Uhr an sein:
define di_radio DOIF ([08:00-10:00]) (set radio on) DOELSE (set radio off)
Der hintere Teil gehört schon dazu, sonst wird das Radion um 8:00 Uhr ein und nie wieder ausgeschaltet.
Zeitintervall bedeutet nur, dass das Modul am Anfang und am Ende seinen Zustand wechselt (vereinfacht gesprochen). Ob und was es bei dieser Gelegenheit schalten soll, muss Du ihm schon sagen.
Hallo Brockmann
ja ist ok aber wie bekomm ich das in mein DOIF?
Ich hab ja schon als DOELSEIF die Befehle wenn der Dummy auf OFF ist.
Kannst du mir bitte zeigen wie ich dieses Kommando zum ausschalten noch da reinpacken kann?
Danke vielmals. Für mich schon zu viele Verschachtelnden für euch wahrscheinlich Kindergeburtstag ;D
Zitat von: Helmi55 am 20 November 2015, 17:37:53
ja ist ok aber wie bekomm ich das in mein DOIF?
Ich hab ja schon als DOELSEIF die Befehle wenn der Dummy auf OFF ist.
Du kannst beliebig viele DOELSEIFs einfügen.
Ich durchschaue Dein Szenario ehrlich gesagt nicht. Deshalb fällt es mir schwer, da eine Lösung zu präsentieren.
Aber Du könntest beispielsweise ein DOELSEIF einfügen:
DOELSEIF ([22:00])(set Lampe off)
Dann wird täglich um 22:00 Uhr was auch immer ausgeschaltet.
Mein Plan ist der, wenn der dummy auf on geschaltet ist, dann soll zu sunset -2200 die Stehlampe leuchten,
wenn dummy auf off, dann soll alles andere eingeschaltet werden - ohne AUS (wenn ich daheim bin, habe ich gerne selbst die Kontrolle übers Ausschalten)
Gruß
Helmut
#AbwesendSchalterLicht
define Abwesend_Licht dummy
attr Abwesend_Licht room Favoriten
attr Abwesend_Licht webCmd on:off
#DOIF abwesend Licht
define di_Licht DOIF ([{sunset("REAL",0)}-22:00] and [Abwesend_Licht] eq "on") (set Stehlampe on)
DOELSEIF ([22:00] and [Abwesend_Licht] eq "on") (set Stehlampe off)
DOELSEIF ([{sunset("REAL",0)}] and [Abwesend_Licht] eq "off") (set Stehlampe on, set Vorzimmer_Kugel on, set Deko_Vorhang on)
DOELSE
attr di_Licht do always
Hoffe ich liege mit meiner Überlegung richtig...
22Uhr und abwesend -> Stehlampe aus
Bei anwesend nur einschalten zum Sonnenuntergang
Danke ja so soll es sein, wusste nicht dass man mehrere DOIFs auch verwenden kann. Werde es testen.
Mein nächster Gedanke wäre dann ein eigenes DOIF gewesen - wenn dummy abwesend schalte Stehlampe um 22:00 aus
Aber so ist das schön in einem verpackt
Nice eve und nochmals DANKE
ja so funktioniert es - herzlichen Dank
LG
Helmut
Hallo guten Abend
ich hätte da noch eine Frage. Da das nun sehr gut funktioniert, wird natürlich die Anforderung immer größer (z.B. kommt nun je nach Bedarf noch die Weihnachtsbeleuchtung
oder ein Brunnen im Wohnzimmer dazu...)
Wie habt ihr das gelöst bzw. wie könnte man das lösen?
Mehrere unterschiedliche DOIFs erstellen und die nicht benötigten mit # auskommentieren oder
ist es auch möglich einen Dummy Autor zu definieren und in dem die Entsprechenden Autoren einzupflegen???? (Nur wie bekomme ich mehrere Autoren in einen Dummy?)
Danke
Gruß
Helmut