Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. uweklatt

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Profile
    • Following 0
    • Followers 0
    • Topics 14
    • Posts 185
    • Best 13
    • Groups 2

    uweklatt

    @uweklatt

    17
    Reputation
    106
    Profile views
    185
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    uweklatt Follow
    Pro Starter

    Best posts made by uweklatt

    • RE: Offline Sprachausgabe in hoher Qualität

      Lokaler Text2Speak (TTS) Server

      Ich beschreibe hier meine Vorgehensweise zur Einrichtung eines im lokalen Netzwerk befindlichen TTS-Servers. Dieser kann zum Erstellen von WAV-Sounddateien genutzt werden. Als Eingabe dient der gewünschte Text, den man über eine Webschnittstelle an diesen Server sendet und dann die WAV-Datei anschließend von diesem herunterladen und weiter verwenden kann.

      Es gibt diverse Stimmen in vielen Sprachen: https://github.com/rhasspy/piper/blob/master/VOICES.md

      Verwendete Softwarekomponenten:

      • Debian oder Devuan Linux (minimale Serverversion genügt)
      • Webserver mit PHP-CGI (lighttpd)
      • Python3 mit PIP
      • piper (AI-Sprachgenerierung) => https://github.com/rhasspy/piper

      Ich habe einen „neuen“ virtuellen Proxmox Server genutzt. Man kann aber auch einen RasPi oder einen anderen Linuxserver verwenden. Dann muss die Installation der einzelnen Softwarekomponenten evtl. angepasst werden. Ich haben Devuan 4 als Basis verwendet. https://www.devuan.org/

      Bei Debian/Deuvan basierten Linuxsystemen wird apt zur Softwareverwaltung verwendet.
      Das wird auch bei dieser Anleitung verwendet.

      Die folgenden Schritte habe ich als root-User durchgeführt:

      Installation des Devuan-Linux bzw. Nutzung eines vorhandenen Linux.
      Anschließend Update der aktuellen Software:

      apt update
      apt upgrade

      Installation von python und pip:

      apt install python3 pip

      Installation von piper:

      pip install piper-tts

      Test der piper Installation: (Optional)

      echo 'Willkommen!' | piper --model de_DE-thorsten-high --output_file welcome.wav

      Diese WAV-Datei sollte sich mit einem Player abspielen lassen.
      Beim ersten Aufruf von „piper“ wird die benutzte Stimme (hier de_DE_thorsten-high) heruntergeladen und im aktuellen Verzeichnis gespeichert. Die generierte WAV-Datei landet ebenfalls im aktuellen Verzeichnis.

      Installation des Webservers mit php-cgi:

      apt install lighttpd php-cgi

      Aktivierung von PHP fastcgi:

      ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf
      ln -s /etc/lighttpd/conf-available/15-fastcgi-php.conf /etc/lighttpd/conf-enabled/15-fastcgi-php.conf

      Neustart des Webservers:

      /etc/init.d/lighttpd restart

      Damit die heruntergeladene Stimme und die WAV-Datei im WEB-Verzeichnis /var/www/html erstellt werden können, bekommt dieses Verzeichnis Schreibrechte für alle User! Das sollte man bei einem öffentlich erreichbaren Server so nicht tun!

      chmod 777 /var/www/html

      Im Webverzeichnis /var/www/html wird nun eine kleine PHP-Datei index.php erstellt, die zum Empfang des zu erstellenden Textes dient. Sie ruft dann piper mit den erforderlichen Parametern auf.

      /var/www/html/index.php:

      <?php
        $text = htmlspecialchars_decode($_GET['text']); 
        $text2 = escapeshellarg($text);
        exec("/bin/echo '".$text2."' | /usr/local/bin/piper --model de_DE-thorsten-high --output_file tts.wav");
      ?>
      

      Nun kann durch den Aufruf des Servers mit Übergabe des Textes eine entsprechende WAV-Datei erstellt werden:
      http://server-ip?text=Willkommen

      Die WAV-Datei kann anschliessend heruntergeladen werden:
      http://server-ip/tts.wav

      Im ioBroker nutze ich den Server per JavaScript mit dem Chromecast Adapter.
      Der gewünschte Text wird mit dem httpGet() Befehl zum Server übertragen und anschließend die URL der WAV-Datei im Chromecast Adapter im Objekt chromecast.0.Google_Home.player.url2play eingetragen und abgespielt.
      Damit das sauber funktioniert, musste ich nach dem Generieren der WAV-Datei eine kleine Pause (1 sec) einfügen, bevor die URL zum Chromecast gesandt wird.
      Der Code sieht wie folgt aus:

      function talk(text)
      {
          setState('chromecast.0.Google_Home.player.volume', 30);
          setState('chromecast.0.Google_Home.player.announcement', "http://ioBroker-ip:8082/sayit.0/tts.userfiles/mp3_silence_1sec.mp3");
          httpGet("http://server-ip/?text="+text, function() 
          {
              setTimeout(function()
              { 
                  setState('chromecast.0.Google_Home.player.url2play', 'http://server-ip/tts.wav'); 
              }, 1000);  
          });
      }
      

      Eine Demo für den Webbrowser liefert diese HTML-Datei. Sie bietet neben der Eingabemöglichkeit des Textes auch einen Player zum direkten Abspielen im Browser.

      <!doctype html>
      <head>
      <meta charset=utf-8>
      <title>TTS-Demo</title>
      </head>
      <body>
        <?php
          $text = htmlspecialchars_decode($_GET['text']); 
          $text2 = escapeshellarg($text);
          exec("/bin/echo '".$text2."' | /usr/local/bin/piper --model de_DE-thorsten-high --output_file play.wav");
        ?>
        <form action="/play.php">
          <input type="text" name="text" value="<?php echo $text;?>">
          <input type="submit" value="Generate">
        </form> 
        <audio id="audio" controls src="/play.wav"></audio><br>
        <a href="/play.wav">Download WAV</a>
        <script type="text/javascript">
          document.getElementById('audio').addEventListener("ended",function() {
              this.src = "/play.wav.php?nocache="+new Date().getTime();
              this.play();
          });
        </script>
      </body>
      </html>
      

      Evtl. ist das alles für den Einen oder Anderen nützlich.

      Tschau
      Uwe

      posted in Praktische Anwendungen (Showcase)
      uweklatt
      uweklatt
    • RE: Proxmox WebIf nicht erreichbar

      @negalein
      ... alles updaten und dann in /etc/apt/sources.list auf die neue Version umstellen.
      Das ist bei Debian alles wunderbar beschrieben.
      Ich würde mich erst einmal in das Konzept von Debian und Linux allgemein etwas einarbeiten, bevor Du da wild rumstocherst 😉

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: sayit mag nicht mehr

      Hallo,

      ich habe nun übergangsweise ebenfalls Pico als Sprachausgabe eingestellt.
      Ich musste dazu noch zwei Debian Pakete nachinstallieren, da sie nicht vorhanden waren:

      apt install libttspico-utils lame
      

      libttspico-utils mit den zugehörigen Abhängigkeiten beinhaltet die Sprachengine und lame dient zum Erzeugen einer MP3-Datei.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: Offline Sprachausgabe in hoher Qualität

      @liv-in-sky sagte in Offline Sprachausgabe in hoher Qualität:

      also braucht man natürlich eine alexa oder google box

      Nein, jedes "Gerät", das WAV-Dateien im lokalen Netzwerk abspielen kann, kann für die Ausgabe verwendet werden. (z.B. auch ein RasPi).

      Im Prinzp kann der TTS Server auch selbst die Ausgabe übernehmen, wenn er einen Audioausgang hat. Dann kann die WAV-Datei mit z.B.

      aplay /var/www/html/tts.wav

      direkt ausgegeben werden. Noch eleganter ist es, die Ausgabe von Piper direkt als Stream in das Audiodevice zu leiten. Piper kann auch direkt Audiodaten als RAW Stream generieren...

      Tschau
      Uwe

      posted in Praktische Anwendungen (Showcase)
      uweklatt
      uweklatt
    • RE: Proxmox LXC mit Frigate

      Ich nutze aktuell 0.14.0 ohne erkennbare Probleme.
      Nur die GUI ist ab 0.14 komplett umgekrempelt. Da muss man erst einmal suchen, wo was ist 😉

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: Kameranzeige in ioBroker, oder besser extra System?

      Hallo,

      eine prima Überwachungssoftware, die mit KI arbeitet, ist Frigate.
      Läuft bei mir in einem Docker Container auf einem NAS und sendet die Ereignisinfos per MQTT an ioBroker.

      Das Besondere ist, dass nicht einfach Bewegung erkannt wird, sondern mit einem neuronalen Netz Objekte detektiert werden.

      Ich finde es praxisgerechter als z.B. Shinobi.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • Offline Sprachausgabe in hoher Qualität

      Hallo,

      ich war auf der Suche nach einer offline Sprachausgabe, die als Ersatz für SayIt dienen kann und eine gute Sprachqualität besitzt.

      Als Ergebnis habe ich das Projekt piper verwendet und dieses auf einem virtuellen Linux Server installiert.
      Dort läuft auch ein Webserver, der die generierten Sprachausgaben zur Nutzung/Download bereitstellt.
      Die gewünschten Texte werden über eine HTTP Webanfrage dorthin übermittelt.

      Falls Interesse besteht, kann ich die Schritte zur Umsetzung hier zeigen.

      Tschau
      Uwe

      posted in Praktische Anwendungen (Showcase)
      uweklatt
      uweklatt
    • RE: Neuer Proxmox Server aufbauen,aber wie

      @bob-der-1
      Warum nicht LVM thin mit Proxmox nutzen?
      Damit bekommt man auch Snapshots und kann den Speicher flexibel aufteilen.

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: Test Adapter EnOcean v0.5.x

      Ich konnte den Sensor erfolgreich in den Konfigurationsdateien hinzufügen.
      Details dazu gibt es im oben genannten Git-issue!

      Tschau
      Uwe

      posted in Tester
      uweklatt
      uweklatt
    • RE: Tvspielfilm.adapter TV Programm für VIS

      @michael-mauer Der tvspielfilm-Adapter ist momentan "defekt"
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt

    Latest posts made by uweklatt

    • RE: [Frage] Smartmeter mit Lesekopf auch konfigurieren?

      Die Empfangsdiode in D0-Schnittstelle wird beim IEC 62056-21 Protokoll zum Umschalten der Baudrate und Definition der Abzurufenden Daten verwendet.
      Beim SML Protokoll wird die nicht benötigt.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: Proxmox WebIf nicht erreichbar

      @negalein
      ... alles updaten und dann in /etc/apt/sources.list auf die neue Version umstellen.
      Das ist bei Debian alles wunderbar beschrieben.
      Ich würde mich erst einmal in das Konzept von Debian und Linux allgemein etwas einarbeiten, bevor Du da wild rumstocherst 😉

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: Proxmox WebIf nicht erreichbar

      Wenn man die Netzwerkmaske ändert, sollte es bei allen Geräten im zugehörigen Netzwerk identisch eingestellt werden. Danach den Netzwerkstack neu starten (z.B. mit einem Reboot).
      Sind ALLE Beteiligten Geräte umgestellt?

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: Proxmox WebIf nicht erreichbar

      @negalein
      vmbr0 hat eine IPv6 Adresse unter der Du die Weboberfläche ansprechen kannst...

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: Proxmox WebIf nicht erreichbar

      @negalein
      Zumindest mit IPv6 sollte es klappen.

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    • RE: unbekannte Fehlermeldung beim Daikin Adapter

      @homoran
      Du hast vermutlich noch die ältere WLAN Einheit, die eine lokale Kommunikation ermöglicht. Dazu kann ich leider nichts sagen.
      Ich habe die "nur Cloud" Version.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: unbekannte Fehlermeldung beim Daikin Adapter

      @homoran
      Ich habe die Firmware der Stylish Inneneinheiten auf 1_39_0 upgedatet.
      Der ioBroker Adapter hat Version 0.4.11
      Tschau
      Uwe

      Edit:
      Ich sehe gerade. Es geht um den "nicht Cloud" Adapter. Sorry für das Rauschen...

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: unbekannte Fehlermeldung beim Daikin Adapter

      @apollon77
      Habe das Update bereits installiert.
      Der lokale Zugang funktioniert weiterhin.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: Smartmeter Adapter für Volkszähler (IR) an remotem Raspi

      Evtl. den Lesekopf über ser2net zum ioBroker leiten.
      Dazu ist am Zähler quasi nur ein beliebiges Linuxsystem mit ser2net erforderlich.
      Leider weiß ich nicht, ob der Smartmeter Adapter direkt einen TCP-Socket als Schnittstelle nutzen kann.
      Mit dem Programm socat kann aber notfalls eine virtuelle Schnittstelle erstellt werden.

      Tschau
      Uwe

      posted in ioBroker Allgemein
      uweklatt
      uweklatt
    • RE: Hilfe beim durchreichen USB2CAN an Proxmox LXC Container

      @ronrich
      Schon einmal probiert, den ganzen USB-bus durchzureichen?
      z.B. bei Bus 001:
      lxc.mount.entry: /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir 0, 0

      Tschau
      Uwe

      posted in Proxmox
      uweklatt
      uweklatt
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo