Dokumente
Technische Beschreibungen, Spezifikationen und Notizen für Entwickler und Systemadministratoren.
Für Nutzer
- Benutzerhandbuch — Installation der App, Aufspielen des Programms auf den Controller, Kopplung, Gastschlüssel, Automatik und Sicherheit.
- Controller-Konfigurator — die Wahl, wie Telefon und Controller miteinander sprechen.
- BLE-Controller — nimmt Befehle über Bluetooth ohne Internet entgegen, läuft mit Batterien und löst nur aus, wenn das Telefon in der Nähe ist (ESP32 / S3 / C3 / C6).
- Internet-Controller — immer online, öffnet das Objekt von überall (ESP32 / ESP8266 — Shelly Plus 1, NodeMCU, Wemos D1; Raspberry Pi Zero W / 3 / 4 / 5, Python und GPIO).
- Integrationen ohne Austausch des Programms — Tasmota, ESPHome, Home Assistant und Shelly binden sich über einen Entrixy-Webhook an.
Architektur und Protokolle
- Architektur v2 — das Gesamtschema Client–Server–Controller, Datenflüsse und Nachrichtenformate.
- E2EE-Architektur — Ende-zu-Ende-Verschlüsselung: was wo verschlüsselt wird (AES-256-GCM auf dem Gerät).
- BLE — Bedrohungsmodell — was ein Angreifer, der den Funk mithört, kann und was nicht (ECDH X25519 mit HMAC-SHA256).
- BLE — Zeitsynchronisation — wie der Controller die aktuelle Zeit erfährt, um das Gültigkeitsfenster von Gastschlüsseln zu prüfen.
Quelltexte der Firmware und Skripte
- /esp32-example/ — das BLE-Programm (NimBLE, Tiefschlaf). Die Vorlage für den Konfigurator
/esp/ble/. - /esp32-ws-example/ — das WLAN-Programm für den ESP32 (WSS-Client und Relais). Die Vorlage für den Konfigurator
/esp/socket/im ESP32-Modus. - /integrations/esp8266/ — das WLAN-Programm für den ESP8266. Die Vorlage für den Konfigurator
/esp/socket/im ESP8266-Modus. - /integrations/raspberry-pi/ — das WLAN-Skript in Python für den Raspberry Pi. Die Vorlage für den Konfigurator
/esp/socket/im Pi-Modus. - /integrations/nodejs/ — ein WLAN-Client in Node.js für Server ohne Bildschirm und OpenWRT-Router. Der Konfigurator baut ihn noch nicht, das Protokoll ist aber kompatibel.
Design und Oberfläche
- Gestaltungsrichtlinien — Farbpalette, Typografie und Komponenten der App.
Betrieb des Servers
- Kapazität — eine Lastabschätzung bis 100 000 Nutzer und die Engpässe.
- Skalierungsplan für 100k — Phasen A/B/C/D: was zu tun ist und in welcher Reihenfolge.
- Serverlast — woher sie kommt — wofür der Server Ressourcen verbraucht und was sich dagegen tun lässt.
- Dashboard zur Serverlast — Diagramme der WebSocket-Verbindungen, der CPU und des Speichers über 24 Stunden.
Tests
- Testplan — 191 Szenarien, davon 37 kritisch für den Produktivserver. Abgedeckt sind BLE-Kopplung, WebSocket-Präsenz, Gastschlüssel, Geo-/WLAN-/Zeitbedingungen, Webhooks (Telefon und Server), Wiederherstellung nach Neustart und Lokalisierung.