Hauptmenü

DOIF Problem mit Zeit

Begonnen von Helmi55, 13 November 2015, 10:22:39

Vorheriges Thema - Nächstes Thema

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

kumue

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)


Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

kumue

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

Helmi55

Danke für die ausführliche Erklärung  :) :) :)
Werde das so umsetzen
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Brockmann

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.

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

kumue

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


Helmi55

Servus leider keine Fehlermeldung im Log.
Werde deine Vorschläge einbauen und melde mich wieder
Danke nicke eve
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Danke kumue
so hat es jetzt funktioniert. :) :) :)
Schönen Abend
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

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
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Helmi55

Ups ich dachte durch [{sunset("REAL",0)}-16:15] = -16.15 ???
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Brockmann

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.