ESP32-A1S MQTT Audio-Message Player für Homey Pro

Nach längerer Suche nach einem kostengünstigen Player für Text-to-Speech (TTS) und Soundausgabe habe ich mich intensiver mit dem ESP32 beschäftigt.
Daraus ist ein eigenes Projekt entstanden: Ein flexibler Audio-Player, der MP3 und TTS unterstützt und sich vollständig über Homey Pro per MQTT steuern lässt. Zusätzlich bietet das System Funktionen wie FTP-Upload und eine interne Message Queue, um Audioereignisse zuverlässig und in der richtigen Reihenfolge abzuspielen.

:fire: Hauptfunktionen

:speaker_high_volume: 1. TTS (Text-to-Speech)

  • Texte werden per Google TTS in Audiodateien umgewandelt

  • Sofortige Wiedergabe

  • Ideal für Hausautomation (z. B. „Waschmaschine fertig", „Bewegung erkannt")

:repeat_button: 2. TTM (Text-to-Memory) – mit Cache

  • Wie TTS – aber die erzeugten MP3-Dateien werden gespeichert

  • Bei identischem Text wird die lokale Datei wiedergegeben

  • Spart Internet-Anfragen und ist extrem schnell

:musical_note: 3. MP3-Wiedergabe

  • Spielt beliebige MP3-Dateien von der SD-Karte ab

  • Eigene Sounds können per FTP hochgeladen werden

  • Die Homey-App “OpenAI Speech” kann den Player als “Lautsprecher” verwenden.

:radio: 4. Live-Stream Player

  • Radio-Streams wiedergeben

:card_index_dividers: 5. Wiedergabe-Warteschlange

  • Mehrere Sprachanfragen werden automatisch nacheinander abgespielt

  • Keine Überlappung oder Audiofehler

  • Der Text für die TTS-Ausgabe kann mit einem Präfix (**80!**Wasser im Keller) versehen werden, das die Lautstärke übersteuert. Dadurch können wichtige Meldungen – unabhängig von den aktuellen Einstellungen des Players – laut wiedergegeben werden, zum Beispiel: Wasser im Keller!

:globe_with_meridians: 6. MQTT-Steuerung

  • Vollständig über MQTT steuerbar

  • Kompatibel mit allen Smart-Home-Systemen, die MQTT unterstützen

  • Befehle: mp3, tts, ttm, volume, stop, reboot usw.

  • Jeder TTS-Player kann individuell sowie gruppenbezogen Nachrichten abonnieren

:globe_with_meridians: 7. Konfiguration

  • Konfiguration über app.ini auf der SD-Karte

  • Einstellungen wie WLAN, MQTT, FTP oder Lautstärke lassen sich einfach anpassen

  • SD-Karten-Zuordnung pro Raum – beim Wechsel des Gerätes muss nur die SD-Karte umgesteckt werden; alle Einstellungen und Inhalte bleiben erhalten

Examples of use

Das vollständige Projekt, einschließlich Quellcode, Dokumentation und aller notwendigen Dateien, ist auf GitHub verfügbar.
Du kannst es dort direkt einsehen oder herunterladen. Der Link befindet sich unten.

https://github.com/nmaciol/ESP32-Audio-Message-Player-main

Auf eBay biete ich ein ESP32-Audio-Kit (ESP32-A1S, 4-MB-Board) mit geflashter Software und vorkonfigurierter app.ini zum Verkauf an:

https://www.ebay.de/itm/127513796858

Firmware-Flash ist jetzt verfügbar.

Du kannst die Firmware jetzt einfach auf dein Gerät flashen. Wenn du Fragen hast oder Probleme auftreten, melde dich gerne hier im Forum.

https://nmaciol.github.io/ESP32-Audio-Message-Player-firmware/

Hallo

ich finde das Projekt supi,

leider bekomme ich das gekaufte ESP32 A1S Audio Kit nicht zum laufen !

Auf der angegebenen GitHub Seite ist die https://github.com/georg-koch/Arduino-QueueList.git nicht mehr verfügbar !

Dadurch funktioniert das gesamte Projekt nicht mehr .

Gibt es eine funktionierende Lösung ?

ich würde lieber so gern diese Projekt im Haus installieren und nicht auf Alexa ausweichen ,allein schon wegen der vielen tollen Möglichkeiten und null Verzögerung !

Hallo Jens,
vielen Dank für Ihr Interesse an meinem Projekt und dafür, dass du mich auf die Probleme mit der Bibliothek aufmerksam gemacht habst. Das Repository „georg-koch" wurde von GitHub entfernt, und ich habe unter https://github.com/sinricpro/Arduino-QueueList.git eine zweite Quelle gefunden, die ich erfolgreich getestet habe.
Ich teste aktuell eine neue Erweiterung, die eDog (mit PIR-Sensor) oder AudioGameBox (mit Button für kleine Kinder) in einer Lösung kombiniert.
Morgen stelle ich die Version ins Repository.

Außerdem steht eine GitHub Pages-Seite mit vorkompilierter Firmware zum direkten Flashen zur Verfügung:

https://nmaciol.github.io/ESP32-Audio-Message-Player-firmware/

Viele Grüße
Nikodem Maciol

Interessantes Projekt. Bei den Echos oder Google Nest, stört mich massiv die teilweise extreme Verzögerung bis zur Sprachausgabe.

Im Moment habe ich wenig Zeit, aber mein Plan ist, hinter das Modul noch einen Bluetooth Transmitter für 2 Lautsprecher zu hängen. Das würde ermöglichen, 2 beliebige Bluetooth Lautsprecher frei für Homey aufzustellen. Das einfach mal als Idee, wenn jemand sowas vor mir bauen will. Die Transmitter sind für einen Zwanziger beim großen A erhältlich. Wenn ihr auf die Betriebsspannung achtet, braucht ihr für Modul und Transmitter nur ein Netzteil. Vielleicht mach ich mich auch gleich an die nächste Stufe und bau das Modul direkt in einen Lautsprecher ein. Durch einen Bluetooth Transmitter hätten man dann einen Master Lautsprecher, der noch zwei Slave per Bluetooth versorgen könnte. Mit einem Spannungswandler wäre die interne Stromversorgung auch geregelt.

Macht sowas aber bitte nur, wenn ihr euch mit löten und Elektronik auskennt. Ich will nicht, dass sich jemand abfackelt. Deswegen wird es auch kein Tutorial geben.

Hallo Nikodem_Maciol

danke für die schnelle Antwort ,

hab das Projekt heut erfolgreich auf mein ESP32 A1S Audiokit geflasht mit Visual Studio Code.

Musste noch drei-vier Mal ChatGPT fragen ( Audio Tools war zu “neue” Version )

bin begeistert das es jetzt klappt.

Freu mich schon auf Deine nächsten Projekte.

Viele Grüße Jens

Hallo Undertaker

Deine Idee mit den Bluetooth Lautsprechern klingt interresant .

Da bleib ich gern mit dran und werde es beobachten !

Viele Grüße Jens

Hallo Jens,

ich habe das Projekt auf die neueste Plattform „espressif32", die aktuelle Audio-Tools-Bibliothek sowie die schnellere FTP-Bibliothek „MultiFTPServer" migriert.

Über die GitHub Pages besteht nun die Möglichkeit, das Flashen direkt im Browser durchzuführen:

https://nmaciol.github.io/ESP32-Audio-Message-Player-firmware/

Viele Grüße
Nikodem

Hallo Nikodem_Maciol

supi Sache , nun klappt das Projekt noch komfortabeler

und auf dem neusten Stand

sehr schön

Vielen Dank

Jens

Hallo Nikodem_Maciol

habe heut durch Zufall folgenden ESP32 entdeckt ,wäre das nicht die perfekte Lösung ?

Hallo Jens,

danke für die Info. Ich werde sicherlich bei unseren chinesischen Freunden so ein Teil bestellen und schauen, was sich darauf installieren lässt. Nochmals vielen Dank.

Beste Grüße
Nikodem

Hallo Jens,

Ich habe mir die Spezifikationen des Geräts angesehen. Der verbaute Audio-Codec-Chip ES8311 ist deutlich schlechter als der im ESP32-A1S/ES8388. Deshalb ist er für dieses Projekt eher unbrauchbar.

Viele Grüße

Nikodem

Hallo Nikodem

danke für die schnelle Antwort

da ist das ESP32-A1S/ES8388 Audio Kit natürlich die bessere Wahl,

und funktioniert ja auch bestens !

Vile Grüße

Jens