Funktion Holiday => Vorschau

Begonnen von bjoernbo, 26 Dezember 2014, 13:29:49

Vorheriges Thema - Nächstes Thema

bjoernbo

Hallo,

ich habe mir eine holiday.-Datei erzeugt. In dieser habe ich die Abholtermine der Müllabfuhr eingetragen. Ich bin nun auf der Suche nach einer Möglichkeit, dass mir die "Ereignisse" / Abholtermine für die kommende Woche angezeigt werden. Also nicht die Funktion "today" oder "yesterday". Gibt es eine Möglichkeit das ich die kommenden 7 Tage anzeigen lassen kann?

Danke.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

rudolfkoenig

Nein, bzw. nur mit entsprechender Programmierung. Das kann ausserhalb des Moduls erfolgen (eine Schleife mit passenden "get XXX MM:DD" Aufrufen), oder durch erweitern des Moduls durch "get XXX nextweek"

bjoernbo

Wie und wo kann ich das um den Eintrag "nextweek erweitern?
Danke
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Rince

Ich schätze, Rudi meint soviel wie:
1. Lies den Quelltext des Moduls durch.
2. Versuche die wesentlichen Teile zu verstehen
3. Erweitere es analog zu tomorrow, nur mit 7 Tagen
4. Schicke den neuen Code zu ihm

;)

Nur so ne Idee ;)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

bjoernbo

super Idee! Würde ich auch glatt umsetzten. Ich arbeite erst ungefähr 2 Wochen mit FHEM. Ich muss wissen wo ich den Quelltest finde. Ist damit die holiday.pm gemeint ? ich schaue mal dort nach.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Rince

Genau genommen heißt die Datei 95_holiday.pm.

Finden tust du sie entweder lokal bei dir, oder du schaust gleich bei Sourceforge nach:
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/95_holiday.pm

Nur so aus Neugier:
Hast du schon mal mit Perl gearbeitet?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

bjoernbo

Nein, ich habe noch nicht mir PERL gearbeitet. Eigentlich kann ich nur HTML, CSC,PHP,JS  und SQL. Aber ich werde mich da reinfuxen.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

bjoernbo

upsala, das sieht ja mächtig aus ....  :-\ OK, mal eben bekomme ich das nicht hin. Das werde ich mir mal in Ruhe zu Gemüte ziehen
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Rince

ZitatEigentlich kann ich nur HTML, CSC,PHP,JS  und SQL.
Nur???
(Das ist bewundernd gemeint)



@Rudolf
Kann es sein, dass du das schon eingebaut und nur vergessen hast, es fertig zu implementieren?
Zeile 209-214 macht yesterday, tomorrow und today...
Zitatelsif($a[1] =~ m/^(yesterday|today|tomorrow)$/)


Der Codeblock von 216-219 allerdings geht von einem
Zitatelsif($a[1] eq "days")
aus.
Dazu finde ich keinen Bezug.

Oder verstehe ich da grundlegend was falsch?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

Ja, get nimmt auch "days X" als Argument. Es ist zwar in commandref dokumentiert, taucht aber nicht in der "online" Hilfe und damit im FHEMWEB Auswahl auf. Ich habe die Hilfe ergaenzt und eingecheckt.

Rince

Danke :)


Darf ich noch was dummes fragen:

Wenn ich nach der Zeile 181:
$nt += 86400 + 2;                              # Tomorrow
eine weitere Zeile Einfüge:
$nt += 172800 + 2;                              # +2


Weiterhin nach Zeile 189:
readingsBulkUpdate($hash, 'tomorrow',  CommandGet(undef,"$name tomorrow"));
folgendes einfüge:
readingsBulkUpdate($hash, '+2',  CommandGet(undef,"$name +2"));

Bekomme ich dann ein Reading Namens +2 welches mir die Ereignisse in 2 Tagen anzeigt?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

rudolfkoenig

Mach fuer solche Vorschlaege diffs, diese kann ich besser lesen.
$nt bestimmt die Zeit der neachsten Pruefung. Deine Modifikation bewirkt, dass die Pruefung nicht taeglich, sondern alle 3 Tage stattfindet. Die zweite Aenderung setzt ein Reading mit dem Namen "+2" auf eine Fehlermeldung, da "get holiday +2 nicht definiert ist". Der "+2" selbst fuehrt evtl. auch zu Fehler (da nicht alpha), hier bin aber nicht ganz sicher.

Erinnert mich an einem Lehrer, der Hausaufgaben korrigiert.

Rince

Danke großer Meister :)

Ich denke ich setzte mal ein Testsystem auf.


PS:
Jetzt weißt wies mir geht ;)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)