Um Alexa abzulösen, habe ich mir den aktuellen Stand des Sprachassistenten von Home Assistant angesehen und war angenehm überrascht. Einzig die monatlichen 7,50 Euro für die Home Assistant-Cloud kommt mir für meine eher überschaubare Nutzung zu viel vor. Außerdem muss noch ein Abo nicht sein. Eine alternative bietet hier OpenAi, dass ich pro Anfrage bezahlen kann.
ATOM Echo Smart Speaker
Als erstes braucht es einen Smart-Speaker. Und weil es was günstiges sein soll, habe ich es mit dem
ATOM Echo ESP32 Smart Speaker versucht, den man einfach mit einem Home Assistant-Image flashen und direkt verwenden kann. Damit lässt sich so ziemlich alles zu steuern, was man in Home Assistant integrieren kann. Außerdem ist der ATOM Echo schön klein und kann gut versteckt werden. Außerdem könnte man ihn auch mit einer Powerbank betreiben, falls man zwar einen passenden Ort aber keine Steckdose in der Nähe hat.
Wyomingto to Openai-Proxy
Wenn man bei Einrichtung des Sprachassistenten auf die Home Assistant-Cloud verzichten möchte, kann man auch eine Anbindung an OpenAi oder eine Vielzahl anderer (auch lokal laufender) Möglichkeiten einrichten. Die Anbindung erfolgt per Wyoming Protocol. Ich habe mich für OpenAi entschieden, weil die lokalen Möglichkeiten bei mir keine ausreichend gutes Texttranskript für den Sprachassistenten hinbekommen haben. Der Proxy lässt sich einfach als Docker-Image starten.
services:
wyoming-openai:
image: ghcr.io/roryeckel/wyoming_openai:latest
environment:
STT_OPENAI_KEY: "dein_openai_key"
STT_OPENAI_URL: "https://api.openai.com/v1/audio/transcriptions"
STT_MODELS: "gpt-4o-mini-transcribe"
TTS_OPENAI_KEY: "dein_openai_key"
TTS_OPENAI_URL: "https://api.openai.com/v1/audio/speech"
TTS_MODELS: "gpt-4o-mini-tts"
TTS_VOICES: "alloy"
ports:
- "10300:10300"
In Home Assistant nun unter Geräte das Wyoming Protocol einrichten und die Docker-Host mit Port 10300 eintragen. Nun kann man im Sprachassistenten die beiden Einstellung Text-to-Speech und Speech-to-Text mit dem über Wyoming Protocol bereitgestellten Dienste konfigurieren.
Aktivlautsprecher anschließen
Der kleine ATOM Echo ist mit dem kleinen Speaker leider sehr leise. Mit einem PCM5102A DAC Decoder Board lassen sich aber auch Aktivlautsprecher per Klinke anschließen.
| Pin (Modul) | Beschreibung | Verbindung am Atom Echo |
|---|---|---|
| vin | 5V Stromversorgung | 5V |
| gnd | Masse (Ground) | G |
| lrck | Left/Right Clock | G33 (lrck) |
| din | Data In | G22 (data out) |
| bck | Bit Clock | G19 (bclk) |
Links
$13 voice assistant for Home Assistant
Aliexpress M5Stack Offizielles ATOM Echo ESP32 Smart Speaker
Wyoming-Protokoll für OpenAi (Proxy)
PCM5102A DAC Decoder Board bei Aliexpress
Um etwas mehr Schwung ins Homelab zu bekommen, habe ich mich nach knapp zwei Jahren für eine modernere Lösung entschieden und meinen HP T630 vorerst in den Vorruhestand geschickt. Gerade kostengünstig war die NucBox G3 Plus von GMKtec erhältlich.
Der erste Eindruck ist recht gut. Den Lüfter hört man nicht und die Kiste fühlt sich deutlich flotter an, als der HP T630. Einzig die Sache mit dem Powermanagement scheint mal wieder so ein Windows-Ding zu sein. Mit Ubuntu 24.04 kommt man auch mit im Bios aktivierten C-States und Low-Powerprofile nicht unter 12 Watt im Idle-Modus. Auch Powertop reißt da nichts raus. Da scheint man also wenig machen zu können.
Hardware-Spezifikationen
| Eigenschaft | Beschreibung |
|---|---|
| Geräteabmessungen | 114mm x 106mm x 42,5mm |
| CPU | Intel® Twin Lake N150, Quad-Core, 4 Threads, max. Turbo-Frequenz 3,6 GHz; 6 MB Cache; TDP 6W |
| GPU | GPU Name: Intel UHD Graphics 24 EUs (Alder Lake) |
| Speicher-Slot 1 | M.2 2280 NVMe (PCIe3.0) max. 2TB |
| Speicher-Slot 2 | M.2 2242 SATA max. 2TB |
| RAM | DDR4 3200 MT/s, SO-DIMM*1, Maximale Unterstützung bis zu 32GB |
| Grafikausgang | Dual-Display-Ausgang, 2*HDMI 2.0 (4K@60Hz), unterstützt bis zu 4096x2160 Auflösung |
| Anschlüsse | USB 3.2 (Gen1) 4, HDMI 2, 4096x2160@60Hz, 3,5mm Kopfhöreranschluss, Giga LAN (RJ45)1, 2500M/1000M/100M/10M |
| Wireless Network | WiFi 6, Realtek 8852BE 802.11a/b/g/n/ac/ax, Übertragungsgeschwindigkeit 1201Mbps, unterstützt bis zu 12 Geräte. BT 5.2 |
| Stromversorgung | Batterie: Eingebaute Knopfzellenbatterie. Netzteil: DC IN (5,5/2,5mm), 100-240V AC, 50/60Hz, Ausgang: 12V/3A |
| Betriebsumgebung | -10°C bis 45°C, 30% bis 90% Luftfeuchtigkeit |
Hardware Codec-Unterstützung
| Codec | Dekodieren | Enkodieren |
|---|---|---|
| h265 / HEVC (8 bit) | X | X |
| h265 / HEVC (10 bit) | X | X |
| h264 | X | X |
| VP8 | X | X |
| VP9 | X | X |
| AV1 | X | |
| AVC | X | X |
| VC-1 | X | |
| JPEG | X | X |
Boot-Keys
Boot-Menu und Bios-Setup bekommt man angezeigt, wenn man nach dem Einschalten die Escape-Taste drückt. Mit F7 kommt man direkt ins Boot-Menü.
Grafik-Treiber Ubuntu 24.04
Es gibt einige Berichte über einen fehlenden Intel Alder Lake-N Grafiktreiber im 6.8er Kernel, der von Ubuntu 24.04 LTS verwendet wird. Dem kann man mit einem aktuellen Kernel begegnen, der sich auch recht einfach mit dem Tool Mainline installieren lässt.
M.2 2280 SATA
Leider kann man nur eine Sata-SSD im 2242-Format verbauen. Allerdings gibt es für teure 20 Euro einen Extender der die SSD nach draußen verlegt. Damit lässt sich dann doch eine 2280er Sata-SSD betreiben.
Riser Extender M.2 NGFF B Key für M.2 SSDs vom SATA-Typ. Variable Länge
Mods aus dem 3D-Drucker
Der G3 Plus und der G3 haben das gleiche Gehäuse. Das ist praktisch, weil man dann diese Abdeckung benutzen kann, um zwei Sata-Ausgänge nach außen zu führen.
GMKtec G3 SFF SATA Lid
Produktbilder



Quelle: Produktfoto GmkTec
Links
Intel® Prozessor N150 6 MB Cache, bis zu 3,60 GHz
GMKtec NucBox G3 Plus – Mini-PC mit verbesserter Leistung und Intel Twin Lake N150
GMKtec Guides / How-to Tutorial
Eine Subdomain zum Homelab / Homeserver einrichten
Wenn man seine Domain bei Cloudflare verwalten lässt, bekommt man im kostenlosen Plan die Möglichkeit Dynamic DNS zu nutzen gleich mit, sodass man seine Domain oder Subdomain immer auf den Homeserver zeigen lassen kann. In meinem Fall will ich eigentlich nur einen VPN-Tunnel in mein Homelab aufbauen und benötige dafür eine dauerhafte Adresse.
Subdomain anlegen
Wenn man nur eine Subdomain anstelle der Hauptdomain für das Homelab verwenden will, legt man diese am besten erst mal im Cloudflare-Dashboard an. Dafür klickt man auf "Add record" und wählt für IPv4 den Typ A oder für IPv6 den Typ AAAA aus. Anschließend unter Name den Namen der Subdomain eintragen und auf Speichern klicken.

Lässt man den Schalter "Proxy" eingeschaltet, bleibt die eigentliche IP trotz Weiterleitung des Traffic an den Homeserver geheim. Mehr dazu siehe link. Will man allerdings einen VPN-Tunnel aufbauen, muss man leider auf den Proxy verzichten.
API-Key erzeugen
Als nächstes benötigen wir einen API-Key, mit dem sich der PfSense-DynDns-Client bei Cloudflare anmelden kann. Sinnvollerweise sollte der Key nur die notwendigen Rechte haben, um DNS-Einträge einer bestimmten Domain zu ändern. Dafür klickt man unter User API Tokens auf "Create token" und wählt dort "Create Custom Token" aus.
Anschließend erstellt man unter "Permissions" zwei neue Zonen-Einträge. Einmal mit "Zone" und "Read" und einmal "DNS" und "Edit". Unter "Zone Resources" fügt man noch einen Eintrag mit "Specific zone" hinzu und wählt die zu verwendende Domain aus.
Damit kann der Client mit dem API-Key, der nach dem Speichern angezeigt wird, ausschließlich Änderungen an der ausgewählte Domain vornehmen.

PfSense Dynamic DNS
Um die frisch angelegte Subdomain automatisch zu aktualisieren, ruft man das PfSense-Dashboard auf und klickt im Menü "Services" auf "Dynamic DNS". Hier kann man nun einen Eintrag hinzufügen. Unter "Service Type" wählt man nun "Cloudflare" aus, wählt das passende WAN-Interface aus und trägt den API-Key als Passwort ein. Unter Hostname muss der Subdomain-Name und unter Domain die Hauptdomain eingetragen werden.
Hat man den Cloudflare-Proxy eingeschaltet, sollte man unbedingt auch die Checkbox "Cloudflare Proxy" aktivieren, weil sonst der Proxy nach dem ersten IP-Update deaktiviert ist und die eigene IP sichtbar wird.
Am Ende "Save and Force Update" anklicken und man hat einen neuen Eintrag, der auch gleich ein grünes Häkchen bekommt, wenn man alles richtig gemacht hat.
- Ideal as ZigBee coordinator/router
- .. as an OpenThread border router
- .. Matter compatible!!
- Low power capable for building battery powered devices
- Plug & Play, comes pre-flashed
- Deadly easy programming, thanks to the automatic-bootloader thing! ;)
- Made with here in Cologne