Hallo Zusammen
Ich habe nun meinen ersten LBS programmiert und ins Download-Portal kopiert.
Es handelt sich um einen generischen Termin Reminder, wie es z.B. schon für andere Abfallkalender oder die beliebte Mülltonnen-Abfuhr umgesetzt wurde. Obwohl es bereits solch ähnliche LBS gibt (Dank an Timberland für seine Inspiration), wollte ich etwas machen, das flexibel ist und nur mit einer einzigen Termindatei auskommt. Zudem sollte diese Textdatei relativ einfach zu verwalten sein.
In der Visu könnte dies dann so aussehen:
IMG_0134.PNG IMG_0133.PNG IMG_0132.PNG
Und hier im Logikeditor: Logikeditor4.png
Eine (umfangreiche, 10-seitige) Anleitung kann hier runtergeladen werden.
Hier noch der Auszug aus dem Hilfe-Text:
Ich habe nun meinen ersten LBS programmiert und ins Download-Portal kopiert.
Es handelt sich um einen generischen Termin Reminder, wie es z.B. schon für andere Abfallkalender oder die beliebte Mülltonnen-Abfuhr umgesetzt wurde. Obwohl es bereits solch ähnliche LBS gibt (Dank an Timberland für seine Inspiration), wollte ich etwas machen, das flexibel ist und nur mit einer einzigen Termindatei auskommt. Zudem sollte diese Textdatei relativ einfach zu verwalten sein.
In der Visu könnte dies dann so aussehen:
IMG_0134.PNG IMG_0133.PNG IMG_0132.PNG
Und hier im Logikeditor: Logikeditor4.png
Eine (umfangreiche, 10-seitige) Anleitung kann hier runtergeladen werden.
Hier noch der Auszug aus dem Hilfe-Text:
Dieser Logikbaustein (LBS) ist ein Termin Reminder. Aus einer Anzahl vorgegebener Termine (Terminserie: z.B. 12.03.2016, 03.06.2016, 01.08.2016...) wird der nächste und optional übernächste Termin (vom aktuellen Tagesdatum gerechnet) angezeigt.
Zudem wird über ein Status ausgegeben, ob sich der nächste Termin in der frei definierbaren Vorwarnzeit befindet. Zusätzlich wird die Anzahl Tage bis zum nächsten Termin berechnet.
Mit der Option "wotag" kann gesteuert werden, ob der übernächste Termin oder lieber der Wochentag des nächsten Termins ausgegeben wird.
Der LBS berücksichtigt standardmässig max. 5 unterschiedliche Terminserien, welche dann in der Visu beliebig aufbereitet werden können (z.B. Mülltonne, Filterwechsel etc.).
Diese max. Anzahl kann sehr einfach erweitert werden. (Im Script sind die entsprechenden Stellen kommentiert und vorbereitet.)
Standardmässig wird eine Vorwarnzeit von 1 Tag verwendet (=Alle Termine von heute oder morgen). Dies ist optimal für die typischen Mülltonnen-Erinnerungen.
Man kann jedoch optional für jede einzelne Terminserie eine andere Vorwarnzeit definieren. (z.B. mehr Tage bei Wartungsterminen etc.)
Die Textdatei mit den Terminserien wird über den Eingang E3 (URL) verbunden. Wenn die Datei auf dem Edomi-Server abgelegt wurde (z.B. /usr/local/edomi/www/termine.txt), dann kann als URL der folgende Pfad angegeben werden: http://IP_von_Edomi/termine.txt
Der Aufbau der Textdatei ist wie folgt:
TS1=07.01.2016;14.01.2016;21.01.2016;28.01.2016;04 .02.2016;11.02.2016;18.02.2016;25.02.2016;03.03.20 16;10.03.2016;
TS2=05.01.2016;12.01.2016;19.01.2016;26.01.2016;02 .02.2016;09.02.2016;16.02.2016;23.02.2016;01.03.20 16;08.03.2016;15.03.2016;
TS3=04.03.2016;10.06.2016;02.09.2016;11.11.2016;
TS4=03.03.2016;09.06.2016;01.09.2016;10.11.2016;
TS5=22.02.2016;23.02.2016;24.02.2016;25.02.2016;
Wichtig ist, dass jede Terminserie in einer eigenen Zeile gespeichert ist und dass diese Zeile zwingend mit TSx= anfängt, wobei x eine fortlaufende Zahl beginnend mit 1 ist.
Die einzelnen Daten müssen mit ; (Semikolon) getrennt werden und als TT.MM.JJJJ formatiert sein.
Eine chronologische Sortierung ist nicht zwingend, da diese später im Script nochmals sortiert wird.
(In einer zukünftigen Version werden die Terminserien als Spalten anstatt Zeilen erwartet, da dies für einen Export aus Excel etc. einfacher ist.)
Als Trigger (E1) empfiehlt sich das Edomi System KO ("täglich" oder "stündlich").
Weitere Infos und ein Beispiel findest du im beiliegenden ZIP-File.
E1: = !=0 = Trigger
E2: = debug (1=true, 0=false / Bei true werden Variablenwerte in das Edomi TraceLog geschrieben. Nur für Tests verwenden!)
E3: = url (Pfad zum Textfile)
E4: = Wochentag anstatt übernächstes Datum (1=true, 0=false)
E5: = Vorwarnzeit Terminserie 1 (in Tagen)
E6: = Vorwarnzeit Terminserie 2 (in Tagen)
E7: = Vorwarnzeit Terminserie 3 (in Tagen)
E8: = Vorwarnzeit Terminserie 4 (in Tagen)
E9: = Vorwarnzeit Terminserie 5 (in Tagen)
A1: = Anzahl Termine in Vorwarnzeit
A2: = TS1 Status (In Vorwarnzeit 1=true, 0=false)
A3: = TS1 Datum 1 (Nächstes Datum)
A4: = TS1 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A5: = TS1 Intervall (in Tagen)
A6: = TS2 Status (In Vorwarnzeit 1=true, 0=false)
A7: = TS2 Datum 1 (Nächstes Datum)
A8: = TS2 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A9: = TS2 Intervall (in Tagen)
A10: = TS3 Status (In Vorwarnzeit 1=true, 0=false)
A11: = TS3 Datum 1 (Nächstes Datum)
A12: = TS3 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A13: = TS3 Intervall (in Tagen)
A14: = TS4 Status (In Vorwarnzeit 1=true, 0=false)
A15: = TS4 Datum 1 (Nächstes Datum)
A16: = TS4 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A17: = TS4 Intervall (in Tagen)
A18: = TS5 Status (In Vorwarnzeit 1=true, 0=false)
A19: = TS5 Datum 1 (Nächstes Datum)
A20: = TS5 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A21: = TS5 Intervall (in Tagen)
Zudem wird über ein Status ausgegeben, ob sich der nächste Termin in der frei definierbaren Vorwarnzeit befindet. Zusätzlich wird die Anzahl Tage bis zum nächsten Termin berechnet.
Mit der Option "wotag" kann gesteuert werden, ob der übernächste Termin oder lieber der Wochentag des nächsten Termins ausgegeben wird.
Der LBS berücksichtigt standardmässig max. 5 unterschiedliche Terminserien, welche dann in der Visu beliebig aufbereitet werden können (z.B. Mülltonne, Filterwechsel etc.).
Diese max. Anzahl kann sehr einfach erweitert werden. (Im Script sind die entsprechenden Stellen kommentiert und vorbereitet.)
Standardmässig wird eine Vorwarnzeit von 1 Tag verwendet (=Alle Termine von heute oder morgen). Dies ist optimal für die typischen Mülltonnen-Erinnerungen.
Man kann jedoch optional für jede einzelne Terminserie eine andere Vorwarnzeit definieren. (z.B. mehr Tage bei Wartungsterminen etc.)
Die Textdatei mit den Terminserien wird über den Eingang E3 (URL) verbunden. Wenn die Datei auf dem Edomi-Server abgelegt wurde (z.B. /usr/local/edomi/www/termine.txt), dann kann als URL der folgende Pfad angegeben werden: http://IP_von_Edomi/termine.txt
Der Aufbau der Textdatei ist wie folgt:
TS1=07.01.2016;14.01.2016;21.01.2016;28.01.2016;04 .02.2016;11.02.2016;18.02.2016;25.02.2016;03.03.20 16;10.03.2016;
TS2=05.01.2016;12.01.2016;19.01.2016;26.01.2016;02 .02.2016;09.02.2016;16.02.2016;23.02.2016;01.03.20 16;08.03.2016;15.03.2016;
TS3=04.03.2016;10.06.2016;02.09.2016;11.11.2016;
TS4=03.03.2016;09.06.2016;01.09.2016;10.11.2016;
TS5=22.02.2016;23.02.2016;24.02.2016;25.02.2016;
Wichtig ist, dass jede Terminserie in einer eigenen Zeile gespeichert ist und dass diese Zeile zwingend mit TSx= anfängt, wobei x eine fortlaufende Zahl beginnend mit 1 ist.
Die einzelnen Daten müssen mit ; (Semikolon) getrennt werden und als TT.MM.JJJJ formatiert sein.
Eine chronologische Sortierung ist nicht zwingend, da diese später im Script nochmals sortiert wird.
(In einer zukünftigen Version werden die Terminserien als Spalten anstatt Zeilen erwartet, da dies für einen Export aus Excel etc. einfacher ist.)
Als Trigger (E1) empfiehlt sich das Edomi System KO ("täglich" oder "stündlich").
Weitere Infos und ein Beispiel findest du im beiliegenden ZIP-File.
E1: = !=0 = Trigger
E2: = debug (1=true, 0=false / Bei true werden Variablenwerte in das Edomi TraceLog geschrieben. Nur für Tests verwenden!)
E3: = url (Pfad zum Textfile)
E4: = Wochentag anstatt übernächstes Datum (1=true, 0=false)
E5: = Vorwarnzeit Terminserie 1 (in Tagen)
E6: = Vorwarnzeit Terminserie 2 (in Tagen)
E7: = Vorwarnzeit Terminserie 3 (in Tagen)
E8: = Vorwarnzeit Terminserie 4 (in Tagen)
E9: = Vorwarnzeit Terminserie 5 (in Tagen)
A1: = Anzahl Termine in Vorwarnzeit
A2: = TS1 Status (In Vorwarnzeit 1=true, 0=false)
A3: = TS1 Datum 1 (Nächstes Datum)
A4: = TS1 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A5: = TS1 Intervall (in Tagen)
A6: = TS2 Status (In Vorwarnzeit 1=true, 0=false)
A7: = TS2 Datum 1 (Nächstes Datum)
A8: = TS2 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A9: = TS2 Intervall (in Tagen)
A10: = TS3 Status (In Vorwarnzeit 1=true, 0=false)
A11: = TS3 Datum 1 (Nächstes Datum)
A12: = TS3 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A13: = TS3 Intervall (in Tagen)
A14: = TS4 Status (In Vorwarnzeit 1=true, 0=false)
A15: = TS4 Datum 1 (Nächstes Datum)
A16: = TS4 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A17: = TS4 Intervall (in Tagen)
A18: = TS5 Status (In Vorwarnzeit 1=true, 0=false)
A19: = TS5 Datum 1 (Nächstes Datum)
A20: = TS5 Datum 2 / WoTag (Übernächstes Datum oder Wochentag)
A21: = TS5 Intervall (in Tagen)
Kommentar