Spacestatus

From RevSpace
Revision as of 20:41, 13 December 2013 by Juerd (talk | contribs)
Jump to navigation Jump to search

De spacestatusschakelaar is een gehackte oude krachtstroomschakelaar.

Hoe?

De schakelaar schakelt de volgende dingen:

  • Een 5V-NC-relais (VCC en GND, beide afgetapt van spaceloop-bus) dat in serie staat met de lichtschakelaar. Space open = circuit open = relays dicht = licht kan aan.
  • De deuropener-functie van knopje X. Space open = circuit dicht = X kan de deur openen.
  • Een spaceloop-sensor. Deze wordt genegeerd voor de spaceloop-status, en heeft dus geen invloed op rood/groen van de spaceloop. Space open = circuit open = spaceloopsensor ontbreekt op de bus.
    • De Spaceloop-controller stuurt serieel over een van zijn kabels de tekst "RevSpace open" of "RevSpace dicht".
      • Op de server "gateway" wordt deze tekst ontvangen door het programma "slmonitor"
        • slmonitor zet de tekst in ~bar/saysomething/freenode_revspace
          • De irssi van de bar pikt dit op, en meldt de status op IRC
        • slmonitor draait alle scriptjes in "revspace_open.d" of "revspace_dicht.d".
          • Een scriptje dat via een externe .php (gehost en onderhouden door gmc) de spacestatus twittert
          • Een scriptje dat op de server "nor", dat http://nor/status.php (JSON) bijwerkt; zie ook SpaceAPI.
          • Iets dat de Squeezebox Server vertelt dat de muziek moet stoppen
          • Ledbanner gaat aan of uit: "ssh power@ledbanner on" of "ssh power@ledbanner off"
          • Een scriptje dat json data genereerd voor SpaceAPI en deze naar de website uploadt, zodat het op http://revspace.nl/status/status.php terecht komt. Werkt ook over https.
          • Een scriptje dat /tmp/space-is-open aanmaakt of verwijdert; deze wordt weer gebruikt door:
            • IRC-commando's !open en !dicht van "bar".
            • (buiten gebruik) De cronjob "stroom" die via een schakelbare stekkerdoos dingen uitzet als de space dicht gaat, om energie te besparen, en als de space opengaat, weer aan:

En dat allemaal met één schakelaar! :-)