X-Git-Url: https://git.rohieb.name/stratum0-wiki.git/blobdiff_plain/b2b9ff02c79be149919d74052f029aef37c27840..502664e4b33db2f161259336f34ec5a6654d9f94:/Space-Status.mw diff --git a/Space-Status.mw b/Space-Status.mw index 7fe5d50aa..3d31be22f 100644 --- a/Space-Status.mw +++ b/Space-Status.mw @@ -9,7 +9,7 @@ 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). +Der Status kann im Moment per Hand aus dem [[IRC]] über die Befehle @auf bzw. @zu (alleine am Anfang einer Zeile) oder [[StratumsphereStatusWidget|Android-App]] 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.'''}} @@ -21,8 +21,7 @@ Der Öffnungsstatus wird menschenlesbar auf 5 Minuten genau an folgenden Stellen * hier im Wiki links in der Seitenleiste * an der Tür oben am Space 1.0 auf einem 3.5"-Display * als bookmarkbare Version ohne viel Wiki-Overhead: https://status.stratum0.org/status.html -* als Statistik über die aggregierte Öffnungszeit: http://stratum0.wlnbrg.de/stats/ -http://bastinat0r.de:3000/#stratum0 (<- broken) +* als Statistik über die aggregierte Öffnungszeit: http://spaceapi-stats.n39.eu/#stratum0 (Mehr daten aber nur unser Space http://stratum0.wlnbrg.de/stats/) === 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 @@ -31,7 +30,7 @@ Die hackerspaceübergreifende [http://spaceapi.net SpaceAPI] wird unterstützt. Die entsprechende Endpoint-URL ist https://status.stratum0.org/status.json. === SpaceVoice === -Um die reale Welt in der virtuellen Welt abzubilden, bekommen im Space anwesende Entitäten im [[Chat|IRC-Channel]] das Voice-Flag (+v). Das funktioniert auf Basis von {{Wikipedia|Internet Control Message Protocol|ICMP}}-Pings oder {{Wikipedia|mDNS}}-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 [[Benutzer:Daniel Bohrer|Daniel Bohrer]] melden, der sie dann im System hinzufügt. Die Anwesenheitserkennung per MAC-Adresse basiert auf {{WP|nmap}} und funktioniert allerdings nur mit IPv4 und nur bei manchen Geräten/manchmal/bei Vollmond (oder Kombinationen davon, more investigation needed), und die Erkennung per mDNS hat wegen langer Standard-Timeouts zur Folge, dass Entitäten bis zu einer Stunde nach dem Verlassen des Spaces noch Voice haben. Eine Kombination aus mDNS und Ping ist denkbar, aber ist noch nicht umgesetzt. Es wird dran gearbeitet™. +Um die reale Welt in der virtuellen Welt abzubilden, bekommen im Space anwesende Entitäten im [[Chat|IRC-Channel]] das Voice-Flag (+v). Das funktioniert auf Basis von {{Wikipedia|Internet Control Message Protocol|ICMP}}-Pings oder {{Wikipedia|mDNS}}-Hostnamen, die alle zwei Minuten im LAN detektiert werden. Um erkannt zu werden, müssen Entitäten eine oder mehrere ihrer MAC-Adressen oder mDNS-Hostnamen an [[Benutzer:Daniel Bohrer|Daniel Bohrer]] melden, der sie dann im System hinzufügt. Die Anwesenheitserkennung per MAC-Adresse basiert auf {{WP|nmap}} und funktioniert allerdings nur mit IPv4 (für IPv6 wäre ein Boradcast-Ping möglich) und nur bei manchen Geräten/manchmal/bei Vollmond (oder Kombinationen davon, more investigation needed), und die Erkennung per mDNS hat wegen langer Standard-Timeouts zur Folge gehabt, dass Entitäten bis zu einer Stunde nach dem Verlassen des Spaces noch Voice haben. Eine Kombination aus mDNS und Ping und eigenen Timeouts hat die Situation verbessert. Es wird weiterhin dran gearbeitet™. === Systemdokumentation === @@ -48,14 +47,14 @@ Es gibt mehrere Apps, um den Space-Status anzuzeigen: * indirekt über die SpaceAPI werden auch entsprechende [http://spaceapi.net/app Apps] unterstützt. == Elektronische Türöffnung == -Eine elektronische Türöffnung wird im Artikel [[Spacegate]] geplant. +Eine elektronische Türöffnung wird im Artikel [[StratumKey]] geplant/umgesetzt. == To Do == * [[EVENTDISTR]]-Pakete senden done in [https://github.com/stratum0/StratumOpenCloseMonitor/commit/2cf610db37da4c62963b00520352a489e699de4a 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? +* 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 done +* nmap findet manchmal nicht alle pingbaren MAC-Adressen… Timeout erhöhen? nmap nachbauen für mehr Flexibilität? durch eigene Timeouts und Caches behoben verbessert * Rewrite mit Python Twisted für saubere API auch nach innen, mehr Flexibilität und einfachere Wartbarkeit == Ähnliche Systeme ==