You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
starcalc 0c69e35d9c „.drone.yml“ ändern 1 week ago
public removed unused js files 3 months ago
routes removed old not used routes 3 months ago
views Text auf der Seite angepasst 3 months ago
.dockerignore Dockerfile hinzugefügt, README.md erweitert, listen port auf 0.0.0.0 gestellt 3 months ago
.drone.yml „.drone.yml“ ändern 1 week ago
.gitignore fixed gitignore 3 months ago
Dockerfile Dockerfile hinzugefügt, README.md erweitert, listen port auf 0.0.0.0 gestellt 3 months ago
README.md feat: added environment variables for configuration 2 months ago
flukso.js changed fluxo parsing from regex to simple json usage 3 months ago
ip-poll.js ip-poll von nmap auf ping geändert 3 months ago
package.json renamed statusbot.js to raumstatus.js 3 months ago
raumstatus.js Small change to maybe trigger drone 1 week ago

README.md

ctdo raumstatus

Hier ist die sehr alte und gut abgehangene Software von status.ctdo.de

Entstanden im Oktober 2013 von Lucas als bastelprojekt im mal etwas mit NodeJS zu machen. Damals mit express, und SpaceAPI Support. Es wurde der Switch im Raum gepingt um zu schauen ob der Raum "auf" ist.

Das ganze wurde mit Angular (1) und ExpressJS gebaut. Es werden die Daten live via Websockets zwischen Server und Browser übertragen.

Via nmap Scan im Raum wurde die Anzahl von Geräten ermittelt und angezeigt. Später erfolgte ein Umbau auf SNMP. Es wurde der Router gefragt welche Mac Adressen Online sind, so wurde eine Optionale User-Liste im Status angezeigt mit Leuten die im Treff sind. Gespeichert wurden die MAC-User Zuordnungen in einer Redis Datenbank.

Dann wurde das Energiemeter "flukso" welches im LA Keller die Hauptstromleitung zum Treff misst, auch mit eingebaut.

Tunix kam dazu und stellte schöne Icons und machts kleinere Verbesserungen, Fionera fügte HTML5 Push notifications hinzu.

Danach kleinere Änderungen und Erweiterungen von henne, zeus, smash.

config via environment variablen

PING_INTERVAL_MS default 60000
MQTT_SERVER default 'mqtt://mqtt.ctdo.de
FLUKSO_URL default "/sensor/cf00e0b22230f4a8870af58f2b8719dd
FLUKSO_HOST default"flukso.raum.ctdo.de"
STATUS_POLL_HOST default "snapserv.ctdo.de"

Entrümpelung 2022

Das meiste an Funktionn wurde wiede raus geworfen weil sich die CTDO infrastruktur sehr verändert hat und einiges kaputt war.

Der Status zeigt nur noch Power und Raumstatus an. Es läuft wie gehabt via ICMP Ping.

Dev hinweise

Man braucht dieses repo, nodejs ~16 mit npm.

Dependencies installieren und Server lokal laufen lassen:

npm install
node raumstatus.js

Docker container bauen zum testen:

docker build . -t ctdo/ctdo-raumstatus

Es gibt hier eine .drone.yml Datei die eine Pipeline auf ci.ctdo.de konfiguriert. Jeder Push auf den master branch triggert einen Build Prozess. Dann wird ein neues Docker Image gebaut und auf hub.docker.com gepushed.

ToDos

  • Automatisch Version aus package.json nehmen beim Docker bauen und taggen
  • Hosts einstellbar machen via ENV (welcher host zum Pingen ist, flukso adresse+url)
  • Ping Intervall einstellbar machen via ENV