SmartLab: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
Zeile 175: Zeile 175:
 
Das Audio Setup (Verstaerker etc) im Hauptraum sind etwas kompliziert zum Aufdrehen und Abdrehen. Das alte System mit einem Master Power Switch war nett, aber der Inrush Current hat haeufig zum Ausloesen der Sicherung gefuehrt, und das Abschalten hat zu einem lauten Knall in den Lautsprechern gefuehrt (angeblich kein Problem fuer die Hardware, ist allerdings ein Problem fuer die Wetware).
 
Das Audio Setup (Verstaerker etc) im Hauptraum sind etwas kompliziert zum Aufdrehen und Abdrehen. Das alte System mit einem Master Power Switch war nett, aber der Inrush Current hat haeufig zum Ausloesen der Sicherung gefuehrt, und das Abschalten hat zu einem lauten Knall in den Lautsprechern gefuehrt (angeblich kein Problem fuer die Hardware, ist allerdings ein Problem fuer die Wetware).
  
Deswegen wird das jetzt ueber die Home Automation geregelt ein- und ausgeschalten. Dazu hat [[User:anlumo|anlumo]] [https://www.yumpu.com/en/document/read/6266267/epowerswitch-s8-leunig-gmbh einen ePowerSwitch 8M und einen 8S] gekauft, das sind rackmountable Stromschalter (Mikrocontroller, die Relais ansteuern), mit denen man 8 Leitungen separat ansteuern kann. Das ganze funktioniert ueber Ethernet oder RS232, [[User:anlumo|anlumo]] hat dafuer eine Home Assistant-Integration (ein custom_component in Python) geschrieben, die an sich beide Kanaele kann. Der 8M hat beide Schnittstellen, der 8S hat nur RS232 (mit einem unpraktischen 4P4C-Stecker). Ueber wird das Timing dann im Home Assistant als zwei Automations programmiert und dadurch wird das ganze wieder auf ein einfaches ein/aus reduziert fuer die Benutzer:innen.
+
Deswegen wird das jetzt ueber die Home Automation geregelt ein- und ausgeschalten. Dazu hat [[User:anlumo|anlumo]] [https://www.yumpu.com/en/document/read/6266267/epowerswitch-s8-leunig-gmbh einen ePowerSwitch 8M und einen 8S] gekauft, das sind rackmountable Stromschalter (Mikrocontroller, die Relais ansteuern), mit denen man 8 Leitungen separat ansteuern kann. Das ganze funktioniert ueber Ethernet oder RS232, [[User:anlumo|anlumo]] hat dafuer eine Home Assistant-Integration (ein custom_component in Python) geschrieben, die an sich beide Kanaele kann. Der 8M hat beide Schnittstellen, der 8S hat nur RS232 (mit einem unpraktischen 4P4C-Stecker). Ueber das wurde das Timing dann im Home Assistant als zwei Automations programmiert und dadurch wird das ganze wieder auf ein einfaches ein/aus reduziert fuer die Benutzer:innen.
  
 
Steckerbelegung:
 
Steckerbelegung:

Version vom 11. Juni 2022, 22:15 Uhr


SmartLab
Metalab-smartlab.png
Gestartet: 01.05.2019
Involvierte: User:Uberhaxlor, User:hmw, User:m68k, User:cube, User:luto, User:anlumo and others
Status: in progress
Beschreibung: On premises Smarthome stuff for the Metalab
Shutdownprozedur:
Zuletzt aktualisiert: 2022-06-11


  • Home Assistant
  • MQTT
  • MetaPanel (broken!)
  • Devices
    • Sonoff Tasmota
  • Integrations

SmartLab-Hardware

Das Setup laeuft momentan auf einem Up Squared mit 8GB RAM und 64GB eMMC. IP-Adresse ist statisch definiert als 10.20.30.97 (zusaetzlich zu DHCP).

Softwarestack

Alles laeuft als Docker-Container:

  • Portainer als Docker-Web-UI
  • nginx als reverse proxy fuer Home Assistant und Zigbee2MQTT
  • Keycloak fuer User Auth (momentan nur fuer Portainer in Verwendung)
  • PostgreSQL fuer Home Assistant fuer die History und fuer Keycloak
  • Mosquitto als MQTT Broker
  • Zigbee2MQTT fuer unser Zigbee-Gateway
  • Visual Studio Code for Web fuer das Editieren der Config-Files (nginx, home assistant und Zigbee2MQTT)

Es gibt noch Moeglichkeiten, andere Services auf dem Geraet laufen zu lassen. Dafuer einfach mit anlumo reden.

Home Assistant

User-Account: metalab/metalab

http://smart.metalab.at/ Home Assistant Dashboard

(Achtung: Wenn man sich einloggt mit der App, exponiert diese Daten wie Akkustand und SIM-Kartenzustand des Handies an den Home Assistant, zumindest wenn man den Admin-Account dazu verwendet.)

Metapanel

Ist ein Webinterface auf einem Raspberry Pi, von Harald entwickelt.

Die Integration mit Home Assistant funktioniert ueber ein Login Token, das auf der SD-Karte abgelegt ist (/data/srv/hass/homeassistant.token).

Momentan funktioniert der Shutdown-Button im Webinterface nicht, der Grund ist unbekannt.

Momentan wird einfach das Home Assistant-Webinterface darauf angezeigt. Funktioniert gut mit Touchscreen.

Zigbee Adapter

Zigbee LAN coordinator CC2652P SMLIGHT SLZB-05 (10.20.30.110) um ZigBee auf TCP/IP umzusetzen. Wir nur von der Zigbee2MQTT-Software angesprochen. Auf Port 80 läuft ein spartantisches Web-Interface. Alles weitere passiert im Home Assistant bzw. im Zigbee2MQTT Webinterface.

Sonoff

Blinkenbridge Github Repo (ist bereits in Produktion)

Github Repo

List of all sonoff modules currently in use

Power Meters

Wir haben im Metalab zwei Wattmeter eingebaut, Type Orno OR-WE-517. Diese besitzen eine RS485-Schnittstelle, ueber die man via modbus-Protokoll alle Daten abfragen kann.

Home Assistant hat eine modbus-Integration, d.h. theoretisch muss man nur einen RS485-Adapter an den Pi anhaengen und das konfigurieren (Thread dazu). anlumo sieht sich das noch genauer an.

Network Traffic

Theoretisch ist es moeglich, den aktuell verwendete Netzwerkbandbreite in den Home Assistant als Sensor zu integrieren. Datacop wurde dazu ueberredet, sich das mal anzusehen.

Sensoren

Zigbee ermoeglicht es sehr leicht, sinnlos viele Sensoren im Lab zu verteilen und in den Home Assistant zu integrieren. Die meisten brauchen nur eine Knopfzelle, da Zigbee sehr energieeffizient arbeitet.

anlumo hat schon damit angefangen, und ein paar Dinge auf AliExpress bestellt. Dazu gehoeren Xiaomi Aqara Wireless Mini Switches um EUR11.60/Stueck, um Dinge zu aktivieren.

Es gibt auch noch Bewegungsmelder und Fenster/Tueroeffnungstatus-Sensoren, die vielleicht auch interessant sein koennten. Weiters gibt es Schalter mit etwas mehr als nur ein/aus, die vielleicht ueberlegenswert waeren.

anlumo hat drei SONOFF SNZB-02 ZigBee Temperature And Humidity Sensoren im Metalab installiert, einen in der Bibliothek (neben dem Serverrack an der Wand), einen im WEL (neben dem Fenster bei den 3D-Druckern) und einen in der HM (am Sicherungskasten). Sie sind im Lovelace (Dashboard) von Home Assistant angelegt.

Cleanup Alert

anlumo hat die Inselloesungen fuer den Cleanup Alert jetzt auf den Home Assistant zentralisiert. Es gibt eine Automation namens "Cleanup", die als Trigger die Uhrzeit 20:00 jeden Tag angegeben hat. Diese fuehrt zuerst die Szene "Cleanup" aus, welche alle Alarme auf on stellt. Dann wartet sie 5 Minuten und dann fuehrt sie die Szene "Cleanup over" aus, welche alle Alarme auf off stellt.

Die Alarme sind in einer Gruppe namens mp_grp_alarm zusammengefasst, d.h. wenn man weitere hinzufuegen will, muessen die nur beim entsprechenden Eintrag in groups.yaml eingetragen werden.

Sonoff/ESP-Integration

Die neueste Version von Tasmota, der ESP-Firmware fuer smart home, hat eine Integration mit Home Assistant. Damit wird die Sache viel einfacher einzustellen. Daher bitte die neueste Version verwenden, und nicht mehr lokal an der MQTT-Config herumspielen (ausser Server-IP und Login), sondern stattdessen einfach in den Home Assistant mappen (sollte automatisch erkannt werden) und dort konfigurieren.

Wichtig: Bei der Geraettype nicht Generic (0), sondern Generic (18) (ganz unten!) verwenden. Generic (0) ist ein Template fuer neue Geraettypen und sollte nicht direkt verwendet werden. Weiters nicht vergessen, den Geraetenamen in "Configure Other" umzustellen.

Der Anti-Shutdown-Button ist auf diese Art schon bearbeitet worden und aktiviert jetzt einfach eine Szene im Home Assistant, die alles gewuenschte aufdreht.

Bereits aktualisierte Sonoffs und ESPs:

  • Anti-Shutdown-Button
  • Shutdownbutton
  • Hauptraumeins
  • Hauptraumzwei umbenannt in Printerpower
  • Werbelicht (der ist ein neuer Sonoff S26)
  • Kassomat
  • Metanudel
  • Oeffimonitor (neuer Sonoff S26, schaltet nur den Bildschirm)
  • Hauptraumalarm
  • Bibliotheksalarm
  • Welalarm
  • Loungepony
  • Metafridge
  • Metadate

TODO:

  • Cellaralarm
  • WEL Power (unbekannt, was das ist)
  • WEL Benchlights Left (out of order?)
  • WEL Benchlights Right
  • Loungelights (gibts das noch?)
  • Lounge Square Lamp (gibts das noch?)
  • MQTTStrip (custom firmware!)
  • Blinkeninvaders (gibts das noch?)
  • Stage Light 5 (Left)
  • Stage Light 8 (Right)

Sensoren

Tasmota unterstuetzt DS18x20-Temperatursensoren. anlumo hat ein Sackerl davon herumliegen. Das bedeutet, wenn wir irgendwo die Raumtemperatur messen wollen, koennen wir einfach einen ESP hinwerfen mit einem solchen Sensor drauf. Dies ist mit dem Anti-Shutdown-Button bereits passiert, der ja sowieso schon im Vorraum liegt und noch ein paar GPIOs frei hat.

Audio Setup

Das Audio Setup (Verstaerker etc) im Hauptraum sind etwas kompliziert zum Aufdrehen und Abdrehen. Das alte System mit einem Master Power Switch war nett, aber der Inrush Current hat haeufig zum Ausloesen der Sicherung gefuehrt, und das Abschalten hat zu einem lauten Knall in den Lautsprechern gefuehrt (angeblich kein Problem fuer die Hardware, ist allerdings ein Problem fuer die Wetware).

Deswegen wird das jetzt ueber die Home Automation geregelt ein- und ausgeschalten. Dazu hat anlumo einen ePowerSwitch 8M und einen 8S gekauft, das sind rackmountable Stromschalter (Mikrocontroller, die Relais ansteuern), mit denen man 8 Leitungen separat ansteuern kann. Das ganze funktioniert ueber Ethernet oder RS232, anlumo hat dafuer eine Home Assistant-Integration (ein custom_component in Python) geschrieben, die an sich beide Kanaele kann. Der 8M hat beide Schnittstellen, der 8S hat nur RS232 (mit einem unpraktischen 4P4C-Stecker). Ueber das wurde das Timing dann im Home Assistant als zwei Automations programmiert und dadurch wird das ganze wieder auf ein einfaches ein/aus reduziert fuer die Benutzer:innen.

Steckerbelegung:

  1. Kleiner Amp
  2. Mixer
  3. Frequenzweiche
  4. 800W-Verstaerker
  5. leer
  6. leer
  7. leer
  8. 1200W-Verstaerker

Wichtig ist noch, dass fuer 1-4 bzw. 5-8 jeweils 10A maximal moeglich sind (weil die jeweils mit einem C14-Stecker versorgt werden, die Relais innen koennten 16A). Damit ist der 1200W-Verstaerker schon eher an der Grenze, und ist deswegen alleine auf einem Block.

Aktueller Stand

Home Assistant-Integration funktioniert, aber nachdem die Geraete nur mit C14-Buchsen (male und female) ausgestattet ist, muessen ein paar Adapterkabeln angeschafft werden. Die AliExpress-Bestellungen sind unterwegs.

Weiters waere RS232 vermutlich wesentlich besser als das ganze ueber Ethernet zu machen, weil die Ansteuerung via HTTP ist ein ziemlicher Hack (im Endeffekt wurde das Webinterface reverse engineert). Nachdem der Home Assistant-Computer direkt drueber im Rack steht, reicht ein einfaches Kabel. anlumo verhandelt momentan mit einer chinesischen Firma, ob sie ihm nicht das 4P4C-zu-USB-Kabel einfach fixfertig herstellen koennten (es gibt zwar gleichartige Kabel fuer ein paar Hobbyteleskope, allerdings verwenden die ein anderes Pinout am 4P4C-Stecker).

Lichtklingel

Dieser Sensor hat eine eigene Wiki-Seite. Ist im Home Assistant ganz normal integriert, verwendet allerdings nicht Tasmota, weil die Erkennung der Klingel etwas komplexer ist (weil AC-Signal). Stattdessen wird eine Arduino-Library fuer den Home Assistant verwendet, die ihn automatisch via MQTT als Sensor anmeldet.

Raspberry Pi-Touchscreens

Abrechnung

Im 2022-03-09_Jour_Fixe wurde ein Budget von EUR500 fuer SmartLab allokiert. Hier sind die Rechnungen, die bisher ausbezahlt wurden:

Anzahl + Name Preis
4x Xiaomi Mini Switches €46,37
3x Sonoff Temperatur/Luftfeuchtigkeitssensoren €27,73
3x RS485-Adapter für Power Meter €3,36
2x Sonoff Dual R3 €24,50
3x Tuya Temperatur/Luftfeuchtigkeitssensoren (wide range) €27,88
4x Sonoff S26 €38,22

Bisher gesamt: EUR168.06