Infrastruktur

Door

Projekte Türstatus, Grafana-Dashboard und spaceapi.json

Netzwerk
IPv4172.23.195.36
IPv62a01:367:ff1f:100::36
Hostnamedoor
Stromverbrauch
max5W
normal~2W

Türstatus

Hinten im Gruppenraum befindet sich auf dem rechten Lautsprecher, gut versteckt hinter der UFO-Glasfaserlampe, ein Stück Holz mit einem überdimensionierten Schalter und einem Raspberry Pi. Dieser setzt den Türstatus automatisch über einen kleineren, unscheinbaren Schalter im Schloss der Tür. Beim Auf- oder Absperren wird somit der Status, welcher beispielsweise oben rechts auf der Webseite zu sehen ist, aktualisiert. Ferner auch über folgende Wege:

Die Aktualisierung des Türstatus und der spaceapi.json nimmt ein Python-Skript vor, das bei Betätigung des Schalters den Status aktualisiert.

Dank der Kompatibilität zur SpaceAPI lassen sich der Status der Tür sowie allgemeine Informationen zum [hsmr] auch mit diversen Anwendungen für die SpaceAPI abfragen.

Details

System

Der Raspberry Pi läuft mit RaspiOS. In /root/.ssh/ liegen die SSH-Schlüssel um dieses Wiki von wega.reis.asia lokal via sshfs zu mounten.

Details und eine automatische Bauanleitung finden sich im Repo, speziell im Pifile.

spaceapi-Skript

Wegen /etc/systemd/system/spaceapi.service wird beim Systemstart /usr/bin/spaceapi --file /mnt/wega/spaceapi.json --wiki /mnt/wega/wiki.d/Site.SiteNav aufgerufen. Zum Neustarten nach Crash hilft systemctl restart spaceapi. Hardware debugging per gpio readall.

Das Script erfüllt zwei Dinge:

  • Status des Schalters über Interrupt erfassen (und beim Start des Programms) und den Status als JSON in Topic "door" des MQTT Brokers auf b2s.hsmr.cc schreiben
  • Subscribed auf das Topic "door" in o.g. MQTT Broker und ändert bei Updates entsprechend spaceapi und Webseite

remote update script

Da der Türstatus über einen MQTT-Broker läuft, kann man auch von außerhalb der Räumlichkeiten den Status ändern (bspw. weil man vergessen hat den Schalter bei verlassen umzulegen). Dafür gibt es folgendes Script (einloggen um Link zu sehen):

Dieses Script basiert auf Python 3 und paho-mqtt, was mittels pip install paho-mqtt nachinstalliert werden kann.

drehtuer, MQTT-{InfluxDB,Prometheus}-Bridge

Der drehtuer.service sorgt dafür, dass bei jeder MQTT-Nachricht der door der enstprechende Zustand in eine InfluxDB geschrieben wird. Grafisch lässt sich dies z.B. im Grafana betrachten.

Weiter werden die Daten mittels Prometheus Exporter zur Verfügung gestellt, siehe http://b2s.hsmr.cc:9876/metrics.

> {__name__=~"drehtuer_.*", instance="b2s.hsmr.cc:9876"}
< drehtuer_door_flti{instance="b2s.hsmr.cc:9876", job="drehtuer"}	0
< drehtuer_door_open{instance="b2s.hsmr.cc:9876", job="drehtuer"}	1
< drehtuer_last_update_unix{instance="b2s.hsmr.cc:9876", job="drehtuer"}	1667679845

Der Code befindet sich auf GitHub.

Montag, 2022-12-12

  • Jahr des OpenBSDs auf dem Pi abgesagt, dafür via pimod automatisiert.

Montag, 2022-11-07

  • Debian Dist-Upgrade ging kaputt.
  • OpenBSD-Installation betritt die Bühne.

Samstag, 2022-11-05

Donnerstag, 2021-11-18

  • Passgenaue(re) Version der Schalterfixierung ist in der Tür verbaut. Das momentan beste Provisorium seiner Art.

Mittwoch, 2021-11-17

  • Funktionalität vom großen roten Switch zu einem kleinen Switch in der Tür verlagert.
  • Dieser Switch ist aktuell provisorisch in die Tür geklebt, jedoch ist ein passgenaues Stück bereits in Arbeit.
  • Der rote Schalter ist gerade funktionslos.

Sonntag, 2021-09-19

  • Sowohl Wikiseite wie auch Debian aktualisiert

Montag, 2020-03-02

  • MQTT an InfluxDB angebunden

Sonntag, 2019-11-03

  • Türstatus läuft jetzt über MQTT über b2s.
  • Für den aktuellen Zustand und live-updates: Subscribe topic "door" auf b2s.hsmr.cc

Dienstag, 2019-01-01

  • Neuen Türstatus mit neuem Pi gebaut.
  • Der ehemalige FLTI*-Schalter wird nun für den Öffnungsstatus genutzt: 0 heißt geschlossen, I heißt auf.

Sonntag, 2018-11-25

  • /home/wiki/webs/hsmr_cc/docs/wiki.d/Site.SiteNav von Hand auf unbesetzt gesetzt. Hardware abgebaut?
  • Sehr händisch auf Umzug gesetzt, da abgebaut.

Freitag, 2016-02-26

  • Von angebrochenem Schalter noch mehr abgebrochen damit er nicht mehr klemmt.

Donnerstag, 2016-02-18

  • Kabelbruch, also alles umgebaut. Schalter kontaktiert jetzt wenn Tür abgeschlossen ist.

Donnerstag, 2016-01-21

  • Nächsten FLTI*-Termin berechnen und mit ausgeben.

In der grauen Vorzeit

Im alten Space sah die Verkabelung mal so aus und war direkt mit dem Türschloss verbunden.