Labor Status-Bot
Labor Status-Bot Release status: stable [box doku] | |
---|---|
Description | Zeigt den aktuellen Labor Status an |
Author(s) | Asklepios |
Last Version | 0.5.0 () |
Platform | Labor/python/xmpp |
License | GPL v3+ |
Download | https://www.das-labor.org/svn/tools/statusbot |
Es ist unbequem, immer im LABOR anrufen zu müssen, um herauszufinden, ob gerade jemand da ist, ob man 'reinkommt oder ob man, wenn man denn mal drin wäre, alleine verpeilen müsste.
Die Information "LABOR offen/zu" wird also durch das Betätigen des Hauptstromschalters am Eingang verändert und schließlich auf der Startseite und unter /status angezeigt.
Legende
- Der Statusbot erhält gerade keine Daten und weiss nicht, ob das LABOR geöffnet oder geschlossen ist. Ruf am besten an und finde es selbst heraus.
Services
HTTP
Zu diesem Zweck stellt der Bot unter http://www.das-labor.org/status/LAB_STATE.png den aktuellen Status dar. Dieses Icon ist auch auf www.das-labor.org zu sehen und kann und darf auch auf anderen Webseiten verlinkt werden.
http://das-labor.org/status/status.php?status
Spaceapi
https://spaceapi.net/new/space/das_labor/
Wie funktionierts?
DIESE INFORMATIONENSIND NICHT MEHR AKTUELL TODO: Überarbeitung notwendig
Server
Auf dem Server, der auch die Webseiten des LABORs vorhält, läuft auch der Server des Statusbots. Er lauscht unter der Adresse status ät das minus labor pünkt org auf Statusinformationen seitens des Clients und schreibt abhängig davon ein farblich passendes Statusicon in das document-root der Domain www.das-labor.org. Dabei setzt er gleichzeitig entsprechend seinen im Jabber sichtbaren Status. Er validiert, dass die Statusmeldungen des Clients von dem dazu berechtigten Account kommen, was dank des Designs des Extensible Messaging and Presence Protocol auch zumindest nicht trivial zu umgehen ist. Wenn der Server für eine definierte Zeit keine Statusinformationen mehr vom Client empfangen hat, setzt er den Status auf NONE, das Icon wird gelb.
Client
Der Client läuft im LABOR auf weblab (wl). /etc/init.d/status-setter startet /usr/local/sbin/endlessloop.sh welches in einem definierten Interval (z.Zt. 60s) das Skript /usr/local/sbin/mysetter.py aufruft. Dieses testet die den Status mit einem Ping an blackjack und sendet dann ein entsprechendes Kommando an den Server.