Hauptmenü

DOIF und Monate als Bedingung

Begonnen von aherby, 20 November 2015, 23:28:27

Vorheriges Thema - Nächstes Thema

aherby

Guten Abend,

ich fange gerade an mich an die DOIF zu gewöhnen und diese entsprechen in den Config einzubauen.
Nun versuche ich einige at-Befehle zu ersetzen und gerade ist das Schalten der Flurbeleuchtung in den Wintermonaten morgens um 6:15 Uhr an der Reihe.

Wie würde eine Bedingung mit der Abfrage von Monaten aussehen? Ist dies schon möglich?


Ich denke hier an folgendes:

define Auto_Lichtmorgens_ON_Week DOIF ([06:15|8] and ( $month <= 4 || $month >= 9 )) (set AK_Flur_Licht on) DOELSEIF ([08:15|8]) (set AK_Flur_Licht on)
attr Auto_Lichtmorgens_ON_Week do always

Funktioniert der Code oder gibt es ggf noch eine andere Lösung?

Danke
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

kumue

So kurz vorm einnicken würde ich behaupten, daß der Code funktioniert.
Anders habe ich die Monate bei mir in DOIFs auch nicht eingebunden.

Was kosmetische..Zitat aus der DOIF-commandref:
ZitatLogische Verknüpfungen sollten zwecks Übersichtlichkeit mit and bzw. or vorgenommen werden.

Gute Nacht.

aherby

Danke

auch kurz vorm einnicken würde ich sagen wenn du auch
( $month <= 4 || $month >= 9 )
benutzt hast und es funktioniert finde ich es gut das ich langsam in die Programmiersprache schreiben kann.
Hatte gedacht die ,,||" könnten ein Problem geben.

Aber wenn ich nun am Ende noch ein ,,off" statt ,,on" schreibe könnte es wirklich funktionieren.
define Auto_Lichtmorgens_ON_Week DOIF ([06:15|8] and ( $month <= 4 || $month >= 9 )) (set AK_Flur_Licht on) DOELSEIF ([08:15|8]) (set AK_Flur_Licht off)
attr Auto_Lichtmorgens_ON_Week do always


Danke und gute Nacht
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Loredo

Der Monat steht on $mon.


Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Damian

#4
Zitat von: Loredo am 21 November 2015, 01:55:39
Der Monat steht on $mon.


Gruß
Julian

Der Anwender kann folgende Zeitvariablen in der Bedingung von DOIF nutzen:

$sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

aherby

Hallo Damian,

danke für die Rückmeldung. Ich habe mir gleich die Zeitvariablen als Merker aufgeschrieben.

Aus meiner Sicht ist die Frage damit beantwortet.

Danke

Gruß

aherby

FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Damian

Zitat von: aherby am 22 November 2015, 12:34:43
Hallo Damian,

danke für die Rückmeldung. Ich habe mir gleich die Zeitvariablen als Merker aufgeschrieben.

Aus meiner Sicht ist die Frage damit beantwortet.

Danke

Gruß

aherby

Interessant ist vermutlich $mday, $month, $year, $yday, $isdst.

$wday wird normalerweise mit Wochentagangaben [..|123455678] abgedeckt.


Es gibt noch $HMS für HH:MM:SS und $HM für HH:MM, allerdings braucht man diese Angaben normalerweise auch nicht, da ja DOIF mit Zeit und Zeitintervallen umgehen kann.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

aherby

Hallo Damian,

danke

Was versteckt sich genau hinter:
$yday

$isdst

$mday

Danke
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

kumue

einfach mal auf der Konsole eingeben...

fhem> {$yday}
326
fhem> {$isdst}
0
fhem>  {$mday}
23


326 Tag des Jahres, beginnend bei 0
keine Sommerzeit
23. Tag des Monats

aherby

Super,

danke für die Hilfe / Tipps.

Damit hat sich mein Problem erledigt.

Gruß aherby
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

patman1607

Hallo,

wenn ich folgendes eingebe

Zitatdefine Auto_Lichtmorgens_ON_Week DOIF ([21:30|8] and ( $month <= 4 || $month >= 9 )) (set  LEDspot1  on) DOELSEIF ([21:31|8]) (set  LEDspot1  off)
attr Auto_Lichtmorgens_ON_Week do always

kommt Error:
set  LEDspot1  off: Please define  LEDspot1  first


definiert ist meine Lampe die hinter einer FS20 steckdose hängt...so

Zitat### LED SPOTS Küchenzeile
define LEDspot1 FS20 1234 11
attr LEDspot1 IODev nanocul
attr LEDspot1 model fs20st
attr LEDspot1 room Kueche

Fritte 7950
FHEM on RasPi 3

schucki

#11
Zitat von: patman1607 am 25 November 2015, 21:52:41
Hallo,

wenn ich folgendes eingebe

kommt Error:
set  LEDspot1  off: Please define  LEDspot1  first


definiert ist meine Lampe die hinter einer FS20 steckdose hängt...so

Hast du deine FS20 direkt in der fhem.cfg eingegeben, oder über die Kommandozeile in FHEM definiert? Diesen Fehler habe ich in den Anfangszeiten auch gemacht. Lass lieber die Finger von der fhem.cfg da kann man so manchen shitstorm hier ernten. ;-)

Gib einfach define <name> FS20 housecode addr [fg addr] [lm addr] [gm FF] in die Kommandozeile ein. Sollte funzen.

Gruß schucki
FHEM auf Raspberry Pi Modell B mit Raspbian GNU/Linux 7.6 -> stapelbarer SCC1101 868 Busware
- 4x FHT80b-3 -- 6 FHT8v -- 5x FHT80TF-2
- FS20 AS1  --  FHEMduino auf Arduino NANO