SanktGallen-Was?

SanktGallenBot!

Zeit ist alles, doch fehlende Zeit ist kein Grund, sich nicht ökologisch zu verhalten. Mit SanktGallenBot wird das möglich - schnell, zuverlässig und als All-in-one-Paket. Es soll ein Beitrag zu Digital Klima Neutral sein.

Wir finden: Open Data sollte nicht nur abstrakt verfügbar sein, sondern das Leben jeder und jedes Einzelnen vereinfachen. Dafür müssen die User nicht zu den Daten, sondern die Daten zu den Usern. SanktGallenBot geht deshalb dort hin, wo die User sind: Auf den Messengerdienst Telegram.

SanktGallenBot vereinfacht Alltägliches - und spart damit wertvolle Zeit und Benzin, die ansonsten sinnlos vergeudet worden wären. Es handelt sich dabei um ein System für die ideale Zeitallokation individueller Personen, deren Handlungen gesamthaft eine nachhaltige Gesellschaft fördern können. Klimabewusstes Handeln beginnt bei den Einzelnen!

SanktGallenBot kann über die Suche im Messengerdienst Telegram aufgerufen werden. Ein einfaches Menüinterface offenbart anschliessend user friendly die vier Grundfunktionen:

Parkhaus finden

Mit dem Befehl "/parkhaus" wird SanktGallenBot um Hilfe bei der Parkhaussuche gebeten. SanktGallenBot fordert anschliessend den Standort des Handys an und liefert daraufhin Angaben über den Standort des nächsten Parkhauses in der St. Gallen, einschliesslich der verfügbaren Parkplätze. Sinnlos durch die Altstadt kurven war gestern!

Sammelstelle

Mit dem Befehl "/sammelstelle" wird SanktGallenBot um Hilfe bei der Alu-, Glas- und Dosenentsorgung gebeten. Ebenfalls unter Nutzung der in Telegram integrierten Standortfunktion wird die nächste gewünschte Sammelstelle gezeigt.

Ladestation

Mit dem Befehl "/ladestation" unterstützt der SanktGallenBot bei der Suche nach der nächsten Ladestation für Elektrofahrzeuge. Unter Nutzung der Standortfunktion wird die nächste Ladestation angezeigt, sodass die Batterie bis dahin sicher noch hält. Auch hier entfällt unnötige Energieverschwendung.

Karton- und Papierabfuhr

Mit dem Befehl "/abfuhr" hilft SanktGallenBot dabei, dass nie mehr ein Bündel unnötig lange zu Hause rumstehen muss. Nachdem ein User auf eine Rückfrage von SanktGallenBot mit der eigenen Entsorgungszone (bspw. "G - Heiligkreuz") geantwortet hat, erinnert SanktGallenBot automatisch und bis auf Widerruf am Vorabend der Entsorgung in der gewünschten Zone. Und zur Sicherheit erinnert SanktGallenBot jeweils morgen früh gleich nochmals. Billige Ausreden waren also gestern, mit SanktGallenBot geht die Abfuhr nie mehr vergessen... Nur das bündeln übernimmt er leider nicht.

SanktGallenBot hilft also mit schneller zu recyclen, entsorgen, parkieren und laden und spart dabei sogar noch Energie. Dabei wird berücksichtigt, dass User motiviert sind, sich ökologisch zu verhalten, es ihnen jedoch wesentlich einfacher fällt, wenn ihnen dabei keine Steine in den Weg gelegt werden. SanktGallenBot geht daher mit den Daten zu den Usern im Messengerdienst Telegram und verbindet damit Usability und Ecology und versucht so seinen Beitrag zur Bewältigung der Klimakrise zu leisten.

Technische Implementation

Auch die technische Nachhaltigkeit ist uns wichtig um den SanktGallenBot längerfristig wart- und erweiterbar zu halten. So wurden die Services von einander abgekapselt in einzelne Substrukturen geordnet. Gemeinsam verwendete Logik wie beispielsweise das Bestimmen des nächstgelegenen Objektes ist in allgemein verwendbaren Funktionen in einem common-Package abgelegt. Dies ermöglicht eine schnelle Integration von neuen Datensätzen und ein schnelles Vorankommen im Rahmen des Hackathons.

SanktGallenBot wird als Python-Service bei pythonanywhere gehostet mit einer MySQL-Datenbank. Die Abfuhr-Benachrichtigungen werden als CronJobs täglich jeweils Morgens und Abends ausgeführt.

Eine Benutzerin kommuniziert über Telegram mit dem Python-Service. Dieser wiederum ruft Daten über die API des Datenportals der Stadt St.Gallen ab und verarbeitet diese weiter.

Die Wahl auf Python als Programmiersprache geht vor allem auf den Umstand zurück, dass es mit python-telegram-bot eine sehr gute Library zur Kommunikation mit Telegram gibt. Telegram deshalb, weil es der einzige Messanger mit einfach zugänglichen Schnittstellen ist. Hier hinken WhatsApp oder Signal hinten nach.

Source Code

Nächste Schritte

Es gibt viele Ideen für Weiterentwicklungen. Nebst der Integration von neuen Datensätzen könnte man statt der Angabe einer Abfuhrzone einfach einen Standort entgegennehmen und diesen zur entsprechenden Zone mappen. Dafür gibt es bereits ein Github-Issue: https://github.com/dgnaegi/SanktGallenBot/issues/1

Auch möchten wir aktiv versuchen zu erreichen, dass die Open Source Community rund um St.Gallen weitere Datensätze einreicht.

Disclaimer

Ein Teammitglied (Daniel Gnägi) entwickelte und hosted bereits einen auf Open Data basierenden Chatbot um per Telegram an Papier- und Kartonabfuhr Terminen erinnert zu werden. Von diesem konnten weite Teile des Benachrichtigungsmechanismus aus dem folgendem File übernommen werden:

altpapierNotifier

Sämtliche anderen Features sowie der Anmeldeprozess zur Registrierung von Abfuhr Benachrichtigungen sind im Rahmen des Hackathons in den vergangenen Stunden entstanden. Auch das Hosting und die Datenbank sind unabhängig zu bestehenden Bots. Selbstverständlich profitierten wir von der Erfahrung in diesem Bereich.

Built With

Share this project:

Updates