Lichtsteuerung

Lampen, Blinkenlights und weitere Geräte, fernsteuerbar per Automatik, Website und Android-App.

Web
Die Lichtsteuerung findet sich unter dorfmap im Chaosdorfnetz. Das Interface basiert auf React (Oder worauf grade lust hat) und wird von  entwickelt. Für sehr alte Geräte (und ggf. Smartphonebrowser) gibt es ein weniger hübsches Legacy-Interface unter dorfmap/m.

Hardware


Kernstück des Ganzen ist der SI2C-Bus an. Daran hängen die Steuer-AVRs der jeweiligen Geräte und tun (wenn sie mit der richtigen Adresse angesprochen werden) Dinge.

Die Schaltspannung der Schieberegister ist 12V und geht wahlweise direkt zum Kleinverbraucher oder zu einem 230V-Relais.

Software

 * dorfmap
 * dorfmap-deb (Helfer)

Automatik
Die Außenbeleuchtung wird automatisch nach der aktuellen Tageszeit geschaltet. Benutzt wird dazu die Perl-Library Astro::Sunrise, die anhand unserer Koordinaten und dem aktuellen Datum recht akkurate Zeiten für Sonnenauf- und -untergang berechnet. Per cronjob wird alle 6 Minuten überprüft, ob Nacht ist oder nicht, und entsprechend die Beleuchtung geschaltet.

Der Printer/HP2100 und die Windowgarden-Pumpe werden nach einiger Zeit automatisch abgeschaltet.

Manuell
Grundlage ist ein Grundriss des Clubraums. Aus einer Koordinatendatei wird ausgelesen, wo welche Lampe ist, und abhängig von ihrem Status ein entsprechendes Symbol angezeigt. Bei automatisch gesteuerten Lampen wird die Automatik gesteuert, alle anderen können durch einen Klick aufs Symbol getoggelt werden.

Weil die Karte eh schon da ist, wird außerdem der Status von einigen Servern / Embedded Hosts, unseren WLAN-APs und den Druckern angezeigt. Der ist sinnvollerweise auch read-only, die Hosts werden einfach angepingt. Eingeschaltete Hosts sind grün, ausgeschaltete grau oder rot.

Es gibt eine Reihe von Shortcuts, die mehrere Aktionen zusammenfassen. "Shutdown" schaltet z.B. alle Lampen aus und den Raumstatus auf nicht-öffentlich, "Putzen" sorgt für viel Licht, etc.

API
Es existiert eine (noch nicht finale) JSON-API. In einigen Fällen wird auch Textausgabe unterstützt. Für Textformat .txt an Anfragen anhängen (oder curl -H 'Accept: text/plain' benutzen), für JSON entsprechend .json bzw. application/json.

/get liefert derzeit auch PNGs. Sie entsprechen den in der Übersicht verwendeten.

Angeschlossene Geräte
Ziemlich viele, eine detaillierte Liste findet sich unter (und zwei/drei weitere unter ). Alle hier nicht aufgeführten haben keine besonderen Eigenschaften, d.h. sie werden von Hand an-/ausgeschaltet und gehen beim Shutdown aus.

Die Automatik der Außenbeleuchtung lässt sich durch Klick auf die Lampe an / aus schalten, nach maximal sechs Minuten wird die Änderung an der Lampe übernommen. Im Gegensatz zu anderen Aktionen ändert das auch nichts am Dorf-Shutdownstatus. Im Webinterface steht "A" für Automatik, "X" für keine Automatik.

Was weiterhin angezeigt wird:


 * WLAN-APs (readonly, per ping, alle 5 Minuten aktualisiert)
 * Server/Embeddedkisten (readonly, per ping, alle 5 Minuten aktualisiert)

Shutdown-Konzept
Aus Sicht der dorfmap hat der Clubraum drei Modi:


 * shutdown (alles ist aus, öffentlicher Status "Clubraum zu")
 * soft shutdown (Licht ist aus, einzelne Steckdosenleisten können an bleiben, öffentlicher Status "Clubraum zu")
 * Normalbetrieb (Öffentlicher Status public/private abhängig von Chaosdoor)

Per Default (z.B. nach einem Stromausfall) befindet sich das Dorf im Shutdown. Der Shutdown / Nicht-Shutdown Status ist jederzeit an den Lampen am Spendenterminal sichtbar.

Shutdown einschalten

 * Klick auf Actions &gt; Shutdown in dorfmap oder dreisekündiges Drücken des schwarzen Tasters am Spendenterminal
 * Beleuchtung in der Schleuse (Logo und über der Tür) geht nach 1 bis 6 Minuten aus
 * Beleuchtung im Schaufenster leuchtet weiterhin, falls Nacht ist
 * Alle anderen angeschlossenen Geräte und Steckdosenleisten werden sofort ausgeschaltet

Shutdown ausschalten („Unshutdown“)

 * Klick auf Actions > Unshutdown oder irgendeine steuerbare Lampe in dorfmap oder dreisekündiges Drücken des schwarzen Tasters am Spendenterminal
 * Falls eine Lampe angeklickt wurde, wird diese eingeschaltet
 * Die Stromversorgung im Clubraum wird eingeschaltet
 * Beleuchtung in der Schleuse (Logo und über der Tür) geht nach 1 bis 6 Minuten an, falls Nacht ist; alternativ sobald die Sonne untergegangen ist

Shutdown ohne Stromabschaltung („soft shutdown“)

 * Klick auf Actions &gt; soft shutdown in dorfmap oder dreisekündiges Drücken des linken Tasters am Spendenterminal
 * Logo-/Tür-/Schaufenster-Beleuchtung siehe Shutdown
 * Licht geht aus
 * Stromversorgung (Steckdosenleisten im Hackcenter) bleibt an

Strom ausschalten im Shutdown

 * Klick auf Actions &gt; power off</tt> in dorfmap oder dreisekündiges Drücken des linken Tasters am Spendenterminal
 * Strom geht sofort aus
 * Status wechselt von soft shutdown zu shutdown

Strom einschalten im Shutdown

 * Klick auf Layers &gt; power</tt> in dorfmap und Auswahl einer / mehrerer Steckdosenleisten
 * Strom an den ausgewählten Leisten geht an
 * Licht bleibt aus, Raumstates wechselt von shutdown zu soft shutdown