Moin,
weil ich oft an verschiedenen Standorten und zu verschiedenen Zeiten arbeite, wollte ich gerne wissen, wann ich mit dem Auto oder der Bahn los muss. Dafür habe ich mir ein kleines Skript mit Blockly geschrieben, welches ich mit euch teilen wollte.
Das Skript schaut im iCal Kalender nach einem Stichwort, hier z.B. Zentrale und vergleicht anschließend das Datum mit dem heutigen. Wird das Wort Zentrale mit dem heutigen Datum gefunden, schreibt es die Startzeit in einen Datenpunkt. Anschließend wird die im Roadtraffic Adapter berechnete Fahrzeit davon abgezogen, so dass mir die späteste Abfahrtzeit mit dem Auto in der Vis angezeigt wird. Als nächstes werden über den Fahrplan Adapter alle Abfahrtzeiten mit der Bahn angezeigt, die dafür sorgen, dass ich bis zu einer halben Stunde eher am Ziel ankomme.
- Der Datenpunkt in Roadtraffic muss dafür in Sekunden ausgewählt werden.
- Im Fahrplan Adapter habe ich 6 Abfahrten ausgewählt, damit mir die Fahrten rechtzeitig angezeigt werden. Für das setzen von 6 Abfahrtzeiten muss der Adapter jedoch aus Github aktualisiert werden.
- Der iCal Adapter benötigt die Einstellungen "Datumsangaben mit führender 0" und es darf kein Haken bei "Ersetze Datum mit Worten" sowie "Jahr verbergen" gesetzt sein.
- Die Zeiten können über den Datenpunkt in geschweiften Klammern in die Vis eingebunden werden.
- Der Suchbegriff, mit dem in iCal geschaut wird, muss im Skript klein geschrieben sein. Auf die Groß und Kleinschreibung muss beim eintragen in den Kalender nicht geachtet werden, jedoch muss der Suchbegriff bei der Eintragung als erstes stehen. Ein "x Zentrale" würde hier nicht funktionieren, ein "Zentrale x" jedoch schon. Auch könnte im Blockly "zentrale y" eingetragen werden, so das ein "Zentrale x" ignoriert wird.
- Inwiefern aktivierte NPM Module in meinem Javaskript dafür sorgen, dass das Skript funktioniert kann ich nicht sagen. Aktiviert sind aber "dewpoint", "moment", moment-timezone", "moment-duration-format" und "chroma-js"
Probleme:
- Das Skript erkennt einen zweiten Termin nicht, während der erste mit gleichem Suchbegriff noch läuft.
- Beim Endergebnis der Fahrtzeit mit dem Auto musste ich eine zusätzliche Stunde abziehen.
Benötigt werden dabei folgende Datenpunkte, die selbstständig angelegt werden müssen:
- An= Termin mit dem Suchbegriff an diesem Tag
- Bahn1= Datenpunkt für die passenden Abfahrtzeiten der Bahn (geschweifte Klammer in Vis)
- Frühste Ankunft= Termin minus 30min
- Vis an = Zeit zwei Stunden vor dem Termin. (Wird bei mir als Datenpunkt für die Sichtbarkeit in der Vis genommen)
- Vis_anzeigen = Termin minus 2h für den Datenpunkt Vis an
- Wann_los = Abfahrtzeit fürs Auto (geschweifte Klammer in Vis)
- Zeit= Termin
Dies ist die erste Version, die mit Sicherheit um einiges Optimiert werden kann, bei mir aber gut Funktioniert. Auch die Benennung der Variablen ist durch das rumprobieren nicht Optimal, muss für die Funktion jedoch nicht geändert werden. Alles was angepasst werden muss habe ich im Skript kommentiert. Sollte ich irgendwann nochmal Zeit und Lust haben, werde ich das Skript so ändern, dass das Anpassen übersichtlicher wird und man die Zeit, die man vor dem Termin da sein möchte ändern kann.
Beste Grüße
Ocrim