Autor Thema: [Neues Modul] BOSE SoundTouch  (Gelesen 75739 mal)

Offline GabbaGundolf

  • New Member
  • *
  • Beiträge: 3
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #510 am: 06 Juni 2018, 12:46:34 »
Hallo zusammen,
ich bin neu im Thema FHEM und versuche mich gerade daran, meine SoundTouch 300 als TTS einzubinden. Erstmal großen Dank für dieses Modul und die viele Arbeit die offensichtlich darin steckt!

Ich habe mich an die Anleitung in der FHEM commandref BOSEST gehalten, die Voraussetzungen installiert und das BOSEST-Objekt definiert. Daraufhin wurde auch meine SoundTouch gefunden.

Ich hatte zunächst die Ausgabe mit dem miniDLNA Server versucht, bin aber daran gescheitert. Erst später habe ich gesehen, dass ein miniDLNA-Server nicht mehr nötig sei. Dennoch funktioniert bei mir der Aufruf...
set BOSE_9784E3A9B6AC speak "Hallo Test"
...nicht.
Habe das BOSEST-Objekt auch nach meinen vielen miniDLNA Versuchen neu anlegen lassen.

Ich nutze in FHEM die aktuelle Modulversion.
# v2.2.0 - 20171211
# - FEATURE: support new Audio Notification API for TTS (no more minidlna)
...

Ich habe schon sehr viele Stunden Zeit in die Fehlersuche investiert, komme aber leider nicht mehr weiter.

Habt ihr eine Idee, woran es liegen könnte? Oder was ich für Möglichkeiten habe, das Problem einzugrenzen?

Vielen Dank im Voraus!

Gruß André

PS: Bose-System einschalten, Lautstärke etc. funktioniert. Nur TTS nicht.

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5596
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #511 am: 06 Juni 2018, 13:05:24 »
Ah, ein ST300-Nutzer.

Ich bin eigentlich gerade dran, die auch zu kaufen - bin aber etwas verschreckt über Meldungeń, dass die sich nicht immer mit ihrem Subwoofer verbinden kann. Können wir dazu mal PM austauschen, oder einen eigenen Thread aufmachen ?

LG

pah

Offline GabbaGundolf

  • New Member
  • *
  • Beiträge: 3
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #512 am: 06 Juni 2018, 13:36:03 »
Habe dir eine PM geschrieben :) Zusammenfassung für den Rest: Bisher keinerlei Probleme zwischen SoundTouch 300 und Subwoofer Acoustimass 300. Meinerseits klare Kaufempfehlung.

Offline Hellspawn

  • New Member
  • *
  • Beiträge: 24
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #513 am: 07 Juni 2018, 21:23:05 »
Hallo,
ich schließe mich dem auch mal so an. Hatte zuerst eine Teufel Soundbar mich ähnlichem umfang... naja die Bose ST300 ist wirklich besser. Ich hatte mit der Teufel ständig Verbindungsabbrüche... mit der Bose bis dato keinen einzigen und ich habe die ST300 mit Sub und Rear Lautsprechern jetzt seit über 6 Monaten... keinerlei Probleme und ich steuere mittlerweile, TV, Soundbar, Blue-Ray und VU Solo SE alles mit der Bose Fernbedienung ... klare Kaufempfehlung

Gruß
Carsten

Offline GabbaGundolf

  • New Member
  • *
  • Beiträge: 3
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #514 am: 13 Juni 2018, 14:36:17 »
Hallo,
hat keiner eine Idee? :(

Ohne Text-To-Speech ist alles doof  :-\

Mir würde es vielleicht schon helfen wenn Ideen geäußert werden. Ich habe einfach gar keine Idee mehr und keinen Pack-An.

Viele Grüße


Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5596
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #515 am: 13 Juni 2018, 15:32:42 »
Oh, bei mir läuft das auf einer ST10 problemlos. Was sagt denn das Log ?

LG

pah

Offline fred_feuerstein

  • Full Member
  • ***
  • Beiträge: 141
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #516 am: 26 Juni 2018, 10:26:08 »
Bei Soundtouch 10, 20 oder 30 läuft das mit TTS (ohne miniDLNA) auch erst ab "Series III".

Ich habe bspw. eine Soundtouch Portable (series II), damit klappt das nicht.
Keine Ahnung wie es mit der Soundtouch 300 aussieht.


Offline Schoebie700

  • Newbie
  • Beiträge: 1
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #517 am: 01 Juli 2018, 22:38:35 »
Hallo zusammen,

ich habe auch mal eine Frage. Ich versuche 2 von 3 Bose Soundtouches zu einer Zone zu verbinden und in dieser eine MP3 abzuspielen.

Meine Player:

Küche: BOSE_B0D5CC18E620
Bad: BOSE_985DAD2B4EFC
Wohnzimmer: BOSE_68C90B330E39

Küche und Bad sollen eine Zone werden.

   fhem("set BOSE_B0D5CC18E620 createZone BOSE_B0D5CC18E620,BOSE_985DAD2B4EFC");
   fhem("set BOSE_B0D5CC18E620 addToZone BOSE_985DAD2B4EFC");

Ich verstehe die Doku aus dem Wiki nicht:

createZone deviceID   -   create multiroom zone (defines <name> as zoneMaster)
addToZone deviceID   -   add device <name> to multiroom zone
removeFromZone deviceID   -   remove device <name> from multiroom zone

Kann mir bitte bitte jemand helfen?

Viele Grüße

FHEM - purer Anfänger

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5596
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #518 am: 19 Juli 2018, 06:36:05 »
Es gibt immer noch keine TTS-Ausgabe auf meiner neuen ST300. Aus dem Log:
2018.07.19 06:33:15 5: BOSEST: BOSE_C4F312DD64C7, received message.
2018.07.19 06:33:15 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'deviceID' => 'C4F312DD64C7',
                               'request' => {
                                            'requestID' => '1',
                                            'info' => {
                                                      'type' => 'new'
                                                    },
                                            'msgType' => 'RESPONSE'
                                          },
                               'method' => 'GET',
                               'url' => 'webserver/pingRequest'
                             }
                 }
        };

2018.07.19 06:33:15 5: BOSEST: run mojo loop
und dann nach diversen mojo loops
2018.07.19 06:33:16 4: BOSEST: set /speaker => <play_info><app_key>XXXXXXXXXXXXXXXXXXXXXXXX</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Test</url><service>Test</service><volume>31</volume></play_info>
2018.07.19 06:33:17 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>
2018.07.19 06:33:17 5: BOSEST: run mojo loop

Die ST 300 weigert sich also, die URL als Quelle anzunehmen.

LG

pah
« Letzte Änderung: 19 Juli 2018, 07:08:29 von Prof. Dr. Peter Henning »

Offline fred_feuerstein

  • Full Member
  • ***
  • Beiträge: 141
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #519 am: 19 Juli 2018, 20:09:18 »
ich denke, es liegt nicht an irgendwelche Einstellungen. Meine Soundtouch portable kann scheinbar auch kein TTS.


Wie sieht es eigentlich mit der Weiterentwicklung des Bose Moduls aus?

Es wurde ja glaube ich schon mal angefragt nach der Funktion, eine Sounddatei (mp3, ...) direkt als Web- oder File-Link abspielen zu können.
Geht das denn schon? Falls ja, wie?


Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5596
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #520 am: 20 Juli 2018, 15:55:27 »
Ich habe jetzt erst einmal versucht, meine ST300 auch zum Sprechen zu bringen - klappt prima, aber noch sind diverse Workarounds nötig. Sieht in etwa so aus, wie der ursprüngliche minidlna-Ansatz.

Außerdem verwende ich lieber die Stimme 'Marlene' von Amazon Polly.
Für Polly gibt es aber keine Perl-Bindung - also machen wir dazu ein kleines Python-Programm. Benötigt wird ein AWS-Account

Zunächst müssen mit pip die python-Bibliotheken libsoundtouch und boto3 installiert werden.

Der erste Teil des Programms schickt das Argument des Aufrufes

Zitat
python getpolly.py 'Hier kommt mein Text'

an Amazon und bekommt eine MP3_Datei zurück. Die wird gespeichert unter /tmp/IRGENDEINE UUID.mp3

Zusätzlich muss man das Verzeichnis /opt/fhem/www/sounds anlegen, und darin mit  dem Befehl ln -s /tmp tmp das /tmp-Verzeichnis als softlink einbinden. Im Endergebnis ist die erzeugte MP3-Datei auffindbar unter
http://IP_ADRESSE FHEM:8083/sounds/tmp/IRGENDEINE UUID.mp3

Und genau diese URL wird im 2. Schritt an die Bose ST300 übergeben und abgespielt.

Alles noch etwas wackelig, keine Argumentüberprüfung und noch kein Löschen der alten MP3s implementiert, aber als erster Schritt und proof of concept ganz ok.

import sys
import time
import uuid
import boto3
from libsoundtouch import soundtouch_device
from libsoundtouch.utils import Source, Type

polly_client = boto3.Session(
                aws_access_key_id='XXXXXXXXXXXXXXXXXXXXXXXX',                     
    aws_secret_access_key='YYYYYYYYYYYYYYYYYYYYYYYYYY',
    region_name='eu-central-1').client('polly')

ssmltext = '<speak><break time="1s"/>' + sys.argv[1] + '</speak>'

response = polly_client.synthesize_speech(VoiceId='Marlene',
                OutputFormat='mp3',
                TextType='ssml',
                Text = ssmltext)
               
name = str(uuid.uuid4())
name = '/tmp/' + name + '.mp3'

file = open(name, 'w')
file.write(response['AudioStream'].read())
file.close()

device = soundtouch_device('IP_ADRESSE ST300')
#device.power_on()

name = 'http://IP_ADRESSE FHEM:8083/fhem/sounds' + name

device.snapshot()
device.play_url(name);

#WILL MAN EINE URL ABSPIELEN
#device.play_url('http:/....XXX.mp3');
time.sleep(5)
device.restore()

Wer "nur" eine fertige MP3-Datei abspielen will, hat es noch einfacher
import sys
import time
from libsoundtouch import soundtouch_device
from libsoundtouch.utils import Source, Type

name = sys.argv[1]

device = soundtouch_device('192.168.0.48')
#device.power_on()


name = 'http://192.168.0.194:8083/fhem/sounds/' + name

device.snapshot()
device.play_url(name);
time.sleep(5)
device.restore()

Jetzt muss man nur noch herausfinden, welche Daten man dazu in Perl umsetzen muss...

LG

pah

Edit: Ich antworte mir mal selbst. Den Amazon-Teil kann man erledigen durch Verwendung von Paws: https://metacpan.org/pod/Paws::Polly

« Letzte Änderung: 21 Juli 2018, 02:01:14 von Prof. Dr. Peter Henning »

Offline Carstenb

  • New Member
  • *
  • Beiträge: 13
Antw:[Neues Modul] BOSE SoundTouch
« Antwort #521 am: 25 Juli 2018, 20:46:25 »
Hallo,
gibt es eine Beschränkung wie viele Befehle ich hintereinander an die Lautsprecher schicken darf? Ich habe ein Makro im Residents Modul worin ich diese Befehle hintereinander absetze:
fhem "set BOSE_8030DC53AA3F on";
fhem "set BOSE_8030DC53AA3F playEverywhere";
fhem "set BOSE_8030DC53AA3F volume 25";
fhem "set BOSE_B0D5CCF64B90 volume 25";
fhem "set BOSE_5065833DABB4 volume 45";

Das führt dazu, dass alle Lautsprecher eingeschaltet werden der Kanal ist auch der letzte der eingestellt war, jedoch wird nichts abgespielt. Ich muss dann die Lautsprecher wieder aus- und einschalten damit es wieder funktioniert.
Bestimmt mache ich etwas falsch, komme aber leider alleine nicht drauf. Hat jemand einen Rat?

Vieel Grüße
Carsten