Hi @ll,
habe ein problem mit der holiday funktion
ich möchte sie nutzen für Geburtstage und Müll-Termine
habe dazu zwei holiday dateien angelegt
geburtstage.holiday
1 12-28 test
1 12-29 test
1 12-30 test
1 12-31 test
und events.holiday
1 01-01 biomuell
1 01-08 RestBioBlaueTonne
1 01-14 biomuell
1 01-21 RestundBiomuell
1 01-28 biomuell
1 02-04 RestBioBlaueTonne
1 02-11 biomuell
1 02-18 RestundBiomuell
1 02-25 biomuell
1 03-04 RestBioBlaueTonne
1 03-11 biomuell
1 03-18 RestundBiomuell
1 03-25 biomuell
1 04-01 RestBioBlaueTonne
1 04-09 biomuell
1 04-15 RestundBiomuell
1 04-22 biomuell
1 04-29 RestBioBlaueTonne
1 05-06 biomuell
1 05-14 RestundBiomuell
1 05-20 biomuell
1 05-28 RestBioBlaueTonne
1 06-04 biomuell
1 06-10 RestundBiomuell
1 06-17 biomuell
1 06-24 RestBioBlaueTonne
1 07-01 biomuell
1 07-08 RestundBiomuell
1 07-15 biomuell
1 07-22 RestBioBlaueTonne
1 07-29 biomuell
1 08-05 RestundBiomuell
1 08-12 biomuell
1 08-19 RestBioBlaueTonne
1 08-26 biomuell
1 09-02 RestundBiomuell
1 09-09 biomuell
1 09-16 RestBioBlaueTonne
1 09-23 biomuell
1 09-30 RestundBiomuell
1 10-07 biomuell
1 10-14 RestBioBlaueTonne
1 10-21 biomuell
1 10-28 RestundBiomuell
1 11-04 biomuell
1 11-11 RestBioBlaueTonne
1 11-18 biomuell
1 11-25 RestundBiomuell
1 12-02 biomuell
1 12-09 RestBioBlaueTonne
1 12-16 biomuell
1 12-22 RestundBiomuell
1 12-30 biomuell
1 12-31 test
dazu in der fhem.cfg
define events holiday
attr events icon system_fhem
attr events room Events
define CheckEventHeute at *19:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
$Eventname = "$EventHeute" ;;\
$Eventname =~ s/[ \n\r]//g;;\
fhem('set Sonos_Flur,Sonos_Eingang,Sonos_Wohnzimmer,Sonos_Waschkueche PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\
}\
}
attr CheckEventHeute icon message_attention
attr CheckEventHeute room Events
##################################################### Geburtstage #######################################################
define geburtstage holiday
attr geburtstage icon system_fhem
attr geburtstage room Events
define CheckGeburtstageHeute at *20:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get geburtstage ".strftime("%m-%d",localtime()));;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
$Eventname = "$EventHeute" ;;\
$Eventname =~ s/[ \n\r]//g;;\
fhem('set Sonos_Flur,Sonos_Eingang,Sonos_Wohnzimmer,Sonos_Waschkueche PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\
}\
}
es funktioniert nicht richtig, wenn ich ein "get events MM-DD 12-30" mache bekomme ich biomuell wenn ich "get events MM-DD 12-31" oder "get events MM-DD 01-01" mache bekomme ich "none"
geliefert obwohl ein Eintrag in der jewaligen Datei besteht :o
ich wäre sehr dankbar wenn mir einer helfen könnte
mfg. m311331
Wenn ich events mit den Daten von vorhin definiere, bekomme ich
fhem> get events MM-DD 12-30
biomuell
fhem> get events MM-DD 12-31
test
fhem> get events MM-DD 01-01
biomuell
Hi rudolfkoenig,
leider weises ich nicht weiter
wenn ich in der FHEM console besagten Befehl eingebe bekomme ich das nicht.
wie könnte ich versuchen rauszufinden woran es liegen könnte ?
mfg. m311331
Am besten das holiday unter einem neuen Namen neu anlegen, und Schritt-fuer-Schritt alle weitern Funktionen wie at/etc nachziehen.
Hi
ZitatAm besten das holiday unter einem neuen Namen neu anlegen, und Schritt-fuer-Schritt alle weitern Funktionen wie at/etc nachziehen.
habe ich gemacht
define muell holiday
attr muell icon system_fhem
attr muell room Events
define CheckMuellHeute at *20:00:00 {\
my $Eventname;;\
my $EventHeute;;\
$EventHeute = fhem("get muell today");;\
print $EventHeute;;\
if ($EventHeute ne "none") {\
$Eventname =~ s/[ \n\r]//g;;\
fhem('set Sonos_Flur,Sonos_Eingang,Sonos_Wohnzimmer,Sonos_Waschkueche PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\
}\
}
es änder sich nichst :(
der fehler bleibt bei mir gleich
hat noch einer eine Idee ? hilfe bitte !
mfg. m311331
Das mit dem "Schritt-fuer-Schritt" habe ich ernst gemeint.
Funktioniert es bereits nach dem Anlegen der muell holiday Instanz nicht?
Dann ist vermutlich die Datei muell.holiday defekt.
Wie (und wo) legst Du denn Deine .holiday Dateien an?
Am sichersten funktioniert das über "Edit files", dann stimmen auf jeden Fall die Textformatierung (Stichwort DOS) und die Rechte, die benötigt werden, damit fhem zugreifen kann.
Hi
@betateilchen
genau so habe ich es gemacht
habe gerade nochmal alle holiday Dateien gelöscht und über FHEM neu angelegt mit nur zwei Einträgen
das Problem ist immer das selbe ich kann bestimmte Daten nicht abrufen bzw. bekommen einfach "none" geliefert obwohl der Tag in der Datei steht >:(
@rudolfkoenig
Danke für deine Hilfe aber ich komme nicht weiter habe es so gemacht wie du gesagt hast aber ich kann nicht herrausfinden was mit der holiday Datei ist
Rechte habe ich geprüft zudem nochmal alles so gemacht wie betateilchen beschreiben (hatte ich auch vorher so)
es will einfach nicht :'(
mfg. m311331
Schau mal bitte in dem Posting:
http://forum.fhem.de/index.php/topic,31045.msg235796.html#msg235796
Da ist eine funktionierende holiday angehängt, ob es mit der geht. Irgendwie wird doch das zum laufen zu bekommen sein.
Hi
@Rince danke, hat sich schon erl.
Problem war wohl, daß ich zwar in FHEM die holiday Datei erstellt habe, aber die Werte per kop&past eingefügt habe
habe jetzt nochmal alle termin händisch in fhem in die holiday datei geschreiben und jetzt scheint es zu gehn :o
wiso kop&past da nicht so gut ist konnte ich nicht rausbekommen :-\
:) Danke an Alle die geholfen haben !!!
mfg. m311331
Vielleicht könnte Rudi das Modul erweitern, dass statt Leerzeichen als Spaltentrenner auch Tabs genommen werden.
Ich möchte wetten, dass es damit was zu tun hatte...
Wenn man mit Calc oder Excel die Datei erstellt, bekommt man Tabs statt Leerzeichen, was auf den ersten Blick nicht ersichtlich ist...
ZitatIch möchte wetten, dass es damit was zu tun hatte...
Ich wuerde dagegenhalten: split in Perl ist ein Betrueger: wenn man als Trenner " " spezifiziert, dann wird Leerzeichen stillschweigend durch \s ersetzt.
Hi
@Rince
Wette gewonnen ;)
Mfg. m311331
Danke für die Rückmeldung :)