Space-Status: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(Momentane Situation: regelung präzisiert)
(Anzeige: statistik von bastinat0r)
Zeile 21: Zeile 21:
 
* hier im Wiki links in der Seitenleiste
 
* hier im Wiki links in der Seitenleiste
 
* als bookmarkbare Version ohne viel Wiki-Overhead: https://status.stratum0.org/status.html
 
* als bookmarkbare Version ohne viel Wiki-Overhead: https://status.stratum0.org/status.html
* als Graph mit dem Öffnungsverlauf über die Zeit: https://status.stratum0.org/graph.html
 
 
* als Graph mit der Anzahl der Tage im Bezug auf die Tageszeit: http://hackt-im-stratum0.org/graphen/s0zeiten.png
 
* als Graph mit der Anzahl der Tage im Bezug auf die Tageszeit: http://hackt-im-stratum0.org/graphen/s0zeiten.png
 +
* als Statistik über die aggregierte Öffnungszeit: http://spaceapi.bastinat0r.de/#stratum0
  
 
=== API ===
 
=== API ===

Version vom 20. Juli 2013, 07:19 Uhr

Space-Status
Beschreibung: Anzeige/Bereitstellung des Space-Öffnungsstatus
Kontakt: Daniel Bohrer
Status: aktiv (Was heißt das?)
Quellcode: GitHub

Idee

Da nicht alle Mitglieder einen Schlüssel haben können, wird an diversen Stellen angezeigt, ob der Space gerade offen ist.

Momentane Situation

Der Status kann im Moment nur per Hand aus dem IRC über die Befehle sudo auf bzw. sudo zu (alleine am Anfang einer Zeile) gesetzt werden. Die Befehle veranlassen unseren IRC-Bot StratumGuardian, das Topic im IRC-Channel zu setzen (hier ist insbesondere wichtig, dass nach dem ersten und dem zweiten Vorkommen der Zeichenfolge || gesucht wird, und alles dazwischen durch den Status ersetzt wird).

Hinweis:
Es wird auch der Nickname desjenigen ins Topic geschrieben, der den Status auf „offen“ gesetzt hat. Die Konvention ist, dass diese Person dafür verantwortlich ist, den Status wieder auf „zu“ zu setzen, oder die Verantwortung dafür an eine andere Person weiterzugeben. Falls der Space-Status auf „offen“ steht und Leute längere Zeit vor verschlossener Tür stehen, schuldet der Verantwortliche diesen Leuten je drei Flaschen Club-Mate.

Das aktuelle (manipulationsanfällige) System soll in Zukunft durch einen Hardwareschalter zum Öffnen und Schließen im Space ersetzt werden, siehe /Hardware.

Anzeige

Der Öffnungsstatus wird menschenlesbar auf 5 Minuten genau an folgenden Stellen angezeigt:

API

Im Artikel /API wird die API beschrieben, über die der Status maschinell ausgelesen werden kann. Für die Statistik gibt es ein Archiv der bisherigen offen/zu-Befehle inkl. Timestamps: https://status.stratum0.org/archive.txt

Die hackerspaceübergreifende SpaceAPI wird unterstützt. Die entsprechende Endpoint-URL ist http://status.stratum0.org/status.json.

SpaceVoice

Um die reale Welt in der virtuellen Welt abzubilden, bekommen im Space anwesende Entitäten im IRC-Channel das Voice-Flag (+v). Das funktioniert auf Basis von Wikipedia-W.svgICMP-Pings oder Wikipedia-W.svgmDNS-Hostnamen, die alle fünf Minuten im LAN detektiert werden. Um erkannt zu werden, müssen Entitäten eine oder mehrere ihrer MAC-Adressen oder mDNS-Hostnamen an Daniel Bohrer melden, der sie dann im System hinzufügt.

Systemdokumentation

Auf dem Plenum 2012-08-22 gab es einen kurzen Vortrag über die Funktionsweise mit Beschreibung des aktuellen Stands und Ausblick für die Zukunft.

tl;dr: Plugin für IRC-Bot ist hier, das schreibt nginx-Config, nginx serviert status.png jeweils mit HTTP-302-Redirect auf closed.png oder open.png. Das ganze läuft auf einem Raspberry Pi im Space.

Apps

Es gibt mehrere Apps, um den Space-Status anzuzeigen:

Elektronische Türöffnung

Eine elektronische Türöffnung wird im Artikel Spacegate geplant.

To Do

  • EVENTDISTR-Pakete senden done in 2cf610db
  • Rewrite des SpaceVoice-Teils, vollständig als Daemon/cronjob (im Moment im supybot-Plugin realisiert, hat da eigentlich nichts zu suchen.)
  • Aufmachen, wenn mindestens n Entitäten anwesend sind?
  • Space-Voice: mDNS hat langen Timeout, wenn Geräte sich nicht explizit abmelden. Möglicherweise zusätzlich pingen und bei fehlendem Ping Geräte aus der Liste werfen
  • nmap findet manchmal nicht alle pingbaren MAC-Adressen… Timeout erhöhen? nmap nachbauen für mehr Flexibilität?
  • Rewrite mit Python Twisted für saubere API auch nach innen, mehr Flexibilität und einfachere Wartbarkeit

Ähnliche Systeme