Weekdaytimer und Feiertage

Begonnen von kaiviertel, 14 Dezember 2013, 02:05:03

Vorheriges Thema - Nächstes Thema

Dietmar63

setze man den verbose von
ELRO_01010_AB Mo-So|06:00|on Mo-So|08:30:00|off Mo-So|15:30|on Mo-So|22:00:00|off  (!$we) && (Value("Feiertag") eq "0ff")
auf 5
dann siehst die Details des WD.

hier (!$we) && (Value("Feiertag") eq "0ff")  würde ich nochmals klammern:
ELRO_01010_AB Mo-So|06:00|on Mo-So|08:30:00|off Mo-So|15:30|on Mo-So|22:00:00|off ( (!$we) && (Value("Feiertag") eq "0ff"))

"0ff" würde ich dann eventuell noch klein schreiben, je nach dem was du in Feiertag hineinschreibst.

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

TeeVau

Kann es sein dass du 0ff anstatt Off in der Definition abfragst?!
Also mit Null anstatt o?
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

Puschel74

Hallo,

ZitatJedoch setzt es den Dummy Feiertag immer auf "on" egal ob Holiday "none" ist oder nicht.
Was steht denn sonst in der Sachsen.holiday drinnen?

Ein Sonntag ist kein Feiertag und deine holiday müsste hier "none" zurück liefern.
Es sei den du hast den Sonntag in die sachsen.holiday richtig mit aufgenommen.

Und wie Dietmar schon gesagt hat:
((!$we) && (Value("Feiertag") eq "0ff"))
nochmal Klammern
aber dafür sollte sich eine Fehlermeldung im LogFile finden lassen.

Und wie TeeVau gesagt hat:
ZitatKann es sein dass du 0ff anstatt Off in der Definition abfragst?!
schreibst du in den Dummy nicht On oder Off sondern on oder off - also klein geschrieben.
FHEM ist case sensitiv.

Grüsse
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

TeeVau

Und wichtig, off mit "o" und nicht mit "Null" schreiben :-)
Falsch:
Value("Feiertag") eq "0ff

Richtig:
Value("Feiertag") eq "off"
FHEM 5.8 dev (virtualisiert) / FBF 7390 (CUL 868MHz V 1.51 / panStick (AVR1))
FS20: fs20di,fs20pira,fs20sm8,fs20st2,fs20tfk,fs20ue1,fs20ws1
panStamp (AVR1): RGB Multi von ext23, 1W-DSxxxx, I/O Sketch, Spritzpumpe
Multimedia: Panasonic TV (VIERA), Kodi, Yamaha RX-V781, LMS
Sonstiges: XiaomiFlowerSen

kaiviertel

Hi zusammen

noch einmal Danke an alle die sich mit meinem Problem beschäftigt haben! Jetzt läuft es so wie es soll. Der Fehler lag in der Feiertag-pruef die jetzt so aussieht
*00:01:00 {if ((Value("sachsen") eq "none")) {fhem("set Feiertag off")} else {fhem("set Feiertag on")}}

Ich sag mal aller Anfang ist schwer.  ;)

Mfg Kai

Puschel74

Hallo,

wobei das
Zitat{if ((Value("sachsen") eq "none"))
mit dem
ZitatOder fhem("get holidayInstance today") auf "none" pruefen.
absolut nichts zu tun hat.

Mit (Value("Sachsen") eq "none") prüfst du nicht deine sachsen.holiday sondern ein Device welches sachsen heisst und als STATE "none" haben kann.

Mich würde jetzt nur noch interessieren ob bei dir Feiertag jemals off wird - ja, wenn das Device sachsen "none" im STATE hat aber sicher nicht wenn in Sachsen ein Feiertag ist.

Grüsse
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

rudolfkoenig

Wenn er sein holidayInstance sachsen genannt hat, dann sollte Value("sachsen") jeweils 2 Sekunden nach Mitternacht den richtigen Wert aus der Datei enthalten.

Puschel74

Hallo,

ZitatholidayInstance sachsen genannt hat, dann sollte Value("sachsen") jeweils 2 Sekunden nach Mitternacht den richtigen Wert aus der Datei enthalten.

Ups. Ok.

Dann kann ich mir das ganze Konstrukt mit fhem("get ........") ja sparen wenn ich einfach nur auf "holiday" bzw. "feiertag" prüfen kann.

Gut zu wissen - dann kann ich das ganze auch ein bischen "schlanker" gestalten.

Grüsse
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Bartimaus

#23
Guten Morgen,

darf ich mich hier bitte mal einklinken ?

Ich habe gem. der http://www.fhemwiki.de/wiki/Wochenende,_Feiertage_und_Schulferien Feiertage etc eingebunden.
Also: attr global holiday2we NRW_Feiertag
define NRW_Feiertag holiday


Dann: define NRW_Ferien Calendar ical url http://www.schulferien.org/iCal/Ferien/icals/Ferien_Nordrhein_Westfalen_2014.ics 43200


Dann noch den Dummy: define NRW_Ferientag dummy
define NRW_Ferien.notify notify NRW_Ferien { \
fhem "set NRW_Ferientag " . (ReadingsVal("NRW_Ferien", "modeStart", "") =~ "schulferien" ? 1: 0) }



Unter "own modules and helper files" ist auch die Datei "NRW_Feiertag.holiday" zu sehen. Diese ist jedoch ohne Inhalt.
Ich habe das ganze gestern eingerichtet.
Ich wollte damit eine Aussenlampe steuern. Diese hat sich jedoch heute nicht eingeschaltet.
Zitatdefine AussenLampeAN at *07:00 { if ( !($we) && !(Value("NRW_Ferientag")) ) { fhem("set AussenLampe on-till 09:00");; } }

Selbst eine reine if-Abfrage auf (!($we)) funktioniert bei mir nicht. Mit "if($wday == 4 " funktioniert es allerdings.

EDIT: Klemme ich die Feiertagsfunktion ab, funktioniert "if (!($we)) sehr wohl.
Muss ich noch irgendwelche Berechtigungen setzen für die holiday-Datei ? Ich vermute deshalb ist sie leer...

LG
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

rudolfkoenig

Zitatdarf ich mich hier bitte mal einklinken ?
Ungern, das Problem aht mit dem Betreff nichts zu tun.

Z.Bsp. ist mir unklar, was  NRW_Ferien / NRW_Ferientag / NRW_Ferien.notify  mit dem holiday Modul oder mit Weekdaytimer zu tun hat.

ZitatKlemme ich die Feiertagsfunktion ab, funktioniert "if (!($we)) sehr wohl.
Vermutlich hat Value("NRW_Ferientag") einen Wert, was nicht "" oder 0 ist.
Kann man einfach mit {  Value("NRW_Ferientag") } pruefen.

Bartimaus

Zitat von: rudolfkoenig am 20 Februar 2014, 10:54:52Kann man einfach mit {  Value("NRW_Ferientag") } pruefen.

Ergebnis: 3 x Fragezeichen
LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Puschel74

Hallo,

ZitatMuss ich noch irgendwelche Berechtigungen setzen für die holiday-Datei ? Ich vermute deshalb ist sie leer...

Äh die holiday-Datei musst du schon selbst füllen  ;)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Bartimaus

LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

tupol

Hallo Dietmar63,

ich bin am überlegen, ob ich meine Wochentagsschaltungen nicht anstatt mit at mit Deinem Modul programmieren, da die Scripte dadurch etwas übersichtlicher werden.

In diesem Zusammenhang hätte ich eine Anregung. Wäre es möglich in das WeekdayTimer-Modul noch folgende Pseudo-Wochentage einzubauen?
Wday oder 0 für weekdays (wochentags exclusive Feiertage bei gesetzten holiday2we)
Wend oder 8 für weekend (Wochenende inklusive Feiertage bei gesetzten holiday2we)

Gruß

tupol

Damian

Zitat von: tupol am 16 November 2014, 13:30:26
Hallo Dietmar63,

ich bin am überlegen, ob ich meine Wochentagsschaltungen nicht anstatt mit at mit Deinem Modul programmieren, da die Scripte dadurch etwas übersichtlicher werden.

In diesem Zusammenhang hätte ich eine Anregung. Wäre es möglich in das WeekdayTimer-Modul noch folgende Pseudo-Wochentage einzubauen?
Wday oder 0 für weekdays (wochentags exclusive Feiertage bei gesetzten holiday2we)
Wend oder 8 für weekend (Wochenende inklusive Feiertage bei gesetzten holiday2we)

Gruß

tupol

Du kannst auch DOIF als Zeitschaltuhr nehmen, das kann mit Arbeitstagen ( 8 )  und Wochenenden inkl. Feiertage ( 7 ) umgehen.

Siehe: http://fhem.de/commandref_DE.html#DOIF

Gruß

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