[Neues Modul] BOSE SoundTouch

Begonnen von dominik, 05 Januar 2016, 22:28:40

Vorheriges Thema - Nächstes Thema

HansDampfHH

Schließe ich mich an. Wäre sehr interessant zu hören, ob Text2Speak hier auch läuft.
Meine neue Box soll morgen kommen, dass muss ich dann natürlich auch gleich probieren ;-)
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

dominik

@Theo
Danke für die Infos. Werde ich korrigieren.

Bzgl. Text2Speak, ich bin da noch auf der Suche nach einer Möglichkeit. Idee wäre auf dem RPi einen kleinen DLNA Service zu starten und dort dann die Datei zur Verfügung zu stellen. Damit müsste auch Text2Speak möglich sein.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

HansDampfHH

Ich weiß nicht, wie es bei Sonos gemacht wird, aber grundsätzlich wird ein Text bei text2speak ja über Google als mp3 generiert und lokal gespeichert.
Gibt es bei Deinem Modul die Möglichkeit eine lokale Datei auf der SoundTouch-Box abzuspielen? Dann würde ich mir behelfsmässig erst mal ein PHP-Script basteln.

Die Funktionalität fänd ich schon nützlich und wichtig, FHEM Sprachausgabe auf der SoundTouch auszugeben.
TOP Arbeit, freu mich schon auf Feierabend. Die Box soll heute kommen  :D
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

Hm, leider bekomme ich die SoundTouch nicht eingebunden.
Was mach ich falsch?

Die SoundTouch 10 läuft im heimischen Netz unter fester IP.
Lässt sich problemlos mit der App steuern und tut alles was sie soll.

Eingebunden habe ich sie mit:


define SoundTouch BOSEST 192.168.178.25


Nun finde ich die Box unter Everything:
(https://picload.org/image/wcapwoa/clipboard01.jpg)

Ich kann die Box nicht über FHEM steuern und jeder Befehl mündet in: Searching for BOSE SoundTouch, try again later...

Die Box ist an und läuft. Was ist denn hier los?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

dominik

Einfach die IP weglassen. Siehe erster Post.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

HansDampfHH

#140
Hm, okay. Das hatte ich auch schon probiert (hatte das nur geändert wegen der Doku, da hängt die IP noch dran).
Aber da tut sich auch nichts. Ich habe meine Box nun so eingehängt:


definde SoundTouch BOSEST


(https://picload.org/image/wcoodlr/zwischenablage01.png)

Die SoundTouch läuft und spielt Radio ab.
Aber auch nach 5 Minuten tut sich nichts in FHEM. Autocreate ist aktiv.
Da wird kein Player angelegt :-(

Edit: Dies hier sehe ich gerade im Log...


2016.02.26 11:06:14 1: BlockingInformParent (BOSEST_finishedDiscovery): Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
2016.02.26 11:06:15 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt


Kann mir bitte jemand verraten was ich dagegen machen kann?
Mit telnet localhost 7072 bekomme ich eine Verbindung und in FHEM habe ich für 7072 auch kein Kennwort hinterlegt.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

dominik

Hast du die aktuelle Version von fhem? Bei dir funktioniert der BlockingCall nicht. Schon update gemacht? Oder Reboot?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

HansDampfHH

#142
Letztes Update ist zwei Tage her. Eben noch mal Update gemacht...shutdown restart.
BOSE device gelöscht und neu angelegt. Die Fehlermeldung finde ich im Log zwar nicht mehr, aber angelegt wird hier immer noch nichts!?
Die DeviceID ist leer und Player finde ich keine!? Und mit verbose 5 taucht da auch nichts besonderes auf.

Mein FHEM läuft auf einem IntelNUC und Debian Jessie.

Wenn ich mit CURL und PHP auf der Kommandozeile Befehle absetze und die Box steuer funktioniert das 1A.
Wieso habe ich solche Probleme in FHEM :-(

EDIT: Warum auch immer, nach nun unzähligen erfolglosen Versuchen habe ich nach Stunden noch mal bei FHEM reingeschaut und siehe da...der neue Player wurde erkannt.
Keine Ahnung warum es sich so schwer getan hat. Nun kann ich mal weiter testen.

Ich habe mir im übrigen ein Script gebaut welches mir aus einem Text mittels Google API eine TTS-mp3 Datei generiert.
Die speichere ich auf meinem FritzNAS ab und lass es mit dem SoundTouch abspielen. Dazu nutze ich die PHP-API von Bose.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

dominik

Super :)

Der Weg mit dem PHp Script würde mich auch interessieren ;)
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

HansDampfHH

Ich schick Dir das mal als PN, vielleicht kannst du das ja als Ansatz für Dein Modul nutzen.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Markus Hermann

Hallo,

ich lese hier parallel zum DLNA-Thread mit, obwohl ich kein Bose-System habe, sondern nur ein paar Peaq's.
Aber zum Thema text2speech kann ich etwas sagen, ich habe die text2speech.pm für mich so geändert, dass immer im Verzeichnis www/soundfiles/ eine Datei mit dem gleichen Namen text.mp3 erzeugt wird. Diese kann ich dann mit:

set MyPlayer stream http://192.168.2.2:8083/fhem/soundfiles/text.mp3 

an die entsprechende Peaq-Box ausgeben.

Leider muss ich die Datei noch per Hand löschen, damit text2speech.pm eine neue anlegt, überschreiben geht noch nicht.
Hatte aber noch keine Zeit, das genauer zu untersuchen.

Kann BOSE-SoundTouch per URL MP3 streamen, dann sollte das auch mit dem System möglich sein!?

Gruß
Markus

CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

dominik

Hallo,

im 1. Post gibt es nun ein Update auf Version 1.5.0 mit Google TTS Unterstützung und paar weiteren netten Features :)
Die Einrichtung von Google TTS ist ebenfalls im 1. Post beschrieben. Vergesst nicht ttsDirectory richtig zu setzen bevor ihr testet.

Danke auch an HansDampfHH fürs Testen!

Hier die Liste...
v1.5.0
- FEATURE: support SetExtensions (on-for-timer,...)
- FEATURE: support TTS (TextToSpeach) via Google Translate
            set <name> speak "This is a test message"
- FEATURE: support volume control for TTS
            set <name> speak "This message has different volume" 30
- FEATURE: support different languages for TTS
            set <name> speak "Das ist ein deutscher Test" de
            set <name> speak "Das ist ein deutscher Test" 30 de
- FEATURE: support off (instead of resume) after TTS messages (restores only volume settings)
            set <name> speakOff "Music is going to switch off now. Good night." 30 en
- FEATURE: speak "not available" text on Google Captcha
            can be disabled by ttsSpeakOnError = 0
- FEATURE: set default TTS language via ttsLanguage attribute
- FEATURE: automatically add DLNA server running on the same
            server as FHEM to the BOSE library
- FEATURE: automatically add all DLNA servers to BOSE library
            requires autoAddDLNAServers = 1 attribute for "main" (not players!)
- FEATURE: reuse cached TTS files for 30 days
- FEATURE: set DLNA TTS directory via ttsDirectory attribute
- FEATURE: set DLNA TTS server via ttsDLNAServer attribute
            only needed if the DLNA server is not the FHEM server
- FEATURE: support ttsVolume for speak
            ttsVolume = 20 (set volume 20 for speak)
            ttsVolume = +20 (increase volume by 20 from current level)
- FEATURE: add html documentation (provided by Miami)
- FEATURE: support relative volume settings with +/-
            set <name> volume +3
            set <name> speak "This is a louder message" +10
- FEATURE: new reading "connectedDLNAServers" (blanks are replaced by "-")
- FEATURE: support add/remove DLNA servers to the BOSE library
            set <name> addDLNAServer RPi
            set <name> removeDLNAServer RPi
- FEATURE: add readings for channel_07-20
- FEATURE: support saveChannel to save current channel to channel_07-20
- FEATURE: support bass settings only if available (/bassCapabilities)
- FEATURE: support bluetooth only if available (/sources)
- FEATURE: support switch source to airplay (untested)
- BUGFIX: update zone on Player discovery
- BUGFIX: fixed some uninitialized variables
- CHANGE: limit recent_X readings to 15 max
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Pythonf

Hat jetzt nichts direkt mit dem Modul zu tun, aber kann man die SounTouch Geräte per DLNA/Upnp ansteuern oder können sie nur auf einen DLNA-Server zugreifen?
Ich versuch die SoundTouch mit einem Logitechmediaserver zusammenarbeiten zu lassen. Abspielen der auf dem Server zur Verfügung stehenden Musik ist kein Problem. Mit der DLNA Bridge im LMS kann ich die Lautsträrker der SoundTouch einstellen aber keine Musik streamen.
Mir stehen verschiedene Einstellungen in der DLNA Bridge des Logitech Mediaservers zu Verfügung wie: HTTP mode : no size (open range); chunked (open range); fixed large size;full buffering; und noch andere
Viele Einstellungen bietet die SoundTouch ja diesbezüglich leider nicht.

Beste Grüße
Fabian

dominik

Hi Fabian,

SoundTouch unterstützt leider nicht alle DLNA Befehle, daher funktioniert die Steuerung über DLNA nur eingeschränkt. Im Modul verwende ich daher nur die offizielle HTTP und WebSocket Schnittstelle wie sie von BOSE dokumentiert ist.
Volume funktioniert auch über DLNA - offiziell nicht supported. SetAVTransportURI (was zum Abspielen benötigt wird) steht zwar als Funktion zur Verfügung, wird aber nicht richtig verarbeitet. Gerne auch mal BOSE ein Mail schreiben mit der Bitte um zukünftige offizielle DLNA Unterstützung (Englischer Support: soundtouchapi@bose.com). Bei der letzten Antwort von BOSE klang es fast danach, als ob da was geplant wäre...mal sehen.

Gruß,
Dominik
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

HansDampfHH

Moin, nach einem Neustart von FHEM:


PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 292.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink