FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: dominik am 05 Januar 2016, 22:28:40

Titel: [Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 05 Januar 2016, 22:28:40
Das Modul ist ab sofort im offiziellen FHEM Repository. Bitte beachtet die benötigten Perl Libraries vor Verwendung.

Hallo zusammen,

hier ein neues Modul zur Steuerung der BOSE SoundTouch Familie. Die unterstützten Features können dem Changelog unten entnommen werden.

Folgende Libraries werden benötigt:
sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl libdigest-perl-md5-perl
libmojolicious-perl muss >=5.54 sein, unter wheezy steht nur 2.x zur Verfügung. In so einem Fall kann über
sudo apt-get install cpanminus
sudo cpanm Mojolicious
die aktuellste Version installiert werden.

define bose_system BOSEST
Nach einer Minute erscheinen die Player unter "Unsorted"

Einrichtung TTS
sudo apt-get install libexif-dev libjpeg-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev libid3tag0-dev
sudo apt-get build-dep minidlna
mkdir minidlna
cd minidlna
git clone git://git.code.sf.net/p/minidlna/git minidlna-git
cd minidlna-git
./autogen.sh && ./configure && make (wenn ihr hier Fehler habt, dann bitte posten)
sudo make install

/etc/minidlna.conf (alles andere default!)
media_dir=/var/lib/minidlna
port=8200
serial=681....
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg


/etc/init.d/minidlna
#!/bin/sh
#
# MiniDLNA initscript
#
# Based on the mediatomb debian package.
# Original authors: Tor Krill <tor@excito.com>
#                   Leonhard Wimmer <leo@mediatomb.cc>
#                   Andres Mejia <mcitadel@gmail.com>
#
# Modified by: Benoît Knecht <benoit.knecht@fsfe.org>
#
### BEGIN INIT INFO
# Provides:          minidlna
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Should-Start:      $all
# Should-Stop:       $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start minidlna at boot time
# Description:       Manage the minidlna daemon, a DLNA/UPnP-AV media server.
### END INIT INFO

unset USER

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin
DESC="DLNA/UPnP-AV media server"
NAME=minidlna
DAEMON=/usr/local/sbin/minidlnad
PIDDIR=/run/$NAME
PIDFILE=$PIDDIR/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DEFAULT=/etc/default/$NAME

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Read configuration variable file if it is present
[ -r $DEFAULT ] && . $DEFAULT

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Do not start the daemon if NO_START is enabled in DEFAULT
if [ "$START_DAEMON" != "yes" ] && [ "$1" != "stop" ]; then
        log_warning_msg "$NAME: Not starting $DESC."
        log_warning_msg "$NAME: Disabled in $DEFAULT."
        exit 0
fi

# Set the default configuration file
if [ -z $CONFIGFILE ]; then
        CONFIGFILE=/etc/minidlna.conf
fi

# Set the default log file
if [ -z $LOGFILE ]; then
        LOGFILE=/var/log/minidlna.log
fi

# Run as `minidlna' if USER is not specified or is `root'
if [ -z $USER ]; then
        USER=minidlna
fi

# If no group is specified, use USER
if [ -z $GROUP ]; then
        GROUP=$USER
fi

DAEMON_ARGS="-f $CONFIGFILE -P $PIDFILE $DAEMON_OPTS"

#
# Function that starts the daemon/service
#
do_start()
{
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        touch $LOGFILE && chown $USER:$GROUP $LOGFILE || return 2
        if [ ! -d $PIDDIR ]; then
            mkdir $PIDDIR || return 2
        fi
        chown $USER:$GROUP $PIDDIR || return 2

        start-stop-daemon --start --quiet --pidfile $PIDFILE \
                --chuid $USER:$GROUP --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
                --chuid $USER:$GROUP --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -rf $PIDDIR
        return "$RETVAL"
}

#
# Function that signals log rotation to the daemon/service
#
do_rotate()
{
        start-stop-daemon --stop --quiet --signal USR1 --pidfile $PIDFILE --exec $DAEMON
}

case "$1" in
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
    do_start
    case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
  ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  status)
       status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                if [ "$1" = "force-reload" ]; then
                        # Rescan the collection
                        DAEMON_ARGS="$DAEMON_ARGS -R"
                fi
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  rotate)
        log_daemon_msg "Reopening log file $LOGFILE"
        do_rotate
        log_end_msg $?
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload|rotate}" >&2
        exit 3
        ;;
esac

:


Changelog
v1.5.6 - 20160611
- FEATURE: auto-zone, start zone-play if speakers are playing the same (contentItemLocation)
             attr <name> autoZone on (default: off)
- BUGFIX: set zone only from master device as slave devices might not always report the truth (known bug at BOSE)
- CHANGE: set zonemember_X to UDN instead of player name
- CHANGE: delete TTS files after 30 days
- CHANGE: reduce number of http calls after each discovery process
- CHANGE: reduce number of http calls for key presses

v1.5.5 - 20160510
- BUGFIX: fix unitiliazed value in handleDeviceByIp

v1.5.4 - 20160509
- FEATURE: restore volume when speaker goes online
             allows to power off the box completely without loosing
             previous volume settings
- BUGFIX: fix possible unitialized value
- BUGFIX: fix next which should be return
- BUGFIX: sometimes double-tap feature wasn't working due to BOSE not
           updating zones for slave speakers

v1.5.3 - 20160425
- FEATURE: support static IPs (should only be used if device can't be discovered)
            attr bose_system staticIPs 192.168.1.52,192.168.1.53
- FEATURE: support speak channel name (useful for SoundTouch w/o display)
            attr <name> speakChannel 1-6
            attr <name> speakChannel 2,3,5,6
- BUGFIX: retry websocket setup every 5s if it fails
- BUGFIX: update supportClockDisplay reading only on reconnect
- CHANGE: remove user attr from main device

v1.5.2 - 20160403
- FEATURE: support clock display (SoundTouch 20/30)
             set <name> clock enable/disable

v1.5.1 - 20160330
- CHANGE: updated documentation (again many thx to Miami!)
- FEATURE: support triple-tap (currently no function implemented: any ideas? :))
- CHANGE: change back channel even after speakOff
- BUGFIX: unitialized value fixed

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

v1.0.0
- FEATURE: support multi-room (playEverywhere, stopPlayEverywhere)
- FEATURE: show current zone members in readings
- FEATURE: support createZone <deviceID1>,<deviceID2>,...
- FEATURE: support addToZone <deviceID1>,<deviceID2>,...
- FEATURE: support removeFromZone <deviceID1>,<deviceID2>,...
- FEATURE: add "double-tap" multi-room feature
            double-tap (<1s) a hardware preset button to
            enable or disable the multi-room feature
- FEATURE: support bass settings
- FEATURE: support infoUpdated (e.g. deviceName change)
- FEATURE: support mute on/off/toggle
- FEATURE: support recent channel list
            set name recent X
            names for recent list entries are shown in readings
- FEATURE: support channel_07-20 by attribute
            format:name|location|source|sourceAccount or
                        name|location|source| if no sourceAccount
- FEATURE: support bluetooth/bt-discover/aux mode
- FEATURE: support ignoreDeviceIDs for main define
            format:B23C23FF,A2EC81EF
- CHANGE: reading channel_X => channel_0X (e.g. channel_02)

v0.9.7
- FEATURE: print module version on startup of main module
- FEATURE: support device rename (e.g. BOSE_... => wz_BOSE)
- FEATURE: show preset itemNames in channel_X reading
- FEATURE: automatically update preset readings on change
- FEATURE: add description reading (could be very long)
- CHANGE: change log level for not implemented events to 4
- CHANGE: use only one processXml function for websocket and http
- BUGFIX: fix set off/on more than once within 1 second
- BUGFIX: fix warnings during setup process
- BUGFIX: support umlauts in all readings
- BUGFIX: handle XMLin errors with eval
- BUGFIX: handle "set" when speaker wasn't found yet

v0.9.6
- FEATURE: support prev/next track

v0.9.5
- FEATURE: update channel based on websocket events
- BUGFIX: specify minimum libmojolicious-perl version
- BUGFIX: reconnect websocket if handshake fails
- BUGFIX: presence reading fixed
- CHANGE: websocket request timeout changed to 10s (prev. 5s)
- CHANGE: clockDisplayUpdated message handled now

v0.9.4
- CHANGE: completely drop ithreads (reduces memory usage)
- CHANGE: search for new devices every 60s (BlockingCall)
- CHANGE: check presence status based on websocket connection
- BUGFIX: removed arguments and readings for main BOSEST
- FEATURE: read volume on startup

v0.9.3
  - fix "EV does not work with ithreads."

v0.9.2
  - fix memory leak
  - use select instead of usleep

v0.9.1
  - bugfix for on/off support

v0.9
  - [b]autodiscover BOSE SoundTouch players: autocreate BOSE_<deviceID>[/b]
  - add alias for newly created devices
  - update IP if the player IP changes
  - automatically re-connect websocket
  - support UTF-8 names with umlauts
  - reconnect websocket when connection closed
  - add firmware version & IP readings
  - automatically update /info on IP update
  - state: offline,playing,stopped,paused,online (online means standby)
  - support on/off commands based on current state
  - add support more readings for now_playing

v0.2
- connect to websocket to receive speaker events (now playing, ...)
- support stop/play/pause/power
- change preset to channel according to DevGuidelinesAV
- read /info on startup

v0.1
- define BOSE Soundtouch based on fixed IP
- change volume via /volume
- change preset via /key

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: UliM am 06 Januar 2016, 04:26:08
Hi,
Coole Sache!
Wenn hier weiterentwickelt wird, wollte ich mal auf eine existierende Guideline für einheitliche Befehlssätze in allen fhem-Audio-Modulen aufmerksam machen, vielleicht kann man sich ja daran oriientieren:
http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV (http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV)
'key' gibt es da bspw. nicht.

Gruß + viel Erfolg,
Uli
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Sonic am 06 Januar 2016, 10:01:30
Hallo Dominik,
ich freue mich das du damit angefangen hast, auch BOSE Soundtouch in FHEM als Modul aufzunehmen.

Leider kann ich nicht mit Programmieren, da ich wenig PEARL Kenntnisse habe.
Jedoch freue ich mich darauf als Nutzer davon zu profitieren.

vielen Dank schon mal

gruss
KLAUS
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 Januar 2016, 10:06:16
Zitat von: UliM am 06 Januar 2016, 04:26:08
Hi,
Coole Sache!
Wenn hier weiterentwickelt wird, wollte ich mal auf eine existierende Guideline für einheitliche Befehlssätze in allen fhem-Audio-Modulen aufmerksam machen, vielleicht kann man sich ja daran oriientieren:
http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV (http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV)
'key' gibt es da bspw. nicht.

Gruß + viel Erfolg,
Uli
Hi Uli,
danke für die Info. Den Guide kannte ich noch nicht.
Keine Sorge 'key' ist nicht als Befehl gedacht, mit /key meinte ich nur den WebService (http://IP:8090/key) über welchen der Befehl an das BOSE System geschickt wird.

Werde dann bei der weiteren Implementierung die Guidelines berücksichtigen.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Januar 2016, 19:57:31
Update auf v0.2 im 1. Post.

Es werden nun auch Events vom WebSocket (Port 8080) verarbeitet und in Readings hinterlegt. Aktuell noch nicht für alle Events implementiert. Zukünftig soll es dadurch möglich sein die Preset Tasten auch für andere Funktionen zu nutzen :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Sonic am 16 Januar 2016, 11:29:05
Hallo Dominik,

das ist Super. Ich freue mich sehr dass du das Thema Bose aufgreifst.
Ich teste dein Modul diese Tage
:) :)

gruss
KLAUS
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Pythonf am 16 Januar 2016, 12:18:53
Bei mir funktioniert es super. Wäre es möglich, den Powerbefehl durch set $Dev on bzw off ersetzen, sodass z.B. die Verwendung von Homekit kompatibel ist.
Eventuell mit Reading state on/off - falls es möglich ist, die Informationen zu erhalten?

Beste Grüße
Fabian
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 16 Januar 2016, 12:24:58
Zitat von: Pythonf am 16 Januar 2016, 12:18:53
Bei mir funktioniert es super. Wäre es möglich, den Powerbefehl durch set $Dev on bzw off ersetzen, sodass z.B. die Verwendung von Homekit kompatibel ist.
Eventuell mit Reading state on/off - falls es möglich ist, die Informationen zu erhalten?

Beste Grüße
Fabian

Kommt noch, wird dann anhand des Websockets (message source = STANDBY) ausgewertet. Damit werde ich on/off implementieren um das power toggle zu umgehen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: purist am 16 Januar 2016, 18:31:58
Hallo,

ich bin neu hier, lese aber schon einige Zeit manche Themen mit und habe als Programmier-Laie allerhöchsten Respekt vor den Machern hier. Danke!

Vielleicht ist die Frage blöd, aber: wie kann ich das Modul downloaden?

Danke,

purist
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Pythonf am 16 Januar 2016, 18:33:36
Du lädst die *.pm aus dem ersten Thread und kopierst sie in das Verzeichnis /fhem/FHEM . Dort sollten auch einige andere *.pm Dateien sein. Dann machst du in FHEM einen shutdown restart und definierst wie oben beschrieben
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: purist am 16 Januar 2016, 18:54:22
Oh mann, ich glaub ich brauch ne Brille. Ich habe die .pm nicht gesehen :-) Also doch dumme Frage....

Danke jedenfalls!

VG purist
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: purist am 17 Januar 2016, 11:33:00
Klappt Super, danke Dominik!

VG Purist
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2016, 19:46:03
Neue Version im 1. Post.

ACHTUNG: Define wurde geändert, da jetzt alle Player per Autodiscover gefunden werden :)

v0.9
  - autodiscover BOSE SoundTouch players: autocreate BOSE_<deviceID>
  - add alias for newly created devices
  - update IP if the player IP changes
  - automatically re-connect websocket
  - support UTF-8 names with umlauts
  - reconnect websocket when connection closed
  - add firmware version & IP readings
  - automatically update /info on IP update
  - state: offline,playing,stopped,paused,online (online means standby)
  - support on/off commands based on current state
  - add support more readings for now_playing
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 22 Januar 2016, 16:44:28
Update v0.9.1 im 1. Post

- bugfix for on/off support
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 23 Januar 2016, 07:57:25
Hallo Dominik,

zunächst: Vielen Dank für dieses Modul!

Die erste Installation ist bei mir die v0.9.1 (20160122), ich nutze einen Banana PI, Debian/Jessie, FHEM Dev. - Zweig (stets aktuell gehalten), eine neue Soundtouch 10 (via WiFi) und eine neue Soundtouch 20 (kabelgebunden).

Bei meiner Installation fehlte noch dieses Paket (mit den entsprechenden Abhängigkeiten):
apt-get install libnet-bonjour-perl

Die beiden Soundtouch werden problemlos erkannt, auch die Namen werden übernommen.

Im Logfile gibt es nach erfolgreicher Erkennung diese Fehlermeldung dieses Warning:
PERL WARNING: Thread 3 terminated abnormally: Undefined subroutine &main::usleep called at ./FHEM/98_BOSEST.pm line 538.

Bisher festgestellte Herausforderungen:
1.) on/off funktioniert nicht (auch kein Log - Eintrag)
Nach ,,shutdown restart" funktioniert ,,off", allerdings kein ,,on" möglich (auch kein Log - Eintrag)
2.) im Prinzip sind alle set - Anweisungen betroffen, Beispiel: volume - Anzeige falsch, ein paar mal verändert, mal geht nichts, mal wird ein Wert angenommen (dann ist die Anzeige auch korrekt), aktuell nur an der Wifi - ST 10 getestet, liegt vermutlich nicht an der Wifi - Verbindung an sich, Telnet auf die Box funktioniert ohne Einschränkung

Jede Änderung wurde vorher gespeichert, auch bereits mehrfach "shutdown restart" durchgeführt. Könnte dieses merkwürdige Verhalten mit der Log-Fehlermeldung bei der Erkennung zusammenhängen?

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Januar 2016, 09:50:03
Hi Theo,

vielen Dank für das Feedback.

libnet-bonjour-perl werde ich im 1. Post hinzufügen.

Dein Fehler hat definitiv mit der Verwendung von "usleep" zu tun, da dies nicht definiert ist. Ich war davon ausgegangen, dass es eine Standard Perl Funktion ist. Dürfte aber nicht so sein. Habe es nun durch select(undef,undef,undef,.1) (=100ms sleep) ersetzt.

Teste mal die Version anbei und gib Bescheid ob es nun funktioniert.

//EDIT: Anhang entfernt. Aktuelle Version immer im 1. Post.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 23 Januar 2016, 10:07:14
Hallo Dominik,

ja, es funktioniert jetzt perfekt  :)

Habe nicht neu angelernt, einfach nur die Datei getauscht und ,,shutdown restart".

Vielen Dank und viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Januar 2016, 10:13:19
Super!

Verwende bitte die aktualisierte Version aus dem 1. Post. Mir ist noch ein Memory Leak aufgefallen. Sonst hängt morgen Früh dein FHEM ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: christophs am 23 Januar 2016, 13:15:03
Wollte dein Modul gerade testen. Habe die aktuelle Version aus dem 1. Post in FHEM kopiert, shutdown restart gemacht. System ist auf dem aktuellen Stand. Sobald ich ein define ... BOSEST versuche crasht FHEM bei mir komplett und ich muss es neu starten. Im Log steht nur noch "EV does not work with ithreads."
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Januar 2016, 14:19:46
Zitat von: christophs am 23 Januar 2016, 13:15:03
Wollte dein Modul gerade testen. Habe die aktuelle Version aus dem 1. Post in FHEM kopiert, shutdown restart gemacht. System ist auf dem aktuellen Stand. Sobald ich ein define ... BOSEST versuche crasht FHEM bei mir komplett und ich muss es neu starten. Im Log steht nur noch "EV does not work with ithreads."
Hast du FHEM auf Windows laufen? Oder auf welchem Plattform läuft es?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: christophs am 24 Januar 2016, 15:14:05
Nee, raspberry pi mit raspbian jessie
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Januar 2016, 15:49:34
Kannst du mal unter "package main;" folgendes einfügen
$ENV{MOJO_REACTOR} = "Mojo::Reactor::Poll";
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Januar 2016, 16:25:13
@christophs,
noch besser: apt-get install libev-perl
bitte das mal testen. danke dir!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: christophs am 24 Januar 2016, 20:50:23
libev-perl war bereits installiert. Das einfügen der Zeile oben hat leider auch nichts bewirkt. FHEM stürzt immer noch komplett ab beim define.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 25 Januar 2016, 00:24:50
Hallo,

ich habe Fhem ebenfalls auf einem Raspberry Pi2 laufen.
Nachdem define läuft fhem noch ein paar Sekunden. Unter unsorted werden die Soundtouch devices angelegt und dann verabschiedet sich fhem.
Im Log: PERL WARNING: Timer a71720a8880ac67bb849a1f4fe7e545b failed: Can't call method "reactor" on an undefined value at /usr/share/perl5/Mojo/IOLoop/Client.pm line 49.

Noch zur Info: Eine Soundtouch AN und ist per Lan verbunden. Die Andere ist AUS und per WLAN verbunden. Beide wurden aber direkt erkannt.
Kann am WE jeweils mit weiteren Test aushelfen.

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 25 Januar 2016, 12:22:51
Hallo Dominik,
erstmal Danke für das Modul!

Hab es runtergeladen, ins FHEM-Verzeichnis kopiert, SHUTDOWN RESTART und versucht zu definen, aber:

"Cannot load module BOSEST " --> was mache ich falsch ??

Übrigens bei "sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-net libev-perl" kommt folgende Meldung:

" Unable to locate package libnet-bonjour-net"

FHEM läuft bei mir auf einem Raspberry Pi2.

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 25 Januar 2016, 14:25:43
Hallo Sascha,

eventuell eine Hilfe:

Hast Du das Recht des Moduls nach dem kopieren korrigiert ?
Bei mir liegen die Module in /opt/fhem/FHEM.
Dort habe ich es hin kopiert und dann "sudo chown fhem. 98_BOSEST.pm"

libnet-bonjour-net hat meine installation (Raspberry Pi2) auch nicht zum installieren angeboten.
Ich habe  libnet-bonjour-perl installiert. Eventuell kommt der Abstrurz bei mir aus dem Grunde.

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 Januar 2016, 18:59:31
Hi,
hatte im apt-get im 1. Post einen Typo. Es heißt nicht libnet-bonjour-net sondern libnet-bonjour-perl, wie Treibhaus richtig geschrieben hat.

Bitte daher
sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl
ausführen und danach nochmals testen.

@christophs
Ich kann deinen Fehler nachstellen. Sieht so aus, als ob die Installation über Debian andere Packages installiert als "cpanm". Also kurzfristig kannst du wahrscheinlich auch über "sudo cpanm Mojolicious" den Fehler beheben. Ich suche noch nach einer Lösung wieso es mit den Standard Debian jessie Packages nicht funktioniert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 Januar 2016, 19:21:41
Zitat von: christophs am 23 Januar 2016, 13:15:03
Wollte dein Modul gerade testen. Habe die aktuelle Version aus dem 1. Post in FHEM kopiert, shutdown restart gemacht. System ist auf dem aktuellen Stand. Sobald ich ein define ... BOSEST versuche crasht FHEM bei mir komplett und ich muss es neu starten. Im Log steht nur noch "EV does not work with ithreads."

Update im 1. Post.
Bei mir funktionierts nun auch mit den installierten packages von Debian jessie.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 25 Januar 2016, 23:33:15
Zitat von: dominik am 25 Januar 2016, 18:59:31
Hi,
hatte im apt-get im 1. Post einen Typo. Es heißt nicht libnet-bonjour-net sondern libnet-bonjour-perl, wie Treibhaus richtig geschrieben hat.

Bitte daher
sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl
ausführen und danach nochmals testen.

@christophs
Ich kann deinen Fehler nachstellen. Sieht so aus, als ob die Installation über Debian andere Packages installiert als "cpanm". Also kurzfristig kannst du wahrscheinlich auch über "sudo cpanm Mojolicious" den Fehler beheben. Ich suche noch nach einer Lösung wieso es mit den Standard Debian jessie Packages nicht funktioniert.

OK, jetzt gehts erstmal.
Allerdings kommen keine Readings und IP ist unknown.
Außerdem startet FHEM nach "shutdown restart" nicht neu.

Internals:
   DEF        192.168.100.13
   DEVICEID   192.168.100.13
   NAME       websBOSE
   NR         310
   STATE      initialized
   TYPE       BOSEST
   Readings:
     2016-01-25 23:56:57   IP              unknown
   
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 25 Januar 2016, 23:56:08
Hallo dominik,

die neue Version von heute Abend (25.01.16- 18:xx) läuft ohne das  fhem.pl abstürzt.

Es läuft wieder wie mit dem 1. Script, das ich auf 2 Soundtouch-Boxen erweitert hatte.

TOLLE Arbeit.

INFO: Bei der automatischen Erkennung darf man den Alias im Nachhinein nicht ändern. Aktuell sollte die BOX über das eigene Frontend den Namen zuvor zugewiesen bekommen. Ansonsten taucht die Box wieder auf!

Unter dem Main-Menue: BOSEST
On/Off hat die Funktion wie die Powertaste. Es reagiert nur ON.  Off ist ohne Funktion.
D.h: On = Befehl(On) wenn Box - Aus und ON = Befehl(OFF) wenn Box - An.


Gruss Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 26 Januar 2016, 00:01:19
Zitat
OK, jetzt gehts erstmal.
Allerdings kommen keine Readings und IP ist unknown

DEVICEID:0
NAME: bose_system
NR:310
STATE:initialized
TYPE:BOSEST

Readings
IP:unknown

Das ist bei mir auch so.
Welche Geräte findest Du in fhem unter "unsorted" ?  Deine Soundtouch sollte dort aufgelistet werden.

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 26 Januar 2016, 00:02:49
Zitat von: Treibhaus am 26 Januar 2016, 00:01:19
Das ist bei mir auch so.
Welche Geräte findest Du in fhem unter "unsorted" ?  Deine Soundtouch sollte dort aufgelistet werden.

Gruß Jörg

Dort finde ich die Soundtouch mit o.G. Inhalt
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 26 Januar 2016, 00:16:57
ZitatDort finde ich die Soundtouch mit o.G. Inhalt

Bei mir sieht es z.Z. so aus. Nachdem ich die 2 Boxen einem Raum zugeordnet haben.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 26 Januar 2016, 00:19:20
Zitat von: Treibhaus am 26 Januar 2016, 00:16:57
Bei mir sieht es z.Z. so aus. Nachdem ich die 2 Boxen einem Raum zugeordnet haben.

ich seh leider nur bose_system, es erkennt meine Soundtouch nicht automatisch
sie läuft über WLAN, kanns daran liegen ?

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 26 Januar 2016, 20:10:38
Im "main" define sind noch die gleichen Settings wie bei einem gefundenen Player. Das werde ich noch entfernen um Verwirrung zu vermeiden. Also generell sind nur die neu angelegten Player zu verwenden.

In deinem Fall dürfte der Player also wirklich nicht gefunden worden sein. Ich poste dir im Laufe der Woche mal einen Testcode um zu prüfen ob der Player gefunden wird.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 26 Januar 2016, 20:26:39
Zitat von: dominik am 26 Januar 2016, 20:10:38
Im "main" define sind noch die gleichen Settings wie bei einem gefundenen Player. Das werde ich noch entfernen um Verwirrung zu vermeiden. Also generell sind nur die neu angelegten Player zu verwenden.

In deinem Fall dürfte der Player also wirklich nicht gefunden worden sein. Ich poste dir im Laufe der Woche mal einen Testcode um zu prüfen ob der Player gefunden wird.

Dann sag ich schon mal Danke und warte ...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: christophs am 26 Januar 2016, 21:49:47
So, bei mir stürzt es nun auch nicht mehr ab. Leider findet er meine SoundTouch10 nicht. Gerät ist an und per WLAN verbunden. Define per "define bose_system BOSEST". Das war's dann aber auch. Die Box findet er leider nicht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 28 Januar 2016, 18:36:59
Für alle bei denen die Suche nach Device nicht funktioniert, bitte das Script anbei auf der Konsole mit
perl testsearch.pl
ausführen. Danach sollten alle gefundenen SoundTouch Geräte angezeigt werden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 29 Januar 2016, 07:46:55
Zitat von: dominik am 28 Januar 2016, 18:36:59
Für alle bei denen die Suche nach Device nicht funktioniert, bitte das Script anbei auf der Konsole mit
perl testsearch.pl
ausführen. Danach sollten alle gefundenen SoundTouch Geräte angezeigt werden.

Ja, werden sie ... und nun ?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 Januar 2016, 10:45:55
Entferne dein define mal und starte fhem neu. Danach nochmals define bosesystem BOSEST festlegen und lass mich wissen ob es dann funktioniert. Denn wenn der Testcode das Device findet, müsste es auch durch das Modul gefunden werden. Ist der gleiche Code. Warte auch mal 2-3 Minuten nach dem define und schau dann in "Unsorted" ob das Device angelegt wurde.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 13:29:16
Zitat von: dominik am 30 Januar 2016, 10:45:55
Entferne dein define mal und starte fhem neu. Danach nochmals define bosesystem BOSEST festlegen und lass mich wissen ob es dann funktioniert. Denn wenn der Testcode das Device findet, müsste es auch durch das Modul gefunden werden. Ist der gleiche Code. Warte auch mal 2-3 Minuten nach dem define und schau dann in "Unsorted" ob das Device angelegt wurde.

Nee, macht es nicht ... 10min gewartet
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 Januar 2016, 13:31:17
Ok, dann poste mal einen Log Output mit verbose 5. Vielleicht lässt sich daran was ableiten.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 13:34:14
Zitat von: dominik am 30 Januar 2016, 13:31:17
Ok, dann poste mal einen Log Output mit verbose 5. Vielleicht lässt sich daran was ableiten.

Bin jetzt nicht ganz so bewandert, wie mach ich das ?
Vielleicht hilft auch das hier schon weiter:
PERL WARNING: Thread 2 terminated abnormally: No value specified for 'ForceArray' option in call to XMLin() at ./FHEM/98_BOSEST.pm line 569 thread 2
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 13:47:25
Zitat von: pernodjaegermeister am 30 Januar 2016, 13:34:14
Bin jetzt nicht ganz so bewandert, wie mach ich das ?
Vielleicht hilft auch das hier schon weiter:
PERL WARNING: Thread 2 terminated abnormally: No value specified for 'ForceArray' option in call to XMLin() at ./FHEM/98_BOSEST.pm line 569 thread 2


2016.01.30 13:43:10 1: Including fhem.cfg
2016.01.30 13:43:10 3: telnetPort: port 7072 opened
2016.01.30 13:43:10 3: WEB: port 8083 opened
2016.01.30 13:43:10 3: WEBphone: port 8084 opened
2016.01.30 13:43:10 3: WEBtablet: port 8085 opened
2016.01.30 13:43:10 3: TABLETUI: new ext defined infix:ftui: dir:./www/tablet:
2016.01.30 13:43:10 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui ...
2016.01.30 13:43:11 2: eventTypes: loaded 2657 events from ./log/eventTypes.txt
2016.01.30 13:43:11 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.01.30 13:43:11 3: Opening HMLAN1 device 192.168.100.16:1000
2016.01.30 13:43:11 3: HMLAN1 device opened
2016.01.30 13:43:11 1: HMLAN_Parse: HMLAN1 new condition init
2016.01.30 13:44:03 3: AMAD (websTabletWohnzimmer) - defined with host 192.168.100.25 on port 8090 and interval 180 (sec)
2016.01.30 13:44:03 3: AMAD (AMADCommBridge) - defined Bridge with Socketport 8090
2016.01.30 13:44:03 3: AMADCommBridge: port 8090 opened
2016.01.30 13:44:04 3: Opening myJeeLink device /dev/ttyUSB0
2016.01.30 13:44:04 3: Setting myJeeLink serial parameters to 57600,8,N,1
2016.01.30 13:44:04 3: myJeeLink device opened
2016.01.30 13:44:08 1: Including ./log/fhem.save
2016.01.30 13:44:09 1: usb create starting
2016.01.30 13:44:10 3: Probing CUL device /dev/ttyAMA0
2016.01.30 13:44:10 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.01.30 13:44:10 3: Probing FRM device /dev/ttyAMA0
Thread 2 terminated abnormally: No value specified for 'ForceArray' option in call to XMLin() at ./FHEM/98_BOSEST.pm line 569 thread 2
2016.01.30 13:44:16 1: usb create end
2016.01.30 13:44:16 2: Messages collected while initializing FHEM: configfile: Unknown command Please, try help.
2016.01.30 13:44:16 0: Featurelevel: 5.7
2016.01.30 13:44:16 0: Server started with 149 defined entities (fhem.pl:10639/2016-01-26 perl:5.014002 os:linux user:pi pid:28957)
2016.01.30 13:44:16 1: HMLAN_Parse: HMLAN1 new condition ok
2016.01.30 13:44:17 1: 192.168.100.16:1000 disconnected, waiting to reappear (HMLAN1)
2016.01.30 13:44:17 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.01.30 13:44:17 1: 192.168.100.16:1000 reappeared (HMLAN1)
2016.01.30 13:44:17 1: HMLAN_Parse: HMLAN1 new condition init
2016.01.30 13:44:17 3: myJeeLink: Unknown code , help me!
2016.01.30 13:44:17 1: HMLAN_Parse: HMLAN1 new condition ok
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 Januar 2016, 14:00:22
Das ist definitiv der Fehler! ;)

Kannst du mal die Version anbei testen?

//Edit: Anhang entfernt - aktuelle Version im 1.Post
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 14:08:35
Zitat von: dominik am 30 Januar 2016, 14:00:22
Das ist definitiv der Fehler! ;)

Kannst du mal die Version anbei testen?

PERL WARNING: Thread 2 terminated abnormally: No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/98_BOSEST.pm line 569 thread 2
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 Januar 2016, 14:36:30
Sieht schon besser aus, anbei noch eine Testversion.

//Edit: Anhang entfernt - aktuelle Version im 1.Post
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 15:22:21
Zitat von: pernodjaegermeister am 30 Januar 2016, 14:08:35
PERL WARNING: Thread 2 terminated abnormally: No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/98_BOSEST.pm line 569 thread 2

ok, jetzt ist es erstmal da ... nur Readings fehlen noch, also Titel etc..
2016.01.30 15:18:56 1: PERL WARNING: Timer 6bbe52d8a810a9900f5cb21c0f6db643 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 152.
2016.01.30 15:19:52 5: BOSEST: ?, deviceID: 0, IP: unknown
2016.01.30 15:19:52 5: BOSEST: ?, deviceID: 0, IP: unknown
2016.01.30 15:20:04 5: BOSEST: Start readingsSingleUpdate
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 22:02:09
Hallo Dominik,
erstmal vielen Dank für deine Bemühungen und natürlich das Modul.
Nachdem meine Soundtouch jetzt erscheint, hab ich nur noch folgenden Fehler im Log:
PERL WARNING: Timer e4deb82fce05f0d064e531189eba64d9 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 152.
Auch verabschiedet sich jedesmal FHEM beim Speichern der fhem.cfg, entferne ich die BOSEST Definition läuft alles prima.
Wenn ich es richtig verstanden habe, müssten auch die Infos der now_playing als Reading erscheint, oder ?
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 30 Januar 2016, 22:03:15
übrigens läuft sie gerade und zeigt trotzdem offline an ?!
Power on, Volume, Presets schalten geht
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 Februar 2016, 12:59:07
Hallo zusammen,

ich habe im 1. Post eine neue Version hochgeladen. Dabei habe ich ziemlich viele Codeteile komplett überarbeitet, so dass keine extra Prozesse mehr benötigt werden. Auch der Suchprozess wird jetzt über BlockingCall alle 60s gestartet und läuft nicht mehr die ganze Zeit. Das spart jede Menge Prozessorlast und Speicher.

v0.9.4
- CHANGE: completely drop ithreads (reduces memory usage)
- CHANGE: search for new devices every 60s (BlockingCall)
- CHANGE: check presence status based on websocket connection
- BUGFIX: removed arguments and readings for main BOSEST
- FEATURE: read volume on startup

Feedback immer willkommen!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 13:22:27
Zitat von: dominik am 06 Februar 2016, 12:59:07
Hallo zusammen,

ich habe im 1. Post eine neue Version hochgeladen. Dabei habe ich ziemlich viele Codeteile komplett überarbeitet, so dass keine extra Prozesse mehr benötigt werden. Auch der Suchprozess wird jetzt über BlockingCall alle 60s gestartet und läuft nicht mehr die ganze Zeit. Das spart jede Menge Prozessorlast und Speicher.

v0.9.4
- CHANGE: completely drop ithreads (reduces memory usage)
- CHANGE: search for new devices every 60s (BlockingCall)
- CHANGE: check presence status based on websocket connection
- BUGFIX: removed arguments and readings for main BOSEST
- FEATURE: read volume on startup

Feedback immer willkommen!

Hallo Dominik,

erstmal Danke ... Bose wird gefunden, Presence klappt jetzt auch
on/off, Channel, Volume funktoniert super

Aber:
-immer noch keine Readings aus now_playing
-beim speichern der fhem.cfg stürzt fhem ab und muss über telent neu gestartet werden

einziger Fehler im Logfile:
PERL WARNING: Timer 1c83595d09310be335726c94e9753b7c failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 152

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 Februar 2016, 14:35:39
@Sascha
Erhältst du die Readings aus now_playing wenn du gerade Radio abspielst und dann fhem startest? Oder wird dann auch nix angezeigt?

//Edit, kommt im Log die Meldung "New IP (...)"?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 21:26:27
Zitat von: dominik am 06 Februar 2016, 14:35:39
@Sascha
Erhältst du die Readings aus now_playing wenn du gerade Radio abspielst und dann fhem startest? Oder wird dann auch nix angezeigt?

//Edit, kommt im Log die Meldung "New IP (...)"?

@Dominik
Nein, auch dann keine Readings

BOSEST: New IP 192.168.100.13 for BOSE_000C8A9BDB0E
PERL WARNING: Timer f204638f7ec14f9942d1a786d573c153 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 152.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 21:41:29
hier noch mal mit erweiterten Logs, Radio läuft beim Neustart:

2016.02.06 21:37:56 3: BOSEST: Device websBOSE (000C8A9BDB0E) found.
2016.02.06 21:37:56 3: BOSEST: 'websBOSE' is online
2016.02.06 21:38:01 5: BOSEST: Start CommandDefine
2016.02.06 21:38:01 5: BOSEST: Start UpdateIP
2016.02.06 21:38:01 3: BOSEST: New IP 192.168.100.13 for BOSE_000C8A9BDB0E
2016.02.06 21:38:01 5: BOSEST: Start readingsSingleUpdate
2016.02.06 21:38:01 5: BOSEST: Start readingsSingleUpdate
2016.02.06 21:38:01 5: BOSEST: Start readingsSingleUpdate
2016.02.06 21:38:02 5: BOSEST: ?, deviceID: 000C8A9BDB0E, IP: 192.168.100.13
2016.02.06 21:38:02 5: BOSEST: Start readingsSingleUpdate
2016.02.06 21:38:02 5: BOSEST: Start readingsSingleUpdate
2016.02.06 21:38:13 5: BOSEST: ?, deviceID: 0, IP: unknown
2016.02.06 21:38:13 5: BOSEST: ?, deviceID: 000C8A9BDB0E, IP: 192.168.100.13
2016.02.06 21:38:13 5: BOSEST: ?, deviceID: 0, IP: unknown
2016.02.06 21:38:13 5: BOSEST: ?, deviceID: 000C8A9BDB0E, IP: 192.168.100.13
2016.02.06 21:38:15 5: BOSEST: ?, deviceID: 000C8A9BDB0E, IP: 192.168.100.13
2016.02.06 21:38:15 5: BOSEST: ?, deviceID: 000C8A9BDB0E, IP: 192.168.100.13
2016.02.06 21:38:20 1: PERL WARNING: Timer e57374d83d36e5c0b42ec7a4f0ae2a15 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 152.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 21:43:11
hier noch ein Screenshot vom Device
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 21:59:56
Ok, ich hab jetzt noch mal alles rausgelöscht,
Modul noch mal neu runter geladen (hattest du nochmal was geändert?)
erneut define bose_system BOSEST

und nun? alle Readings da, Yippieh  ;D

aber, die Readings aktualisieren sich nicht ... auch nicht beim Kanalwechsel
Da ich z.B. Deezer nutze, müssten die Readings zyklisch abgerufen werden.

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 Februar 2016, 22:15:03
Ich dachte mir gerade beim Log Output, dass du da eine alte Version verwendest.

Super, dass es nun klappt. Deezer wird noch nicht unterstützt. Probier mal Volume/Radio zu ändern und prüfe ob sich die Readings aktualisieren.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 22:27:43
Zitat von: dominik am 06 Februar 2016, 22:15:03
Ich dachte mir gerade beim Log Output, dass du da eine alte Version verwendest.

Super, dass es nun klappt. Deezer wird noch nicht unterstützt. Probier mal Volume/Radio zu ändern und prüfe ob sich die Readings aktualisieren.

Bei Änderung Volume, Channel ändert es nur die Readings für Volume und Channel, aber nicht Track, Artist etc.
Wenn ich Deezer höre, stehen die Infos genauso in now_playing
Starte ich bei Deezer FHEM neu, sind die Readings auch richtig, aktualisieren sich nur nicht
Ich hatte meine Bose auch ohne Modul über FHem eingebunden und die Infos zyklisch aller 5 sek geholt
Meine Variante ist bloß nicht so schön wie dein Modul

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 06 Februar 2016, 22:29:43
Screenshot
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 07 Februar 2016, 19:23:54
Das "unkown" bei IP sollte nicht sein...funktioniert es dennoch!? Wenn ja, dann habe ich da irgendwo ein Reading Update vergessen.

Die Aktualisierung läuft nicht zyklisch, sondern über den WebSocket sofort :) Das ermöglicht zukünftig auch die Tasten sofort auszuwerten und mit extra Funktionen zu versehen.

//Edit: Stell mir bitte noch das now_playing während des Abspielens von Deezer zur Verfügung, dann kann ich prüfen ob da noch paar Readings fehlen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 07 Februar 2016, 19:59:30
Hallo Dominik,

kurz das Feedback zur v0.9.4 mit meinen Banana PI & Debian/Jessie:

- alte Installation wurde zuvor gelöscht
- neue Installation ohne Probleme
- ST 10 (via WiFi) & ST 20 (via Kabel) werden problemlos erkannt
- Steuerung funktioniert

Im Log habe ich diese Warnings bekommen:
PERL WARNING: Use of uninitialized value $ip in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 604.
BOSEST: failed: 500 No Host option provided

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 07 Februar 2016, 20:33:40
Zitat von: dominik am 07 Februar 2016, 19:23:54
Das "unkown" bei IP sollte nicht sein...funktioniert es dennoch!? Wenn ja, dann habe ich da irgendwo ein Reading Update vergessen.

Die Aktualisierung läuft nicht zyklisch, sondern über den WebSocket sofort :) Das ermöglicht zukünftig auch die Tasten sofort auszuwerten und mit extra Funktionen zu versehen.

//Edit: Stell mir bitte noch das now_playing während des Abspielens von Deezer zur Verfügung, dann kann ich prüfen ob da noch paar Readings fehlen.

Ja, es funktioniert, bis auf die Readings

<nowPlaying deviceID="000C8A9BDB0E" source="DEEZER" sourceAccount="xxx">
<ContentItem source="DEEZER" type="station" location="37151" sourceAccount="xxx" isPresetable="true"><itemName>Hits</itemName></ContentItem>
<track>Can You Feel the Love Tonight</track>
<artist>Elton John</artist>
<album>The Lion King: Special Edition Original Soundtrack</album>
<stationName>Hits</stationName>
<art artImageStatus="IMAGE_PRESENT">http://api.deezer.com/album/301009/image?size=big</art>
<time total="241">38</time>
<rating>NONE</rating>
<skipEnabled/>
<playStatus>PLAY_STATE</playStatus>
<streamType>RADIO_TRACKS</streamType>
<artistID>413</artistID>
<trackID>3117869</trackID>
</nowPlaying>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 07 Februar 2016, 20:37:10
die Readings (letzte Aktualisierung gestern Nacht), diesmal auch mit IP :-)

2016.02.07 20:00:18 1: PERL WARNING: Use of uninitialized value $ip in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 588.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 08 Februar 2016, 18:50:29
@Sascha, Theo
Bitte mal die Version anbei testen.

Das WARNING sollte weg sein und die Bonjour Suche nach einer IP müsste nun auch immer (egal ob Fehler oder nicht) alle 60s wiederholt werden. Für Deezer hab ich die Readings aus deinem Post ebenfalls alle mit aufgenommen.

Gebt Bescheid wie es läuft.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 08 Februar 2016, 19:32:31
Zitat von: dominik am 08 Februar 2016, 18:50:29
@Sascha, Theo
Bitte mal die Version anbei testen.

Das WARNING sollte weg sein und die Bonjour Suche nach einer IP müsste nun auch immer (egal ob Fehler oder nicht) alle 60s wiederholt werden. Für Deezer hab ich die Readings aus deinem Post ebenfalls alle mit aufgenommen.

Gebt Bescheid wie es läuft.

Hallo Dominik,
Modul aktualisiert, bose neu definiert, gleiches Bild ... Readings werden nicht aktualisiert, egal ob Radio oder Deezer, Warning kommt immer noch
PERL WARNING: Timer 6d44d8ab48ce377aa9f486eaf2c8f8b8 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 08 Februar 2016, 19:34:57
Hallo Dominik,

erstes Feedback:

- fhem shutdown, Datei getauscht, fhem wieder gestartet: keinerlei Warnings
- alle WebRadio - Funkionen via HTML-Frontend ausprobiert: funktioniert, keine Warnings
- die meisten Readings werden angezeigt und aktualisiert (einige gibt es nicht für Radio, z.B. Artist oder Track)

Ich nutze fast ausschließlich WebRadio, daher habe ich nur dazu Input.

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 08 Februar 2016, 19:41:07
Hallo Dominik, Sascha,

nur um den Unterschied zu unterstreichen:
Ich habe nicht neu angelernt, die Einstellungen diesmal einfach nur übernommen.

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 08 Februar 2016, 19:41:41
Danke euch fürs Testen!

@Sascha, kannst du mal dein Log mit Loglevel 5 posten?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 08 Februar 2016, 20:25:36
Zitat von: dominik am 08 Februar 2016, 19:41:41
Danke euch fürs Testen!

@Sascha, kannst du mal dein Log mit Loglevel 5 posten?
nach Neustart, bereinigt, mal Channel und Volume geändert

2016.02.08 20:19:27 1: Including fhem.cfg
2016.02.08 20:19:27 3: telnetPort: port 7072 opened
2016.02.08 20:19:27 3: WEB: port 8083 opened
2016.02.08 20:19:27 3: WEBphone: port 8084 opened
2016.02.08 20:19:27 3: WEBtablet: port 8085 opened
2016.02.08 20:19:27 3: TABLETUI: new ext defined infix:ftui: dir:./www/tablet:
2016.02.08 20:19:27 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui ...
2016.02.08 20:19:28 2: eventTypes: loaded 2895 events from ./log/eventTypes.txt
2016.02.08 20:19:28 1: HMLAN_Parse: HMLAN1 new condition disconnected
2016.02.08 20:19:28 3: Opening HMLAN1 device 192.168.100.16:1000
2016.02.08 20:19:28 3: HMLAN1 device opened
2016.02.08 20:19:28 1: HMLAN_Parse: HMLAN1 new condition init
2016.02.08 20:19:29 3: AMAD (websTabletWohnzimmer) - defined with host 192.168.100.25 on port 8090 and interval 180 (sec)
2016.02.08 20:19:29 3: AMAD (AMADCommBridge) - defined Bridge with Socketport 8090
2016.02.08 20:19:29 3: AMADCommBridge: port 8090 opened
2016.02.08 20:19:41 0: Server started with 160 defined entities (fhem.pl:10747/2016-02-07 perl:5.014002 os:linux user:fhem pid:8611)
2016.02.08 20:20:40 3: BOSEST: BOSE_000C8A9BDB0E, new IP (192.168.100.13)
2016.02.08 20:20:41 5: BOSEST: parseAndUpdateNowPlaying
2016.02.08 20:20:41 4: BOSEST: BOSE_000C8A9BDB0E, start new WebSocket.
2016.02.08 20:20:41 5: BOSEST: BOSE_000C8A9BDB0E, start WebSocket connection.
2016.02.08 20:20:41 4: BOSEST: BOSE_000C8A9BDB0E, WebSocket connected.
2016.02.08 20:20:44 5: BOSEST: Callback called
2016.02.08 20:21:03 1: PERL WARNING: Timer bfd7d94f1c47e4d76e165f8aef50ea9a failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.
2016.02.08 20:22:04 5: BOSEST: set /key => <key state="press" sender="Gabbo">PRESET_5</key>
2016.02.08 20:22:04 5: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.02.08 20:22:04 5: BOSEST: set /key => <key state="release" sender="Gabbo">PRESET_5</key>
2016.02.08 20:22:04 5: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.02.08 20:22:34 5: BOSEST: set /volume => <volume>8</volume>
2016.02.08 20:22:34 5: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 05:59:28
Guten Morgen zusammen,

gestern Abend gab es dann doch noch einen anderen Eintrag im Log (nur die deviceID habe ich überschrieben, um diese hier privat zu halten):


2016.02.07 21:20:29 3: BOSEST: Unknown event, please implement:
$VAR1 = {
          'updates' => {
                         'deviceID' => '123456789012',
                         'clockDisplayUpdated' => {
                                                  'clockDisplay' => {
                                                                    'clockConfig' => {
                                                                                     'localTime' => 'Sun Feb  7 08:20:29 GMT 2016',
                                                                                     'syncState' => 'false',
                                                                                     'syncEnable' => 'true',
                                                                                     'timeFormat' => 'TIME_FORMAT_12HOUR_ID',
                                                                                     'systemEnable' => 'false',
                                                                                     'timezoneInfo' => 'GMT',
                                                                                     'clockError' => '0',
                                                                                     'userEnable' => 'true',
                                                                                     'utcTime' => '24247940',
                                                                                     'userDefinedOffset' => '0',
                                                                                     'brightnessLevel' => 'BRIGHTNESS_LEVEL_1_ID'
                                                                                   }
                                                                  }
                                                }
                       }
        };

2016.02.07 21:20:29 3: BOSEST: Unknown event, please implement:
$VAR1 = {
          'updates' => {
                         'clockDisplayUpdated' => {
                                                  'clockDisplay' => {
                                                                    'clockConfig' => {
                                                                                     'timezoneInfo' => 'GMT',
                                                                                     'clockError' => '0',
                                                                                     'systemEnable' => 'false',
                                                                                     'timeFormat' => 'TIME_FORMAT_12HOUR_ID',
                                                                                     'localTime' => 'Sun Feb  7 08:20:29 GMT 2016',
                                                                                     'syncEnable' => 'true',
                                                                                     'syncState' => 'true',
                                                                                     'brightnessLevel' => 'BRIGHTNESS_LEVEL_1_ID',
                                                                                     'userDefinedOffset' => '0',
                                                                                     'utcTime' => '24247940',
                                                                                     'userEnable' => 'true'
                                                                                   }
                                                                  }
                                                },
                         'deviceID' => '123456789012'
                       }
        };



Viele Grüße
Theo

P.S. alles andere funktioniert wie gehabt


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Herr Paschulke am 09 Februar 2016, 17:10:58
Hallo,

nachdem ich zunächst mit dem ursprünglichen Ansatz (http://forum.fhem.de/index.php/topic,31785.0.html) meine ST10 erfolgreich mit FHEM benutzen konnte, habe ich jetzt auf den aktuellen Stand des Moduls (aus diesem Beitrag (http://forum.fhem.de/index.php/topic,46838.msg406365.html#msg406365)) gewechselt.

Die Einbindung passiert minimal mit:
define bose_system BOSEST

define BOSE_507224xxxxxx BOSEST 507224xxxxxx
attr BOSE_507224xxxxxx alias Bad


Bei mir sind zwei Boxen in Betrieb (SoundTouch 10 und SoundTouch 20 II), die beide nach einem Neustart von FHEM gefunden
werden und soweit schon ganz gut laufen. Offensichtlich gibt es aber bei beiden Boxen mit den Readings Probleme.
Der aktuelle Betriebszustand (z.B. Wiedergabe von Preset 3) wird wahrscheinlich nicht richtig verarbeitet. Stattdessen
erscheinen beide Boxen immer in STANDBY, was dazu führt, dass zwar mit "set BOSE_xxx on" das Einschalten (bzw. eigentlich toggle)
gemacht werden kann. Ein "set BOSE_xxx off" aber niemals ausgeführt wird (da die Box ja vermeintlich aus ist).

Anbei mal ein Bild von den Readings beim Abspielen eines Webradios auf P3.
Im Log (log level 3) erscheinen im normalen Betrieb keine Einträge, lediglich nach einem Neustart gibt es folgende Ausgaben:
2016.02.08 23:56:16 3: telnetForBlockingFn_1454972176: port 55490 opened
2016.02.08 23:56:24 3: BOSEST: BOSE_507224xxxxxx, new IP (192.168.40.133)
2016.02.08 23:56:48 1: PERL WARNING: Timer 722e85da3a76e5333de1389ce444ca7a failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.
2016.02.08 23:58:58 3: BOSEST: BOSE_000C8Axxxxxx, new IP (192.168.40.132)
2016.02.08 23:59:19 1: PERL WARNING: Timer a83e2b72da619ef28dbd64eb450e3bf9 failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 17:44:44
@Theo
Diese Meldung ist korrekt. "clockDisplayUpdated" ist im Modul nicht implementiert. Ich werde das in der nächsten Version abfangen.

@Sascha, Pschulke
Ich habe diese Meldung nun auch 1x im Log bei mir gefunden:
PERL WARNING: Timer bfd7d94f1c47e4d76e165f8aef50ea9a failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.
Testet mal die Version anbei? Dort frage ich nun ab ob der WebSocket verbunden ist und wenn nicht, versucht er später (60 Sekunden) sich wieder neu zu verbinden.

Wenn das nicht funktioniert, dann testet mal mit testws.pl
- IP im Script ändern
- Mit "perl testws.pl" aufrufen und warten bis "start mojo" erscheint
- Sender wechseln und prüfen ob in der Konsole XML Output kommt

//Edit: BOSEST.pm entfernt. Testet mal nur das testws.pl Script. Bei mir tritt auch gerade der gleiche Fehler auf somit kann ich nun hoffentlich genauer analysieren ;)

//Edit2: Mit der Version anbei müsste es nun klappen. Die Verbindung wird jetzt neu aufgebaut wenn der Fehler auftritt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 19:53:38
Zitat von: dominik am 09 Februar 2016, 17:44:44
@Theo
Diese Meldung ist korrekt. "clockDisplayUpdated" ist im Modul nicht implementiert. Ich werde das in der nächsten Version abfangen.

@Sascha, Pschulke
Ich habe diese Meldung nun auch 1x im Log bei mir gefunden:
PERL WARNING: Timer bfd7d94f1c47e4d76e165f8aef50ea9a failed: Can't locate object method "send" via package "Mojo::Transaction::HTTP" at ./FHEM/98_BOSEST.pm line 123.
Testet mal die Version anbei? Dort frage ich nun ab ob der WebSocket verbunden ist und wenn nicht, versucht er später (60 Sekunden) sich wieder neu zu verbinden.

Wenn das nicht funktioniert, dann testet mal mit testws.pl
- IP im Script ändern
- Mit "perl testws.pl" aufrufen und warten bis "start mojo" erscheint
- Sender wechseln und prüfen ob in der Konsole XML Output kommt

//Edit: BOSEST.pm entfernt. Testet mal nur das testws.pl Script. Bei mir tritt auch gerade der gleiche Fehler auf somit kann ich nun hoffentlich genauer analysieren ;)

//Edit2: Mit der Version anbei müsste es nun klappen. Die Verbindung wird jetzt neu aufgebaut wenn der Fehler auftritt.

erstmal Danke für deine Mühe
jetzt als Endlosschleife im Logfile:
2016.02.09 19:50:13 5: BOSEST: Callback called
2016.02.09 19:50:13 3: BOSEST: BOSE_000C8A9BDB0E, WebSocket failed, retry.
2016.02.09 19:50:13 5: BOSEST: BOSE_000C8A9BDB0E, start WebSocket connection.
2016.02.09 19:50:13 4: BOSEST: BOSE_000C8A9BDB0E, WebSocket connected.
2016.02.09 19:50:14 5: BOSEST: Callback called
2016.02.09 19:50:14 3: BOSEST: BOSE_000C8A9BDB0E, WebSocket failed, retry.
2016.02.09 19:50:14 5: BOSEST: BOSE_000C8A9BDB0E, start WebSocket connection.
2016.02.09 19:50:14 4: BOSEST: BOSE_000C8A9BDB0E, WebSocket connected.
2016.02.09 19:50:17 5: BOSEST: Callback called
2016.02.09 19:50:17 3: BOSEST: BOSE_000C8A9BDB0E, WebSocket failed, retry.
2016.02.09 19:50:17 5: BOSEST: BOSE_000C8A9BDB0E, start WebSocket connection.
2016.02.09 19:50:17 4: BOSEST: BOSE_000C8A9BDB0E, WebSocket connected.


wenn ich "perl testws.pl" in fhem-konsole eingebe, steht im logfile:
"start mojo", wo soll dann der XML-Output zu sehen sein ?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 09 Februar 2016, 20:01:12
Hallo dominik,

die neue Version des Moduls funktioniert. Die Readings werden korrekt angezeigt und die Steuerung meiner Soundtouch 10 klappt. Allerdings dauert es nach dem Start von FHEM 60 Sekunden bis eine Verbindung zu der Soundtouch 10 besteht. Eine Endlosschleife entsteht nicht. testws.p muss ich noch testen.
[/size]

2016.02.09 19:52:00 1: Including fhem.cfg
2016.02.09 19:52:02 3: WEB: port 8083 opened
2016.02.09 19:52:02 3: FHZ opening FHZ device /dev/ttyUSB0
2016.02.09 19:52:03 3: FHZ opened FHZ device /dev/ttyUSB0
2016.02.09 19:52:21 1: Including /opt/fhem/log/fhem.save
2016.02.09 19:52:21 0: Featurelevel: 5.7
2016.02.09 19:52:21 0: Server started with 25 defined entities (fhem.pl:10769/2016-02-08 perl:5.020002 os:linux user:fhem pid:17489)
2016.02.09 19:52:21 3: telnetForBlockingFn_1455043941: port 44451 opened
2016.02.09 19:53:00 3: BOSEST: BOSE_EC24B88AC100, new IP (192.168.178.42)
2016.02.09 19:53:07 3: BOSEST: BOSE_EC24B88AC100, WebSocket connection succeed.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 20:24:50
Hallo Dominik,

erneut nur die Datei getauscht:


2016.02.09 19:51:34 3: BOSEST: BOSE_123456789012, new IP (192.168.69.161)
2016.02.09 19:51:35 3: BOSEST: BOSE_210987654321, new IP (192.168.69.162)
2016.02.09 19:51:36 3: BOSEST: BOSE_123456789012, WebSocket connection succeed.
2016.02.09 19:51:36 3: BOSEST: BOSE_210987654321, WebSocket connection succeed.


Keine Probleme!

Vielen Dank für Deine Arbeit!

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 20:26:42
@Theo, nmarion
super! testws.pl braucht ihr nicht testen wenn es läuft.
Das es teilweise 60s dauert bis die Box gefunden wird, ist schon ok.

@Sascha
testws.pl liefert den Output direkt in der Konsole, also nach "start mojo" sobald du irgendwelche Tasten drückst. Wenn das nicht funktioniert, dann dürften bei dir die WebSockets nicht laufen (wieso auch immer). Welche softwareVersion wird bei dir angezeigt?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 20:35:00
Zitat von: dominik am 09 Februar 2016, 20:26:42
@Theo, nmarion
super! testws.pl braucht ihr nicht testen wenn es läuft.
Das es teilweise 60s dauert bis die Box gefunden wird, ist schon ok.

@Sascha
testws.pl liefert den Output direkt in der Konsole, also nach "start mojo" sobald du irgendwelche Tasten drückst. Wenn das nicht funktioniert, dann dürften bei dir die WebSockets nicht laufen (wieso auch immer). Welche softwareVersion wird bei dir angezeigt?

Softwareversion von was? Bose, Fhem ?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 20:38:38
Bose
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 09 Februar 2016, 20:46:01
Die aktuelle Version bei meiner Soundtouch 10 ist :
10.0.11.24675.1494103 epdbuild.trunk.hepdswbld04.2015-11-04T13:43:25  ob das auch auf pernodjaegermeister zutrifft weiß ich nicht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 20:54:10
Ja, ich auch
10.0.11.24675.1494103 epdbuild.trunk.hepdswbld04.2015-11-04
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 21:04:54
Ok, die hab ich auch. Dann teste mal bitte mit Testws.pl.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 21:24:02
Zitat von: dominik am 09 Februar 2016, 21:04:54
Ok, die hab ich auch. Dann teste mal bitte mit Testws.pl.
Hallo Dominik,
wenn ich "perl testws.pl" in Konsole eingebe, sehe ich gar nichts
nur im Logfile sehe ich ein start mojo ... mach ich was falsch ?
ich habe jetzt mehrfach versucht, bosest neu zu definieren
aber es kommt im logfile immer nur:
2016.02.09 21:23:22 3: BOSEST: BOSE_000C8A9BDB0E, WebSocket failed, retry.
2016.02.09 21:23:22 5: BOSEST: BOSE_000C8A9BDB0E, start WebSocket connection.
2016.02.09 21:23:22 4: BOSEST: BOSE_000C8A9BDB0E, WebSocket connected.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 21:33:38
Ich meine damit nicht die fhem Konsole, sondern die Linux Konsole. Also direkt per ssh verbinden und dort dann das Script ausführen, nicht im fhem.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 21:38:05
Zitat von: dominik am 09 Februar 2016, 21:33:38
Ich meine damit nicht die fhem Konsole, sondern die Linux Konsole. Also direkt per ssh verbinden und dort dann das Script ausführen, nicht im fhem.

so?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 09 Februar 2016, 21:42:03
Bei mir erscheint auch nur start mojo wie man im Screenshot von  pernodjaegermeister sieht. In den Logfiles von FHEM steht nichts 
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2016, 21:50:51
Genau so...nachdem start mojo erscheint, kannst du mal paar Knöpfe am Bose drücken. Danach müsste eine Ausgabe in der Konsole erscheinen.

Wichtig: Unbedingt die IP im Script vorher anpassen-mit der eines Bose speakers.

Das Script dient nur zum Testen, hat nix mit fhem zu tun und wird auch nicht benötigt wenn alles funktioniert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 09 Februar 2016, 22:00:49
Hatte die IP angepasst. Kommt trotzdem nichts. Macht aber nichts da das Modul ja läuft. :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 22:02:53
Zitat von: nmarion am 09 Februar 2016, 22:00:49
Hatte die IP angepasst. Kommt trotzdem nichts. Macht aber nichts da das Modul ja läuft. :)

nur bei mir leider nicht  :-\
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 22:18:18
Habe jetzt auch mal das Skript gestartet und eine Taste gedrückt: Hunderte Zeichen mit Soundtouch - Infos werden angezeigt: Funzt also!

Kann es sein, dass im System von pernodjaegermeister ,,irgendein" Perlmodul fehlt, mit der FHEM oder OS - Installation etwas nicht stimmt?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 22:20:32
Zitat von: Theo am 09 Februar 2016, 22:18:18
Habe jetzt auch mal das Skript gestartet und eine Taste gedrückt: Hunderte Zeichen mit Soundtouch - Infos werden angezeigt: Funzt also!

Kann es sein, dass im System von pernodjaegermeister ,,irgendein" Perlmodul fehlt, mit der FHEM oder OS - Installation etwas nicht stimmt?

denke ich ja inzwischen auch, hab jetzt mal Fronthem installiert,
da dort websocket module dabei sind ... hat aber nix geholfen
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 22:28:12

# dpkg -l | grep ocket
ii  libio-socket-inet6-perl        2.72-1                    all          object interface for AF_INET6 domain sockets
ii  libio-socket-ssl-perl          2.002-2+deb8u1            all          Perl module implementing object oriented interface to SSL sockets
ii  libnet-ssleay-perl             1.65-1+b1                 armhf        Perl module for Secure Sockets Layer (SSL)
ii  libnl-3-200:armhf              3.2.24-2                  armhf        library for dealing with netlink sockets
ii  libnl-genl-3-200:armhf         3.2.24-2                  armhf        library for dealing with netlink sockets - generic netlink
ii  libsocket6-perl                0.25-1+b1                 armhf        Perl extensions for IPv6
ii  libssl1.0.0:armhf              1.0.1k-3+deb8u2           armhf        Secure Sockets Layer toolkit - shared libraries
ii  openssl                        1.0.1k-3+deb8u2           armhf        Secure Sockets Layer toolkit - cryptographic utility
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 22:30:06
Zitat von: Theo am 09 Februar 2016, 22:28:12

# dpkg -l | grep ocket
ii  libio-socket-inet6-perl        2.72-1                    all          object interface for AF_INET6 domain sockets
ii  libio-socket-ssl-perl          2.002-2+deb8u1            all          Perl module implementing object oriented interface to SSL sockets
ii  libnet-ssleay-perl             1.65-1+b1                 armhf        Perl module for Secure Sockets Layer (SSL)
ii  libnl-3-200:armhf              3.2.24-2                  armhf        library for dealing with netlink sockets
ii  libnl-genl-3-200:armhf         3.2.24-2                  armhf        library for dealing with netlink sockets - generic netlink
ii  libsocket6-perl                0.25-1+b1                 armhf        Perl extensions for IPv6
ii  libssl1.0.0:armhf              1.0.1k-3+deb8u2           armhf        Secure Sockets Layer toolkit - shared libraries
ii  openssl                        1.0.1k-3+deb8u2           armhf        Secure Sockets Layer toolkit - cryptographic utility


ii  libio-socket-inet6-perl               2.69-2                                  all          object interface for AF_INET6 domain sockets
ii  libio-socket-ip-perl                  0.16-2                                  all          module for using IPv4 and IPv6 sockets in a protocol-independent way
ii  libio-socket-ssl-perl                 1.76-2                                  all          Perl module implementing object oriented interface to SSL sockets
ii  libnet-ssleay-perl                    1.48-1                                  armhf        Perl module for Secure Sockets Layer (SSL)
ii  libnl-3-200:armhf                     3.2.7-4                                 armhf        library for dealing with netlink sockets
ii  libnl-genl-3-200:armhf                3.2.7-4                                 armhf        library for dealing with netlink sockets - generic netlink
ii  libsocket-perl                        2.002-1+rpi1                            armhf        networking constants and support functions
ii  libsocket6-perl                       0.23-1                                  armhf        Perl extensions for IPv6
ii  openssl                               1.0.1e-2+rvt+deb7u19                    armhf        Secure Socket Layer (SSL) binary and related cryptographic tools
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 22:38:40
Interessanterweise habe ich nicht die libsocket-perl

und Deine Pakete sind durch die Bank etwas älter...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 22:43:17
Zitat von: Theo am 09 Februar 2016, 22:38:40
Interessanterweise habe ich nicht die libsocket-perl

und Deine Pakete sind durch die Bank etwas älter...
welches os hast du, ich hab Raspbian Wheezy auf einem raspberry2
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 Februar 2016, 22:44:29
hab jetzt alle updates (FHEM, perl etc.) gemacht, keine Besserung
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 09 Februar 2016, 22:46:26
Ich nutze einen Banana PI, Debian/Jessie, FHEM Dev. - Zweig (stets aktuell gehalten), eine neue Soundtouch 10 (via WiFi) und eine neue Soundtouch 20 (kabelgebunden).

Mit Wheezy bist Du nicht auf dem aktuellen Stand, ob dies die Ursache ist oder sein "könnte", kann ich leider nicht beurteilen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 18:47:51
@Sascha
Prüfe mal die Version von libmojolicious-perl
pi@raspberrypi ~ $ dpkg -l | grep libmojo
ii  libmojo-server-fastcgi-perl           0.41-1                                    all          Mojolicious FastCGI Server
ii  libmojolicious-perl                   5.54+dfsg-1                               all          simple, yet powerful, Web Application Framework


Habe auf der Debian Seite gesehen, dass mit whezy da noch 2.x hat. Um nicht gleich auf jessie zu gehen, könntest du noch
sudo apt-get install cpanm
sudo cpanm Mojolicious

probieren. Ich glaub da wird dann die aktuellste Version aus cpan installiert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 10 Februar 2016, 18:50:14
Zitat von: dominik am 10 Februar 2016, 18:47:51
@Sascha
Prüfe mal die Version von libmojolicious-perl
pi@raspberrypi ~ $ dpkg -l | grep libmojo
ii  libmojo-server-fastcgi-perl           0.41-1                                    all          Mojolicious FastCGI Server
ii  libmojolicious-perl                   5.54+dfsg-1                               all          simple, yet powerful, Web Application Framework


Habe auf der Debian Seite gesehen, dass mit whezy da noch 2.x hat. Um nicht gleich auf jessie zu gehen, könntest du noch
sudo apt-get install cpanm
sudo cpanm Mojolicious

probieren. Ich glaub da wird dann die aktuellste Version aus cpan installiert.

pi@raspberrypi ~ $ dpkg -l | grep libmojo
ii  libmojo-server-fastcgi-perl           0.2-1                                   all          Mojolicious FastCGI Server
ii  libmojolicious-perl                   2.98+dfsg-2                             all          simple, yet powerful, Web Application Framework
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 18:51:52
Dann versuch mal über cpanm wie oben beschrieben zu aktualisieren. Ein
sudo apt-get remove libmojolicious-perl
davor könnte noch Sinn machen damit da nichts durcheinander kommt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 10 Februar 2016, 19:15:26
Zitat von: dominik am 10 Februar 2016, 18:51:52
Dann versuch mal über cpanm wie oben beschrieben zu aktualisieren. Ein
sudo apt-get remove libmojolicious-perl
davor könnte noch Sinn machen damit da nichts durcheinander kommt.

Yippieh, jezt gehts  ;D ;D ;D ;D
Erstmal ganz großes Danke

das einzige, was mir noch aufgefallen ist:
-beim Umschalten der Channels per FB, wird das Reading channel nicht aktualisiert
Die anderen Readings klappen wunderbar

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 19:19:51
Super! :)

Ja, das mit den Channels umschalten wird im Reading noch nicht aktualisiert. Kommt noch. Wichtiger war mal für alle laufende WebSockets zu bekommen ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 10 Februar 2016, 19:23:01
Zitat von: dominik am 10 Februar 2016, 19:19:51
Super! :)

Ja, das mit den Channels umschalten wird im Reading noch nicht aktualisiert. Kommt noch. Wichtiger war mal für alle laufende WebSockets zu bekommen ;)

kein Problem, dachte nur, es ist wieder nur bei mir so  ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Herr Paschulke am 10 Februar 2016, 20:08:48
Bei mir aktualisieren sich die Readings leider nicht  :'(
Installiert auf Raspberry (Linux raspberry 4.1.13+)

Im Log gibt es nur:
2016.02.10 19:58:29 3: BOSEST: BOSE_507224xxxxxx, new IP (192.168.40.133)
2016.02.10 19:58:31 3: BOSEST: BOSE_000C8Axxxxxx, new IP (192.168.40.132)
2016.02.10 19:58:33 3: BOSEST: BOSE_507224xxxxxx, WebSocket failed, retry.
2016.02.10 19:58:33 3: BOSEST: BOSE_000C8Axxxxxx, WebSocket failed, retry.


dpkg -l | grep ocket gibt:
ii  libio-socket-inet6-perl               2.69-2                                  all          object interface for AF_INET6 domain sockets
ii  libio-socket-ip-perl                  0.16-2                                  all          module for using IPv4 and IPv6 sockets in a protocol-independent way
ii  libio-socket-ssl-perl                 1.76-2                                  all          Perl module implementing object oriented interface to SSL sockets
ii  libnet-ssleay-perl                    1.48-1                                  armhf        Perl module for Secure Sockets Layer (SSL)
ii  libnl-3-200:armhf                     3.2.7-4                                 armhf        library for dealing with netlink sockets
ii  libnl-genl-3-200:armhf                3.2.7-4                                 armhf        library for dealing with netlink sockets - generic netlink
ii  libsocket-perl                        2.002-1+rpi1                            armhf        networking constants and support functions
ii  libsocket6-perl                       0.23-1                                  armhf        Perl extensions for IPv6
ii  openssl                               1.0.1e-2+rvt+deb7u19                    armhf        Secure Socket Layer (SSL) binary and related cryptographic tools


dpkg -l | grep libmojo spuckt aus:
ii  libmojo-server-fastcgi-perl           0.2-1                                   all          Mojolicious FastCGI Server
ii  libmojolicious-perl                   2.98+dfsg-2                             all          simple, yet powerful, Web Application Framework


Das Update von libmojolicious-perl konnte ich nicht machen, da apt-get das Paket cpanm nicht kennt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 20:16:26
Gerade gesehen, es heißt cpanminus bei der Installation. Die Executeable heißt cpanm.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 10 Februar 2016, 20:21:00
Bei mir ist FHEM aktuell das System auch, wieder vor da ich es vor kurzem neu aufgesetzt habe.Die Readings aktualisieren sich alle direkt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 20:34:58
Update im 1. Post...

v0.9.5
- FEATURE: update channel based on websocket events
- BUGFIX: specify minimum libmojolicious-perl version
- BUGFIX: reconnect websocket if handshake fails
- BUGFIX: presence reading fixed
- CHANGE: websocket request timeout changed to 10s (prev. 5s)
- CHANGE: clockDisplayUpdated message handled now
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Herr Paschulke am 10 Februar 2016, 21:05:39
Klasse dominik,

vielen Dank!! Nach Update der libmojolicious-perl werden die Readings jetzt richtig gelesen und damit läuft on/off jetzt auch zuverlässig (getestet mit 0.95).
Das Log bleibt jetzt recht ruhig:
2016.02.10 20:59:16 3: BOSEST: BOSE_507224xxxxxx, new IP (192.168.40.133)
2016.02.10 20:59:17 3: BOSEST: BOSE_000C8Axxxxxx, new IP (192.168.40.132)
2016.02.10 20:59:38 3: BOSEST: BOSE_507224xxxxxx, WebSocket failed, retry.
2016.02.10 20:59:39 3: BOSEST: BOSE_000C8Axxxxxx, WebSocket connection succeed.
2016.02.10 20:59:40 3: BOSEST: BOSE_507224xxxxxx, WebSocket connection succeed.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 10 Februar 2016, 21:35:56
Zitat von: dominik am 10 Februar 2016, 20:34:58
Update im 1. Post...

v0.9.5
- FEATURE: update channel based on websocket events
- BUGFIX: specify minimum libmojolicious-perl version
- BUGFIX: reconnect websocket if handshake fails
- BUGFIX: presence reading fixed
- CHANGE: websocket request timeout changed to 10s (prev. 5s)
- CHANGE: clockDisplayUpdated message handled now

Das ging ja schnell, große Klasse  ;)
Jetzt nocht Next und Previous senden, und es ist perfekt

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2016, 21:49:43
Dann teste mal ob es funktioniert :)
nextTrack, prevTrack

//Edit: Im 1. Post aktualisiert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 10 Februar 2016, 22:13:49
Zitat von: dominik am 10 Februar 2016, 21:49:43
Dann teste mal ob es funktioniert :)
nextTrack, prevTrack

Super, funktioniert ... wunschlos glücklich  ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 11 Februar 2016, 19:18:13
2 Dinge habe ich zu berichten:

1.) v0.9.6 funktioniert, vielen Dank Dominik!

2.) Da wir inzwischen Bose SoundTouch sehr schön in FHEM integrieren können, habe ich mir eine dritte Box gekauft (ST 10). In der Anlernphase über die App (bei mir CyanogenMod und die offizielle Bose - App) wurden munter Berge von Log - Einträgen geschrieben.

Beispiele:

2016.02.10 18:53:25 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_BOSEST.pm line 355.
2016.02.10 18:53:25 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_BOSEST.pm line 357.
2016.02.10 18:53:25 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_BOSEST.pm line 359.
2016.02.10 18:53:25 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_BOSEST.pm line 361.
2016.02.10 18:53:25 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/98_BOSEST.pm line 363.

Etliche, zig Dutzend Zeilen mit:
2016.02.10 18:54:43 3: BOSEST: Unknown event, please implement: bla bla bla


Dies alles ist, nach meiner Wahrnehmung, vollkommen irrelevant für den späteren Betrieb. Nach der Anlernphase verhält sich die dritte Box genau wie die anderen. Vielleicht gibt es ja eine Möglichkeit, die Anlernphase zu erkennen und dann keine weiteren FHEM - Aktionen auszulösen. Die Log - Einträge könnten neue Nutzer des Moduls vermutlich schwer irritieren. Aus meiner Sicht nur eine "Unschönheit".

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Februar 2016, 23:06:14
Danke für die Rückmeldung Theo. Werde das bei der nächsten Version korrigieren. Die Funktionalität dürfte, wie du schon geschrieben hast, dadurch nicht beeinflusst werden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 13 Februar 2016, 13:34:11
Hallo Dominik,
keine Ahnung, ob es bereits geplant ist, aber
das Auslesen der Presets von 192.168.x.x:8090/presets wäre noch cool.
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 Februar 2016, 13:54:04
Ja, das habe ich mir auch schon überlegt.

Ist die Frage wie man die Info verarbeiten will. Mein Idee ist, dass ich dann sowohl set <name> channel 1 zulasse als auch set <name> channelName SWR3. Oder was ist deine Idee dahinter? Nur in die Readings auslesen geht natürlich auch, dachte jedoch, dass die Steuerung der Presets über die Dropdown Box schöner ist wenn dort der Name hinter dem Preset erscheint.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 13 Februar 2016, 15:51:34
Zitat von: dominik am 13 Februar 2016, 13:54:04
Ja, das habe ich mir auch schon überlegt.

Ist die Frage wie man die Info verarbeiten will. Mein Idee ist, dass ich dann sowohl set <name> channel 1 zulasse als auch set <name> channelName SWR3. Oder was ist deine Idee dahinter? Nur in die Readings auslesen geht natürlich auch, dachte jedoch, dass die Steuerung der Presets über die Dropdown Box schöner ist wenn dort der Name hinter dem Preset erscheint.

Ich hab die Presets bis jetzt per httpmod ausgelesen, um sie auf dem Tablet unter dem Button darzustellen.
Sozusagen, um zu wissen was man auswählt, da ich die Presets immer mal wieder ändere.
Die Steuerung der Channels reicht m.E. mit 1-6.
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 13 Februar 2016, 16:00:35
Hi Dominik,
woran leigt es eigentlich, dass bestimmte Umlaute nicht korrekt in den Readings landen ? siehe Screenshot
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 14 Februar 2016, 13:33:12
Update im 1. Post...

v0.9.7
- FEATURE: print module version on startup of main module
- FEATURE: support device rename (e.g. BOSE_... => wz_BOSE)
- FEATURE: show preset itemNames in channel_X reading
- FEATURE: automatically update preset readings on change
- FEATURE: add description reading (could be very long)
- CHANGE: change log level for not implemented events to 4
- CHANGE: use only one processXml function for websocket and http
- BUGFIX: fix set off/on more than once within 1 second
- BUGFIX: fix warnings during setup process
- BUGFIX: support umlauts in all readings
- BUGFIX: handle XMLin errors with eval
- BUGFIX: handle "set" when speaker wasn't found yet
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 14 Februar 2016, 17:44:06
Hallo Dominik,

sieht bis jetzt gut aus  :)

Umbenennung wirkt, Version wird ausgegeben und ja, die Description kann sehr lang werden (Beispiel WDR5: "MP3 320 kbps Mulheim Germany, WDR 5 geht den Dingen auf den Grund. Ob Politik, Gesellschaft, Kultur, Wirtschaft oder Wissenschaft: WDR 5 nimmt sich Zeit, umfassend zu informieren.")


2016.02.14 17:35:59 3: BOSEST: BOSE SoundTouch v0.9.7
2016.02.14 17:36:33 3: BOSEST: BOSE_WZ, new IP (192.168.69.161)
2016.02.14 17:36:34 3: BOSEST: BOSE_EZ, new IP (192.168.69.162)
2016.02.14 17:36:34 3: BOSEST: BOSE_BD, new IP (192.168.69.163)
2016.02.14 17:36:35 3: BOSEST: BOSE_WZ, WebSocket connection succeed.
2016.02.14 17:36:35 3: BOSEST: BOSE_EZ, WebSocket connection succeed.
2016.02.14 17:36:35 3: BOSEST: BOSE_BD, WebSocket connection succeed.


Ich teste noch etwas weiter, falls ich etwas finde, poste ich wie immer hier.

Vielen Dank !!! und viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 14 Februar 2016, 23:11:12
Zitat von: dominik am 14 Februar 2016, 13:33:12
Update im 1. Post...

v0.9.7
- FEATURE: print module version on startup of main module
- FEATURE: support device rename (e.g. BOSE_... => wz_BOSE)
- FEATURE: show preset itemNames in channel_X reading
- FEATURE: automatically update preset readings on change
- FEATURE: add description reading (could be very long)
- CHANGE: change log level for not implemented events to 4
- CHANGE: use only one processXml function for websocket and http
- BUGFIX: fix set off/on more than once within 1 second
- BUGFIX: fix warnings during setup process
- BUGFIX: support umlauts in all readings
- BUGFIX: handle XMLin errors with eval
- BUGFIX: handle "set" when speaker wasn't found yet

ganz große Klasse  ;)
auch Umbenennen finde ich super
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 19 Februar 2016, 22:49:51
So...Multiroom Support habe ich mir für die v1.0.0 aufgehoben welche ihr nun im 1. Post finden könnt :)
Vor allem das selbst ausgedachte "double-tap" multi-room Feature finde ich genial, bin gespannt was ihr dazu sagt.

v1.0.0
- FEATURE: support multi-room (playEverywhere, stopPlayEverywhere)
- FEATURE: show current zone members in readings
- FEATURE: support createZone <deviceID1>,<deviceID2>,...
- FEATURE: support addToZone <deviceID1>,<deviceID2>,...
- FEATURE: support removeFromZone <deviceID1>,<deviceID2>,...
- FEATURE: add "double-tap" multi-room feature
            double-tap (<1s) a hardware preset button to
            enable or disable the multi-room feature
- FEATURE: support bass settings
- FEATURE: support infoUpdated (e.g. deviceName change)
- FEATURE: support mute on/off/toggle
- FEATURE: support recent channel list
            set name recent X
            names for recent list entries are shown in readings
- FEATURE: support channel_07-20 by attribute
            format:name|location|source|sourceAccount or
                        name|location|source| if no sourceAccount
- FEATURE: support bluetooth/bt-discover/aux mode
- FEATURE: support ignoreDeviceIDs for main define
            format:B23C23FF,A2EC81EF
- CHANGE: reading channel_X => channel_0X (e.g. channel_02)

Werde die nächsten Tage nicht dazu kommen Bugs sofort zu beheben, aber postet schon mal eure Ergebnisse mit der v1.0.0.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 20 Februar 2016, 12:02:02
Hallo Dominik,

wow, super, vielen (!) Dank! In so kurzer Zeit so viele Features umgesetzt und auf alle Rückmeldungen reagiert. Zu Recht gibt es jetzt die Version 1.0.0  :)  :)  :)

Installation ohne Probleme, ich teste in aller Ruhe (es gibt ja einiges auszuprobieren) und melde mich dann.

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 20 Februar 2016, 14:44:02
Hallo,
ich bin noch gang hin-und-weg, die Multiroom Funktion mit 2x Present drücken ist genau das was mir gefehlt hat! Vielen Dank für die tolle Arbeit!
Als Danke habe ich mich mal über den HTML Teil hergemacht und erweitert. Falls es passt, kann es gerne ins Modul integriert werden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 20 Februar 2016, 19:17:24
Hi,
kann mir jemand das Feature erklären?
- FEATURE: support channel_07-20 by attribute
            format:name|location|source|sourceAccount or
                        name|location|source| if no sourceAccount
Wie wende ich das an.
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Februar 2016, 15:23:15
Vielen Dank Miami für die Doku. Sehr gerne werde ich das übernehmen.

@Sascha
Wenn du per App etwas abspielst, siehst du ContentItem Location, Name, usw. in den Readings. Genau diese Daten werden dann im Attribut des channels benötigt. Danach kannst du per set channel X direkt diesen channel anwählen.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 21 Februar 2016, 15:57:25
Zitat von: dominik am 21 Februar 2016, 15:23:15
Vielen Dank Miami für die Doku. Sehr gerne werde ich das übernehmen.

@Sascha
Wenn du per App etwas abspielst, siehst du ContentItem Location, Name, usw. in den Readings. Genau diese Daten werden dann im Attribut des channels benötigt. Danach kannst du per set channel X direkt diesen channel anwählen.
Hallo Dominik,
so hatte ich das schon verstanden, aber wie legt man solch einen Channel an ? Wo setze ich das Attribut.
Sorry, wenn das vllt. FHEM-Grundkenntnisse sind, bin aber noch nicht ganz so durchgestiegen.
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 21 Februar 2016, 15:59:39
Oh, Sorry ... jetzt hab ichs begriffen ... Attribut war das Schlagwort ;-)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 21 Februar 2016, 16:05:25
gleich noch eine Frage :-)
Ist es möglich, diese erweiterten Channels dann auch als Reading anzuzeigen ?
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Herr Paschulke am 21 Februar 2016, 16:34:53
Mensch, da klinke ich mich für ein paar Tage aus und schon gibt es hier die 1.0
mit allen Hammer-Features!!

Vielen Dank Dominik für die feine Arbeit! Multiroom läuft prima, jetzt kann ich noch einfacher
morgens den Wecker im Schlafzimmer und Bad starten!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Februar 2016, 17:22:11
@Sascha
Genau, Attribut zuweisen ;) Das mit den Readings ist eine ganz gute Idee, werde ich dann in der nächsten Version mit einbauen. Vielleicht bau ich noch eine "Save channel" Funktion ein, damit man die Channels nicht manuell in die Attribute einpflegen muss. Überleg ich mir noch...


Wenn noch jemand Lust hat bei einer Wiki Dokumentation zum Modul beizusteuern, würde ich mich auch freuen :) Dann kann ich nämlich Rudolf vorschlagen das Modul ins offizielle Release mit aufzunehmen.

...und danke euch für's Lob. Freut mich, dass es bei euch läuft!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 21 Februar 2016, 20:09:43
Zitat von: dominik am 21 Februar 2016, 17:22:11
@Sascha
Genau, Attribut zuweisen ;) Das mit den Readings ist eine ganz gute Idee, werde ich dann in der nächsten Version mit einbauen. Vielleicht bau ich noch eine "Save channel" Funktion ein, damit man die Channels nicht manuell in die Attribute einpflegen muss. Überleg ich mir noch...


Wenn noch jemand Lust hat bei einer Wiki Dokumentation zum Modul beizusteuern, würde ich mich auch freuen :) Dann kann ich nämlich Rudolf vorschlagen das Modul ins offizielle Release mit aufzunehmen.

...und danke euch für's Lob. Freut mich, dass es bei euch läuft!

Erstmal vielen Dank ... save channel klingt super :-)
Die anderen Sachen kann ich leider nicht probieren, hab wahrscheinlich eine ältere Version
Somit gehen Bluetooth und leider auch Mute nicht.
Und für Multiroom fehlt mir die 2te Bose :-(
Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 21 Februar 2016, 20:10:59
doch, Bass geht noch ... wusste gar nicht, dass man den einstellen kann :-)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 21 Februar 2016, 21:54:33

So, es bleibt dabei, alles funktioniert (soweit ich bisher testen konnte).

Folgende Log - Einträge gibt es:

2016.02.20 11:49:48 1: PERL WARNING: Use of uninitialized value in numeric gt (>) at ./FHEM/98_BOSEST.pm line 1133.
...
2016.02.20 21:14:12 3: BOSEST: Discovery failed with: Can't call method "answer" on an undefined value at /usr/share/perl5/Net/Bonjour/Entry.pm line 191.
2016.02.20 21:35:07 1: PERL WARNING: Use of uninitialized value $ip in string eq at ./FHEM/98_BOSEST.pm line 1212.
2016.02.20 21:35:07 1: PERL WARNING: Use of uninitialized value $ip in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 1218.
...
2016.02.21 09:20:14 3: BOSEST: Discovery failed with: Can't call method "answer" on an undefined value at /usr/share/perl5/Net/Bonjour/Entry.pm line 191.


Seit gestern Vormittag sind dies alle Auffälligkeiten.

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: StefanL am 22 Februar 2016, 00:12:33
Da habe ich doch auch mal ne Frage als stiller mitleser.
Kann man eigentlich text2speak ausgeben wie beim Sonos Modul.

Gruß stefan

gesendet vom Handy  . Deswegen  kurz gehalten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 23 Februar 2016, 14:08:16
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 ;-)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Februar 2016, 20:15:53
@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.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 24 Februar 2016, 10:44:29
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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 25 Februar 2016, 17:44:04
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?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 Februar 2016, 18:51:33
Einfach die IP weglassen. Siehe erster Post.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 26 Februar 2016, 10:29:41
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.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 26 Februar 2016, 12:11:23
Hast du die aktuelle Version von fhem? Bei dir funktioniert der BlockingCall nicht. Schon update gemacht? Oder Reboot?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 26 Februar 2016, 12:34:06
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.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 26 Februar 2016, 14:15:20
Super :)

Der Weg mit dem PHp Script würde mich auch interessieren ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 26 Februar 2016, 14:21:20
Ich schick Dir das mal als PN, vielleicht kannst du das ja als Ansatz für Dein Modul nutzen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Markus Hermann am 29 Februar 2016, 12:17:03
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

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 März 2016, 12:01:49
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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Pythonf am 06 März 2016, 19:49:47
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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 März 2016, 21:33:31
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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 08 März 2016, 12:12:21
Moin, nach einem Neustart von FHEM:


PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 292.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 08 März 2016, 13:00:39
Hast Du auch schon die V1.5 ?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 08 März 2016, 17:47:49
Ja, der Fehler wird bei der 1.5 gechmissen.
Ich kann zwar keine Probleme feststellen, wollte nur mal darauf hinweisen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 08 März 2016, 18:56:26
Zitat von: HansDampfHH am 08 März 2016, 12:12:21
Moin, nach einem Neustart von FHEM:


PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 292.


Ist notiert fürs nächste Update. Die Warnung sollte aber zu keinerlei Problemen führen.

Schon jemand TTS mit minidlna probiert? Leider ist die Installation noch umständlich. Erst im nächsten Debian Release dürfte minidlna 1.1.5 standardmäßig dabei sein..
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 08 März 2016, 21:15:14
Zitat von: dominik am 08 März 2016, 18:56:26
Ist notiert fürs nächste Update. Die Warnung sollte aber zu keinerlei Problemen führen.

Schon jemand TTS mit minidlna probiert? Leider ist die Installation noch umständlich. Erst im nächsten Debian Release dürfte minidlna 1.1.5 standardmäßig dabei sein..

probiert Ja, hinbekommen Nein :-(
War schon mal so weit, das es als Server leif und angezeigt wurde.
Die MP3s wurden auch abgelegt, aber leider nicht abgespielt.
Zur Zeit bekomm ich ihn aber nicht mehr zum Laufen.

Ansonsten erstmal Danke für die Channel-Readings und für Save Channel ... große Klasse

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 März 2016, 08:13:56
So, jetzt habe ich nach langem Probieren miniDLNA nochmal nach einer anderen Anleitung installiert
Jetzt startet es und nach ausreichender Rechtevergabe funktioniert es jetzt super ... Danke
Ein Problem habe ich noch:
Bei speak während InternetRadio läuft, schaltet es anschließend wieder zurück
Bei speak während Deezer läuft, bleibt es auf INVALID_SOURCE stehen

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 09 März 2016, 12:03:52
Mir fiel gestern auch noch eine Kleinigkeit auf:
Ich höre Radio und stell die Box aus und wieder an, dann läuft gleich wieder der letzte Radiosender.
Wenn ich Radio höre, ausstelle und dann aber eine Textnachricht ausgegeben wird, dann wird diese Nachricht auch wieder abgespielt wenn ich die Box wieder einschalte und nicht wieder der letzte Radiosender.
Ist natürlich ein wenig doof wenn da eine Nachricht gesprochen wird: "Balkontür ist noch offen"

Also nach einer TTS Nachricht wird nicht wieder zurück auf den letzten Sender gestellt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 März 2016, 19:30:35
@Sascha, kannst mir mal einen Deezer now_playing Auszug schicken? Die Anleitung wie du minidlna zum Laufen gebracht hast wäre auch interessant. Habe schon überlegt ein kleines Script für die Installation bereitzustellen damit es nicht so mühsam ist.

@HansDampfHH, stimmt. Bei mir sagte die Box auch gerade eben "Gute Nacht" ;) Nutzt du den Power Button oft um danach weiter zu hören? Ich habe den bislang nur zum Ausschalten verwendet und zum Einschalten immer die Presets.

2 mögliche Workarounds fallen mir ein...
- Datei nach dem Abspielen umbenennen. Beim Einschalten der Box erscheint dann im Display die Fehlermeldung, dass die Bibliothek nicht gefunden werden kann.
- Nach dem "speak" nochmals den zuletzt eingestellten Sender mit mute oder volume 0 starten und danach ausschalten. Das könnte aber kritisch werden, da BOSE bei Volume < 10 beim Senderwechsel immer zuerst mal auf 10 schaltet.

Die Frage ist aber, brauchen wir dafür eine Lösung, oder verwendet man den Power Button eh fast nie zum Einschalten?

//Edit: Noch eine Möglichkeit gefunden...vor dem Ausschalten schick ich einmal schnell den letzten Channel an die Box, der aber aufgrund des "OFF" Befehls nicht mehr abspielt. Einzig die recent_X Liste aktualisiert sich nicht, da schickt die Box leider keine Message mehr..
//Edit2: Folgt im nächsten Update ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 09 März 2016, 20:32:33
Wirklich toller Einsatz, bin sehr glücklich mit dem Modul !
Um ehrlich zu sein hatte ich das noch gar nicht ausprobiert und gewusst, dass die Box auch direkt über die Preset-Knöpfe angestellt werden kann.
Da hast du natürlich recht, von daher Deine Entscheidung, ob du das im Modul noch berücksichtigst.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: pernodjaegermeister am 09 März 2016, 21:57:02
Zitat von: dominik am 09 März 2016, 19:30:35
@Sascha, kannst mir mal einen Deezer now_playing Auszug schicken? Die Anleitung wie du minidlna zum Laufen gebracht hast wäre auch interessant. Habe schon überlegt ein kleines Script für die Installation bereitzustellen damit es nicht so mühsam ist.

@HansDampfHH, stimmt. Bei mir sagte die Box auch gerade eben "Gute Nacht" ;) Nutzt du den Power Button oft um danach weiter zu hören? Ich habe den bislang nur zum Ausschalten verwendet und zum Einschalten immer die Presets.

2 mögliche Workarounds fallen mir ein...
- Datei nach dem Abspielen umbenennen. Beim Einschalten der Box erscheint dann im Display die Fehlermeldung, dass die Bibliothek nicht gefunden werden kann.
- Nach dem "speak" nochmals den zuletzt eingestellten Sender mit mute oder volume 0 starten und danach ausschalten. Das könnte aber kritisch werden, da BOSE bei Volume < 10 beim Senderwechsel immer zuerst mal auf 10 schaltet.

Die Frage ist aber, brauchen wir dafür eine Lösung, oder verwendet man den Power Button eh fast nie zum Einschalten?

//Edit: Noch eine Möglichkeit gefunden...vor dem Ausschalten schick ich einmal schnell den letzten Channel an die Box, der aber aufgrund des "OFF" Befehls nicht mehr abspielt. Einzig die recent_X Liste aktualisiert sich nicht, da schickt die Box leider keine Message mehr..
//Edit2: Folgt im nächsten Update ;)

Hallo Dominik,
hier das now_playing
<nowPlaying deviceID="000C8A9BDB0E" source="DEEZER" sourceAccount="email@xxx.de"><ContentItem source="DEEZER" type="station" location="37151" sourceAccount="email@xxx.de" isPresetable="true"><itemName>Hits</itemName></ContentItem><track>Maneater</track><artist>Nelly Furtado</artist><album>Loose</album><stationName>Hits</stationName><art artImageStatus="IMAGE_PRESENT">http://api.deezer.com/album/123339/image?size=big</art><time total="259">13</time><rating>NONE</rating><skipEnabled/><playStatus>PLAY_STATE</playStatus><streamType>RADIO_TRACKS</streamType><artistID>133</artistID><trackID>1151141</trackID></nowPlaying>

Die Anleitung zur Installation aus dem ersten Post von hier:
http://www.forum-raspberrypi.de/Thread-raspbian-minidlna-raspbian-jessie-lg-tv-keine-datein (http://www.forum-raspberrypi.de/Thread-raspbian-minidlna-raspbian-jessie-lg-tv-keine-datein)

Dann noch Schreibrechte für das Verzeichnis /var/lib/minidlna vergeben, dann lief's

Gruß
Sascha
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 März 2016, 20:15:19
Update im 1. Post...

v1.5.1 - 20160330
- CHANGE: updated documentation (again many thx to Miami!)
- FEATURE: support triple-tap (currently no function implemented: any ideas? :))
- CHANGE: change back channel even after speakOff
- BUGFIX: unitialized value fixed

Heute wurde auch ein Firmware Update für die BOSE SoundTouch Player ausgeliefert. Habe nach dem Update die wichtigsten Funktionen geprüft, bislang läuft alles :)

@Sascha
Bzgl. Deezer bin ich noch nicht dazu gekommen, werde mir mal den Testaccount besorgen zum Testen. Die Tipps aus deiner minidlna Anleitung habe ich im 1. Post in ein "install-minidlna.sh" Script implementiert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 31 März 2016, 16:27:38
Hallo zusammen,

nachdem  ich das Firmware Update installiert hatte funktioniert auch alles wie gehabt.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 31 März 2016, 17:51:14
Hallo zusammen,

würde auch gerne TTS haben, doch ich weiß nicht wie ich das ttsDirectory  einbinde.
Ohne das ttsDirectory  attribut steht bei mir immer:
BOSEST: Please set ttsDirectory attribute first.
                            FHEM user needs permissions to write to that directory.
                            It is also recommended to set ttsLanguage (default: en).

Hoffe es kann jemand helfen
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 31 März 2016, 18:16:36
@nmarion
Wenn du minidlna installiert hast, ist normal /var/lib/minidlna das richtige Verzeichnis. Einfach das Attribut ttsDirectory auf /var/lib/minidlna setzen (zu finden unter den Readings auf der Seite des Devices). Mit "chmod 777 /var/lib/minidlna" auf der Linux Konsole kannst du noch jedem User volle Berechtigung auf das Verzeichnis geben, damit kann FHEM die MP3s dort ablegen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 31 März 2016, 20:06:44
Hallo,

danke für die Hilfe. Die MP3 werden in dem Ordner heruntergeladen aber werden nicht von der Soundtouch 10 abgespielt.
Im Log steht nichts.

Viele Grüße

nmarion
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 31 März 2016, 20:13:03
Prüfe mal mit
ps -efa|grep mini
ob der minidlna Server läuft. Wenn nicht dann /etc/init.d/minidlna restart ausführen.

Bei mir crashed der minidlna Server leider auch ab und an.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 31 März 2016, 20:29:07
Hallo dominik,

der minidlna server ist gestartet aber ich kann immer noch nichts über die Soundtouch 10 sagen lassen.
Wenn gerade die Musik-Wiedergabe aktiv ist schaltet sie sich ab nachdem ich das Kommando für tts gestartet hab.

Hoffe du kannst mir helfen

PS: Im Log steht immer noch nichts
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 31 März 2016, 21:15:45
Hast du per http://IP:8200 auch geprüft ob minidlna läuft?

Du nutzt auch sicher "speak" und nicht "speakOff"?

Kannst du über die SoundTouch App auf den minidlna Server zugreifen und dort die mp3s abspielen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 01 April 2016, 08:54:14
Hallo dominik,

ich kann auf die Seite auf Port 8200 zugreifen. In der Sountouch App nicht. Ich habe auch kein speakOff verwendet sondern speak.

Viele Grüße

nmarion
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 01 April 2016, 15:57:42
Kannst du über "addDLNAServer" den minidlna Server auswählen und hinzufügen? Er muss dann unter "dlnaServers" in den Readings auftauchen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 01 April 2016, 17:42:19
Ja kann ich. Er erscheint auch dann in den Readings. In der Soundtouch App erscheint er auch, doch ich kann nicht auf ihn zugreifen. :(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 01 April 2016, 17:46:58
Dann kann das nur an minidlna liegen. Kannst du mit dem Windows Media Player auf minidlna zugreifen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 01 April 2016, 20:55:40
Ja kann ich.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 10:10:52
Prüfe mal über http://<IP BOSE BOX>:8090/sources ob dort der minidlna Server aufgelistet wird und auf READY steht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 12:40:57
Ja.
<sourceItem source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebda478c/0" status="READY">kodi: minidlna</sourceItem>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 12:45:34
Hab gerade wider das speak Komando ausprobiert. Hat nicht funktioniert. Doch dabei hab ich diesen Log Eintrag gesehen.
2016.04.02 12:43:57 3: BOSEST: Discovery failed with: Can't call method "answer" on an undefined value at /usr/share/perl5/Net/Bonjour/Entry.pm line 191.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 12:48:11
Kannst du dein minidlna mal von "kodi: minidlna" in "minidlna" umbenennen? Der Discovery Fehler im Log sollte damit nichts zu tun haben. Da ist nur ein Bonjour Discovery fehlgeschlagen, solange die Box aber presence=online und IP=x.x.x.x anzeigt ist das kein Problem.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 13:15:57
An das umbenenne hab ich auch schon gedacht, doch ich finde keine Lösung wie man den Server umbenennt. >:(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 13:25:46
/etc/minidlna.conf
# Name that the DLNA server presents to clients.
# Defaults to "hostname: username".
friendly_name=RPi
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 14:21:16
Hab ich gemacht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 14:44:24
...und das Ergebnis?  8)

Also nochmals in der SoundTouch App prüfen ob es nun als RPi eingebunden ist und dort mal was abspielen probieren. Das muss als erstes funktionieren.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 14:56:01
Ist eingebunden, kann aber nicht darauf zugreifen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 15:47:21
Versuch mal einen anderen DLNA Server (Windows z.B.) einzubinden und von dort was abzuspielen. Solange das mit der SoundTouch App nicht funktioniert, wird es auch mit dem Modul nicht klappen. Leider gehen mir die Ideen aus um zu eruieren woran das liegt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 17:10:05
Hab auf meinem zweiten  Rasperry FHEM  installiert mit Bose Modul und minidlna. Dort hab ich dann wieder speak ausprobiert und im LOG steht:
2016.04.02 15:08:15 1: PERL WARNING: Use of uninitialized value in string ne at /opt/fhem/FHEM/98_BOSEST.pm line 987.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 02 April 2016, 17:34:33
Diese Log Meldung kommt von "addUnit", die dürfte nichts mit speak zu tun haben. Kannst du mal mit Loglevel 5 starten und dann speak testen? Hast du es auch über die SoundTouch App probiert? Es wäre wirklich wichtig, dass diese mal vernünftig auf minidlna zugreifen kann.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 17:44:17
Weiß leider nicht wo ich das loglevel einstelle. >:(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 18:00:02
ah weiß es
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 02 April 2016, 18:10:17
Den Log Eintrag musste ich leider als JPEG anhängen und nicht als Code. :(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 April 2016, 22:09:29
Update im 1. Post. Nun könnt ihr das Clock Display ausschalten wenn niemand zu Hause ist :)

define DI_boseclock ([Residents:presence] eq "present")(set BOSE_wz clock enable) DOELSE (set BOSE_wz clock disable)

v1.5.2 - 20160403
- FEATURE: support clock display (SoundTouch 20/30)
             set <name> clock enable/disable
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 04 April 2016, 08:48:14
Hallo dominik,

braucht man für minidlna die 1.1.5 also die neuste oder  geht auch die aus den repositories?

Viele Grüße

nmarion
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 04 April 2016, 17:41:37
Mindestens 1.1.5 wird benötigt, am besten selbst compilieren mit dem Script im 1. Post.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 04 April 2016, 20:04:23
also nicht as den repositories...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 04 April 2016, 20:10:21
Nein, Script aus 1. Post.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 04 April 2016, 22:34:44
Moin zusammen,

an dieser Stelle möchte ich mich für Dominik's Arbeit an dem BOSE Soundtouch Modul für fhem bedanken.
Bei mir funktioniert es einwandfrei. Die letzten Versionen, überwiegend bezogen auf die Sprachausgabe sind mich eher unrelevant.
Anfangs waren es die 2 Geräte 30 und 20er Soundtouch und am WE kam eine 10er (Soundtouch-Portable) hinzu. Die wurde einwandfrei per ID erkannt.

Multiroom läuft direkt. Nochmals :ein dickes DANKE!

Gruß Jörg

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 04 April 2016, 23:11:13
Danke für das Lob, es freut mich das es bei dir einwandfrei läuft! :)

Ein paar Features stehen bei mir auch noch auf der Liste für die Implementierung:
- Sendername der Presets bei der Auswahl über TTS ausgeben - gerade bei der SoundTouch 10 sinnvoll wenn man öfter mal die Presets ändert
- Multiroom Gruppen definierbar machen, so auf die Art: Küche[BOSE1,BOSE2],Wohnzimmer[BOSE3,BOSE4],Alle[BOSE1,BOSE2,BOSE3,BOSE4]
- Langsame Lautstärkenanpassung
- Jegliche http Links über den DLNA Weg abspielbar machen

Wenn es sonst noch Anregungen gibt, gerne melden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 April 2016, 16:06:44
Hallo,

hab ein Problem mit dem Modul. In fhem erscheint es nur als State initialized.

Auf OS Eben mit dem perl testscript wird alles erkannt.


RECEIVED: <updates deviceID='589E196305CC'><connectionStateUpdated></connectionStateUpdated></updates>
RECEIVED: <updates deviceID='589E196305CC'><nowSelectionUpdated><preset id="1">
    <ContentItem source="INTERNET_RADIO" location="25219" sourceAccount="" isPresetable="true">
        <itemName>bigFM 89.5</itemName>
    </ContentItem>
</preset>
</nowSelectionUpdated></updates>
RECEIVED: <updates deviceID='589E196305CC'><nowPlayingUpdated><nowPlaying deviceID="589E196305CC" source="INTERNET_RADIO"><ContentItem source="INTERNET_RADIO" location="25219" sourceAccount="" isPresetable="true"><itemName>bigFM 89.5</itemName></ContentItem><track></track><artist></artist><album></album><stationName>bigFM 89.5</stationName><art artImageStatus="INVALID" /><playStatus>BUFFERING_STATE</playStatus><description>   kbps  ,  </description><stationLocation></stationLocation></nowPlaying></nowPlayingUpdated></updates>
RECEIVED: <updates deviceID='589E196305CC'><nowPlayingUpdated><nowPlaying deviceID="589E196305CC" source="INTERNET_RADIO"><ContentItem source="INTERNET_RADIO" location="25219" sourceAccount="" isPresetab

Fhem Log
BOSEST: BOSE SoundTouch v1.5.2

Auch auf verbose 5 kommt nicht mehr.

Schon mehrfach neu angelegt. Jemand eine Idee woran es liegen könnte? War nicht ganz einfach alle Perl module zusammen zu kriegen (letztes SuSE Leap) von daher würde ich darauf tippen.

Gerade nochmal update gemacht und neu angelegt, aber keine Änderung.

Gruss
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 April 2016, 18:36:59
Hi Eisix,

der State des Hauptdevices bleibt immer auf "initialized". Unter "Unsorted" erscheinen dann die gefundenen Devices, prüfe dort mal ob neue Devices angelegt wurden.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 April 2016, 18:45:20
Hallo,

nein da erscheint nur das BOSEST.
Autocreate ist aktiv

Gruß
Thorsten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 April 2016, 18:53:19
Net::Bonjour ist installiert? Probier mal den Code in einem test.pl File mit "perl test.pl" auszuführen:
use Net::Bonjour;

my $res = Net::Bonjour->new('soundtouch');

$res->discover;

foreach my $entry ($res->entries) {
        printf "%s %s:%d\n", $entry->name, $entry->address, $entry->port;
}

Nach paar Sekunden sollten da die Boxen gelistet werden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 April 2016, 19:00:42
wird nichts gelistet.

cpanm Net::Bonjour
Net::Bonjour is up to date. (0.96)

Das testscript mit dem Mojo gibt aber Daten zurück.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 April 2016, 19:08:13
Ok, dann liegt es irgendwo am Netzwerk. Die Boxen sind sicher im gleichen Subnet wie FHEM? Keine Firewalls oder sonstige Ports auf der FHEM Maschine blockiert? Du kannst auch mal Wireshark am PC laufen lassen und dann das Testscript ausführen. Wenn du in Wireshark danach auf "mdns" filtertest, sollte die Suche nach _soundtouch und die Ergebnisse ersichtlich sein.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 April 2016, 19:14:28
Ist eine Soundtouch10 gleiches Subnet. Hab ein Ping über presence laufen und da ist die IP erreichbar. FW auf dem internen Interface sollte aus sein. Schaue mir das ganze nachher mit Wireshark an.

Welcher socket wird abgefragt? Dann kann ich mit Telnet testen.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 April 2016, 19:22:28
Bonjour sendet einen UDP Broadcast an die IP 244.0.0.251 Port 5353. Die Devices antworten dann ebenfalls über einen UDP Broadcast an die gleiche IP und Port.

Kannst du die Box eigentlich aus dem gleichen Netzwerk wie FHEM mit der SoundTouch App steuern? Die verwendet nämlich auch nur Bonjour.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 07 April 2016, 09:32:26
Hallo,

hatte gestern Abend keine Zeit mehr.

Telnet auf 5353 wird rejected.

Wireshark zeigt nichts bzgl. mdns ausgehend vom Server. Eventuell ein Problem mit dem Bonjour Modul !?

Box läßt sich mit der App aus dem Netz steuern. Werde mal Wireshark mitlaufen lassen wenn ich über App ansteuere.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 08 April 2016, 20:08:14
Hallo,

Wireshark beim Bedienen mit der App zeigt wie erwartet die mdns UDP Pakete. An meinem Perl passt was nicht.
Fahre mal Updates.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 April 2016, 19:28:44
Hallo,

habe überall Updates eingespielt (Perl, Soundtouch,OS) 

Das einzige was ich mit Wireshark von meinem Server sehe ist

MDNS   86   Standard query response 0x0000  A, cache flush

Das Test script zeigt nur
#perl  test.pl
0 :0

use Net::Bonjour;

my $res = Net::Bonjour->new('_soundtouch._tcp.local');

$res->discover;

foreach my $entry ($res->entries) {
        printf "%s %s:%d\n", $entry->name, $entry->address, $entry->port;
}


Jemand noch eine Idee?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 11 April 2016, 14:07:36
Habe noch use diagnostics zugefügt.

Damit kriege ich

#perl test.pl
Use of uninitialized value in sprintf at
   /usr/lib/perl5/site_perl/5.18.2/Net/Bonjour.pm line 223 (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.
   
    To help you figure out what was undefined, perl will try to tell you
    the name of the variable (if any) that was undefined.  In some cases
    it cannot do this, so it also tells you what operation you used the
    undefined value in.  Note, however, that perl optimizes your program
    anid the operation displayed in the warning may not necessarily appear
    literally in your program.  For example, "that $foo" is usually
    optimized into "that " . $foo, and the warning will refer to the
    concatenation (.) operator, even though there is no . in
    your program.
   
Use of uninitialized value $query in string eq at
   /usr/lib/perl5/site_perl/5.18.2/Net/Bonjour.pm line 233 (#1)
Use of uninitialized value in sprintf at
   /usr/lib/perl5/site_perl/5.18.2/Net/Bonjour/Entry.pm line 249 (#1)
Use of uninitialized value in printf at test.pl line 9 (#1)
0 :0


Jetzt bräuchte ich nur noch einen Perl Experten ;-)

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 12 April 2016, 18:49:58
Wenn ich das ganze über avahi mache wird alles korrekt angezeigt.


avahi-browse -a -r -t


Net::Rendezvous::Publish::Backend::Avahi

Hat jemand sowas schon mal über Avahi implementiert?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 12 April 2016, 19:26:53
Hallo Eisix,

die Avahi Perl Implementierung erlaubt leider nur ein Publish eine Services, aber keine Suche. Hast du auch schon mal libnet-bonjour-perl komplett neu installiert oder über cpanminus installiert? Glaub zwar nicht ganz das es daran liegt, aber einen Versuch ist es wert.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 April 2016, 13:45:38
Hallo Dominik,

libnet-bonjour-perl für SuSE Leap habe ich keine gefunden, auch in anderen Namenskombinationen. Aber cpanminus geht natürlich. Eine Neuinstallation ändert aber nichts. Von dem Fehler ausgehend scheint Net::DNS::Resolver das eigentliche Problem zu sein. Dieses Modul läßt sich nur mit force installieren. Ich denke ich laufe da irgendwo in einen Bug.

Als Workaround: Könntest du mir die alte Version geben bei der man die IP noch angeben mußte? Mit der subroutine sollte dann zumindest der Rest funktionieren oder sehe ich das falsch?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 April 2016, 16:24:02
Mir ist noch eine quick & dirty Lösung für mich eingefallen.

Ich könnte den Bonjour Teil mit Shell avahi ersetzen


use Net::Bonjour;

my $res = Net::Bonjour->new('soundtouch');

$res->discover;

foreach my $entry ($res->entries) {
        printf "%s %s:%d\n", $entry->name, $entry->address, $entry->port;
}



my $bose = `avahi-browse -r -t _soundtouch._tcp`;

Der output sieht so aus


+   eth0 IPv4 Bose SoundTouch 6304CC                        _soundtouch._tcp     local
=   eth0 IPv4 Bose SoundTouch 6304CC                        _soundtouch._tcp     local
   hostname = [689e197305cc.local]
   address = [192.168.10.112]
   port = [8090]
   txt = ["MAC=689E197305CC"]

Und hier kommt wieder der Perl Guru ins Spiel der den output auf dein Format umsetzt.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 April 2016, 18:02:16
Was ist wenn du Net::DNS::Resolver und Bonjour mit cpanminus installierst? Irgendwie muss man ja das zum Laufen bekommen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 April 2016, 18:22:00
Habe ich alles schon X-mal gemacht. Uninstall, reinstall, force, update.....
Irgendwas passt da nicht von der Perl Seite. Vielleicht gibt sich das mit einem zukünftigen update  :-\

Ich brauch und will aber das Modul  ;D

Hab grad die Änderungen reingepackt und im log hab ich jetzt was stehen.

2016.04.13 18:09:53 3: BOSEST: BOSE SoundTouch v1.5.2
2016.04.13 18:10:25 3: BOSEST: Device Bose SoundTouch 6305CC (679E196305CC) found.

Hab ich das richtig interpretiert du nimmst nur die IP aus dem Bonjour?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 April 2016, 18:29:13
Richtig, Bonjour wird nur verwendet um die IP ausfindig zu machen. Wenn die Box schon gefunden wird, dann dürftest du es richtig gemacht haben :)

Ich werde bei der nächste Version die Unterstützung von fixen IPs mit einbauen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 April 2016, 22:13:03
Das wäre super!

Melde mich schon mal als Tester.

Das Autocreate der Soundstation hat nicht geklappt.

verbose 5 zeigt:
Zitat
Cmd: >{BOSEST_finishedDiscovery('bose_system|commandDefineBOSE|679E196305CC,Bose SoundTouch 6305CC|supportedSources|679E196305CC,AUX,STORED_MUSIC,INTERNET_RADIO,BLUETOOTH,SPOTIFY|capabilities|679E196305CC,false|bassCapabilities|679E196305CC,true,-9,0,0|listMediaServers|679E196305CC,Universal Media Server|updateIP|689E196305CC,192.168.10.112<

danach nichts mehr.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 19 April 2016, 18:01:51
Hallo,

löschen, Neustart Fhem , neu anlegen, führt zum gleichen Ergebnis.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 20 April 2016, 16:03:24
Was mir heute noch aufgefallen ist, ist der leere Cmd Eintrag wenn ich verbose 5 laufen lasse.

Zitat
Cmd: >{BOSEST_finishedDiscovery('bose_system|commandDefineBOSE|679E196305CC,Bose SoundTouch 6305CC|supportedSources|679E196305CC,AUX,STORED_MUSIC,INTERNET_RADIO,BLUETOOTH,SPOTIFY|capabilities|679E196305CC,false|bassCapabilities|679E196305CC,true,-9,0,0|listMediaServers|679E196305CC,Universal Media Server|updateIP|689E196305CC,192.168.10.112<

Cmd: >')}<


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 April 2016, 08:48:37
@Eisix, kannst du mal die Version anbei testen? shutdown restart ist erforderlich.

Im Hauptdevice gibt es nun das Attribut "staticIPs" dort kannst du mit "," getrennt deine BOSE ST IPs eintragen. Nach spätestens einer Minute werden die Devices dann angelegt und erscheinen unter "Unsorted". Lass mich wissen ob es funktioniert. Online/Offline presence Status wird dabei noch nicht richtig gehandhabt.

//Edit: Anhang entfernt. Update im 1. Post.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 25 April 2016, 16:58:41
Hallo,

Attribut ist da. IP gesetzt. Folgendes kommt bei verbose 5


Zitat
2016.04.25 16:42:07 4: WEB_10.9.0.16_63757 POST /fhem&detail=bose_system&dev.attrbose_system=bose_system&cmd.attrbose_system=attr&arg.attrbose_system=userattr&val.attrbose_system=192.168.10.112; BUFLEN:0
2016.04.25 16:42:07 5: Cmd: >attr bose_system userattr 192.168.10.112<
2016.04.25 16:42:07 5: Triggering global (1 changes)
2016.04.25 16:42:07 5: Starting notify loop for global, first event ATTR bose_system userattr 192.168.10.112
2016.04.25 16:42:07 5: Cmd: >{BOSEST_finishedDiscovery('bose_system')}<

Das System selbst taucht nicht auf. Fhem Neustart ändert nichts.

Was mir im Modul noch aufgefallen ist, du verbindest einmal auf 8080, ist das richtig? Da ist bei mir die Seite mit der Wlan Konfiguration.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 April 2016, 17:43:59
Kann es sein, dass du das "userattr" auf die IP gesetzt hast und nicht das Attribut selbst? Du musst in der Dropdown Liste "staticIPs" auswählen und das setzen. Vorher solltest du noch "userattr" auf "staticIPs" setzen, damit das in der Dropdown Liste auch verfügbar ist.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 25 April 2016, 17:59:43
Ja das kann sein ::)

Habs jetzt richtig gemacht und es geht!

Device wird angelegt

Zitat
2016.04.25 17:54:04 3: BOSEST: BOSE SoundTouch v1.5.3
2016.04.25 17:54:36 3: BOSEST: Device Bose SoundTouch 6305CC (689E196305CC) found.
2016.04.25 17:54:36 3: BOSEST: BOSE_689E196305CC, new IP (192.168.10.112)
2016.04.25 17:54:42 3: BOSEST: BOSE_689E196305CC, WebSocket connection succeed.

Super, Danke für das Modul!

Werde heute Abend mal die Funktionalitäten testen.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 April 2016, 18:11:05
Super :) Dann viel Spaß beim Testen!

Update im 1. Post mit folgenden Funktionalitäten:

v1.5.3 - 20160425
- FEATURE: support static IPs (should only be used if device can't be discovered)
            attr bose_system staticIPs 192.168.1.52,192.168.1.53
- FEATURE: support speak channel name (useful for SoundTouch w/o display)
            attr <name> speakChannel 1-6
            attr <name> speakChannel 2,3,5,6
- BUGFIX: retry websocket setup every 5s if it fails
- BUGFIX: update supportClockDisplay reading only on reconnect
- CHANGE: remove user attr from main device

staticIPs
Bitte die staticIPs Funktionalität wirklich nur nutzen wenn das Device nicht gefunden wird.

speakChannel
Damit wird vor dem Abspielen des Senders der Sendername per TTS durchgesagt. Gerade bei Devices ohne Display hilfreich wenn man öfter mal paar Presets ändert. TTS Einrichtung ist Voraussetzung.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: FHEM_Starter am 26 April 2016, 18:43:49
Hallo in die Runde,

ich versuche TTS zum Laufen zu bekommen, klappt aber leider nicht auf meinem Raspberry unter Jessie. Ich habe das script laufen lassen und auf Fehlermeldungen geachtet. Es waren keine dabei.

Wenn ich nach der Installation nach minidlna suche, wird nichts gefunden. Was kann hier schiefgegangen sein.

Danke und Gruß
Wolfgang
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Mai 2016, 19:07:05
Hallo Wolfgang,

läuft minidlna auch?
ps -efa|grep minidlna

Wenn es dort läuft, dann noch http://<rpi>:8200 aufrufen und prüfen ob du dort zugreifen kannst.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Mai 2016, 21:27:09
Update im 1. Post

v1.5.4 - 20160509
- FEATURE: restore volume when speaker goes online
             allows to power off the box completely without loosing
             previous volume settings
- BUGFIX: fix possible uninitialized value
- BUGFIX: fix next which should be return
- BUGFIX: sometimes double-tap feature wasn't working due to BOSE not
           updating zones for slave speakers
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Mai 2016, 12:05:40
Danke für's update!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Mai 2016, 14:25:17
Folgenden error habe ich im Log


2016.05.10 13:50:46 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 1672.
2016.05.10 13:50:46 3: BOSEST: Discovery failed with: Can't connect to 192.168.10.112:8090


Der Fehler ist aber auch mit der alten Version manchmal aufgetreten und ich konnte bis jetzt keine Auswirkungen feststellen.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Mai 2016, 20:35:23
Danke für die Meldung. Das PERL WARNING habe ich gefunden und wird behoben. Discovery failed war resultierend daraus.

Kann es sein, dass du eine staticIP hinterlegt hast die gerade nicht online war?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Mai 2016, 23:20:51
Ist ein statischer DHCP Eintrag und das Gerät war die ganze Zeit am Strom.
Ist heute Nachmittag nochmal aufgetreten.


2016.05.10 16:15:00 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_BOSEST.pm line 1672.
2016.05.10 16:15:00 3: BOSEST: Discovery failed with: Can't connect to 192.168.1.112:8090

Connection timed out at /usr/lib/perl5/vendor_perl/5.18.2/LWP/Protocol/http.pm line 47.


Was aber möglich wäre ist das ich manchmal Aussetzer im Netz habe. Ist mir am Wochenende aufgefallen, konnte nur noch nicht die Komponente identifizieren. Das würde aber das Verhalten erklären.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: FHEM_Starter am 12 Mai 2016, 14:55:33
Hallo Dominik,

danke für Deine Antwort, ich konnte das Problem schon beheben. Ich habe minidlna 1.1.5 über das repository installiert, läuft einwandfrei.

Trotzdem haben ich noch eine Frage: Ich habe 3 Boxen installiert und würde gerne Meldungen von FHEM auf diesen gleichzeitig ausgeben. Pro box einzeln geht das ja prima. Gibt es einen Ansatz für soetwas wie "speakeverywhere" ?

Danke und Gruß Wolfgang
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 12 Mai 2016, 20:03:26
Hi Wolfgang,

probier mal im Standby
set device playEverywhere
set device speak "Das ist ein Test." 40


Das sollte klappen. Falls die Box schon spielt, macht es Sinn vorher noch "set device off" zu setzen, damit die Musik nicht auf beiden Boxen startet.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 03 Juni 2016, 08:41:13
Läuft bisher genauso wie es soll, sauber.
Jetzt sehe ich "set playTrack" und weiß leider nicht genau wie ich es nutzen kann.
Würde gerne einen bestimmten mp3-Titel abspielen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: luvat am 05 Juni 2016, 20:54:00
Läuft richtig richtig cool.
Vielen Dank dafür.

Ich hätte noch 2 Fragen:

1: Wie genau ist es möglich die Presets > 6 zu belegen? Die App lässt es nicht zu; aber das Modul zeigt ja an, dass theoretisch 20 Stück möglich sind

2: Hat schon wer eine fertige Implementierung für die Tablet UI gebastelt? Ich wäre für Inspirationen dankbar ;)

Beste Grüße
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Juni 2016, 18:58:50
@HansDampfHH, danke für den Hinweis per PN, dass da noch Fragen offen sind. Hatte ich echt übersehen.

set playTrack:
Hinter playTrack muss der Titel des Liedes angegeben werden. Das nutze ich auch innerhalb des Moduls um Google TTS abzuspielen nachdem es am DLNA Server runtergeladen wurde. Wichtig ist natürlich, dass der Titel richtig indiziert wurde.

@luvat
1: Sender mit der BOSE SoundTouch App auswählen und dann in FHEM "set <name> saveChannel 07" ausführen. Danach kannst du mit "set <name> channel 7" den Channel auch wieder laden.
2: Ich nicht :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 09 Juni 2016, 23:32:09
Danke für Dein Feedback.
Wenn ich ein bereits generiertes tts-mp3 abspielen möchte, von dem ich ja weiß, dass es bereits durch BOSEST angelegt wurde, erhalte ich mit verbose 5 folgendes:

2016.06.09 23:29:18 4: BOSEST: Search for 75e6088dcca0d4d262d2529f4872ef53.mp3 on STORED_MUSIC
2016.06.09 23:29:18 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">75e6088dcca0d4d262d2529f4872ef53.mp3</searchTerm></search>
2016.06.09 23:29:18 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><searchResponse source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0"><totalItems>0</totalItems></searchResponse>
2016.06.09 23:29:18 4: BOSEST: Search for 75e6088dcca0d4d262d2529f4872ef53.mp3 on STORED_MUSIC
2016.06.09 23:29:18 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="fa095ecc-e13e-40e7-8e6c-c80e14c55469/0"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">75e6088dcca0d4d262d2529f4872ef53.mp3</searchTerm></search>
2016.06.09 23:29:19 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><searchResponse source="STORED_MUSIC" sourceAccount="fa095ecc-e13e-40e7-8e6c-c80e14c55469/0"><totalItems>0</totalItems></searchResponse>
2016.06.09 23:29:21 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.06.09 23:29:21 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'url' => 'webserver/pingRequest',
                               'deviceID' => 'EC24B8E2DC54',
                               'method' => 'GET',
                               'request' => {
                                            'requestID' => '1',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          }
                             }
                 }
        };


Letzte Version des Moduls ist installiert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: F2k am 10 Juni 2016, 17:54:12
Hallo zusammen,

evtl. hat hier jemand einen Tip für mich.

Ich scheiter im augenblick daran das Mojolicious aufzusetzen.

Wie im ersten Post beschrieben habe ich die nötigen Pakete installiert. Allerdings wird bei mir das "libdigest-perl-md5-perl" Paket nicht gefunden.

"sudo apt-get install cpanminus" funktioniert
"sudo cpanm Mojolicious" fährt leider gegen die Wand.

root@NAS2:~# sudo apt-get install cpanminus
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
cpanminus ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
root@NAS2:~# sudo cpanm Mojolicious
--> Working on Mojolicious
Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-6.64.tar.gz ... OK
Configuring Mojolicious-6.64 ... OK
Building and testing Mojolicious-6.64 ... FAIL
! Installing Mojolicious failed. See /root/.cpanm/build.log for details.


Das Logfile hänge ich mal mit ran... ich hab zwar schon versucht daraus schlau zu werden aber so recht gelungen ist mir das noch nicht.

Ich versuche das Ganze auf einem NAS mit OpenMediaVault 2.2.4 - welches auf Debian 7 läuft - zur Mitarbeit zu bewegen.

Bis her hatte damit wenig stress aber hier verzweifle ich gerade.

Vielen Dank schonmal für Eure Hilfe.

cya Fuga ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Juni 2016, 20:30:23
@HansDampfHH, suchst du mit .mp3 Endung? Probier mal ohne Endung zu suchen.

@F2k, ich denke daran dürfte es liegenCan't locate IO/Socket/IP.pm ...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 10 Juni 2016, 20:49:56
Bäm, das war es. Dateiendung darf nicht beim Aufruf dabei sein.
Danke für den Hinweis !
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: F2k am 10 Juni 2016, 21:04:49
Hi dominik,

die Zeile hatte auch meine Aufmerksamkeit... allerdings konnte ich bei Onkel Google nur sehr waage Informationen sammeln.

Scheinbar hängt die Datei mit dem Netzwerk zusammen... aber ich hab keine Ahnung ob mir ein entscheidendes Paket fehlt oder ob ich etwas configurieren muss oder sonstiges.

Mir fehlt halt ein Anhaltspunkt an dem ich ansetzen kann.

Vielen Dank für die promte Antwort. ;)

cya Fuga
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Juni 2016, 21:27:19
Hi Fuga,

müsste eigentlich das hier sein:
http://search.cpan.org/~pevans/IO-Socket-IP-0.37/lib/IO/Socket/IP.pm
Probier das mal mit cpanm installieren.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: F2k am 10 Juni 2016, 21:45:08
Hi dominik,

vielen Dank für Deinen Support. ;)

Folgender Befehl hat mich schonmal einen Schritt weiter gebracht...

sudo apt-get install libio-socket-ip-perl

Nun konnte Mojolicious problemlos installiert werden.

cya Fuga
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Juni 2016, 21:35:48
Update im 1. Post...

v1.5.6 - 20160611
- FEATURE: auto-zone, start zone-play if speakers are playing the same (contentItemLocation)
             attr <name> autoZone on (default: off)
- BUGFIX: set zone only from master device as slave devices might not always report the truth (known bug at BOSE)
- CHANGE: set zonemember_X to UDN instead of player name
- CHANGE: delete TTS files after 30 days
- CHANGE: reduce number of http calls after each discovery process
- CHANGE: reduce number of http calls for key presses
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: MCXCII am 17 Juni 2016, 12:26:34
Hallo Dominik,

erst einmal einen riesen Dank für dieses tolle Modul, funktioniert mit meiner ST10 wunderbar!

Ich hätte da einen Wunsch. In der Geräteübersicht gibt es das reading "art", welches beim Hören über Spotify den Link zum Album Cover ausweist.
Wenn man diesen Link kopiert und ansurft erhält man das aktuelle Cover in hoher Auflösung.

Gibt es die Möglichkeit dieses Reading grafisch in fhem darzustellen? Über "weblink iframe" habe ich es bisher nicht geschafft.

Grüße
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 17 Juni 2016, 21:36:52
Hallo MCXCII,

freut mich, dass das Modul bei dir gut funktioniert! :)

Die grafische Darstellung muss denke ich ähnlich wie beim weather Modul gemacht werden. Dort gibt es diese WeatherAsHTML Funktion welche dann über weblink htmlCode {WeatherAsHTML(...)} aufgerufen wird. Wenn du heraus findest was weblink htmlCode da für ein HTML (<table...) verlangt, wäre das super. Ich würde das dann mit ins Modul aufnehmen.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: MCXCII am 18 Juni 2016, 11:42:06
Genau diese Idee hatte ich grundsätzlich auch. Bei mir scheitert es da aber leider an den fehlenden bzw. nicht ausreichenden Perl Kenntnissen  :-\
Ich habe mir zum Vergleich das Modul "Sonos" von Reiner Leins einmal angesehen. Dort scheinen die Informationen recht ähnlich geladen zu werden.
Sobald ein neues Cover Art zur Verfügung steht (also bei Songwechsel) wird das neue Cover in eine .jpg Datei geschrieben.

Dieses Cover kann anschließend über ein "weblink image" in fhem eingebunden werden. Auszug aus dem http://www.fhemwiki.de/wiki/SONOS (http://www.fhemwiki.de/wiki/SONOS)

define NextAlbumArt_Wohnzimmer weblink image fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt

Vielleicht hast du ja die Möglichkeit diese Idee im Modul umzusetzen. Wenn nicht, auch nicht schlimm. Ich bin wie bereits erwähnt sehr zufrieden mit dem Modul!  :)

Viele Grüße
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 18 Juni 2016, 13:05:53
Das Speichern sollte kein Problem sein, aber die Lösung wie es im Weather Modul gemacht wird, finde ich etwas besser. Da wird nämlich nichts lokal gespeichert.

Ich werde mir das mal im weather Modul genauer ansehen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 19 Juni 2016, 22:01:17
Hi MCXCII,

hab es mal mit weblink ausprobiert, hier eine einfach Variante:
define bosewz.albumart weblink htmlCode { my $link = ReadingsVal("BOSE_WZ", "art", ""); $link="http://media.tumblr.com/tumblr_mf3r1eERKE1qgcb9y.jpg" if($link eq ""); return sprintf("<br>BOSE Wohnzimmer<br><img src=\"%s\"><br>", $link) }

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: MCXCII am 20 Juni 2016, 13:11:19
Hi Dominik,

vielen Dank, das funktioniert wirklich wunderbar!
Ich habe für mich noch die Größe des Covers angepasst.

Sieht in der fhem.cfg jetzt so aus:
define bosek.albumart weblink htmlCode { my $link = ReadingsVal("BOSE_507224B5F809", "art", "");; $link="http://media.tumblr.com/tumblr_mf3r1eERKE1qgcb9y.jpg" if($link eq "");; return sprintf("<img src=\"%s\"width=400 height=400>", $link) }

Viele Grüße

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: renardfm am 30 Juni 2016, 19:56:14
Hallo zusammen,
zunächst danke für die viele Arbeit, die in dem Modul steckt!!

ich scheitere gerade am ersten Schrit .. der Installation. Vielleicht hat mir jemand einen heißen Tipp was ich übersehen haben könnte.



mist... einfach nochmal die libs deinstalliert und einzeln installiert, dann ging es :-)
hätte ich mal gestern gleich probieren sollen....

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 30 Juni 2016, 20:23:04
Sieht so aus als wäre das libnet-bonjour-perl Modul nicht installiert. Mach mal
sudo apt-get install libnet-bonjour-perl
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: renardfm am 30 Juni 2016, 20:30:49
ja ich hab gesehen, dass es mit in der Liste stand..  ::) und einzeln nachgeladen.. d'oh
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Juli 2016, 18:25:07
Das Modul ist nun im offiziellen FHEM Repository.

Ideen, Bugs, Anregungen, etc. bitte weiterhin hier posten.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Theo am 24 Juli 2016, 18:56:28
Hallo Dominic,

die Aufnahme ins offizielle Repository ist sehr verdient, Glückwunsch dazu.

Vielen Dank für die gute Arbeit!

Nach und nach schicke ich meine Logitech - Squeezeboxen in die Rohstoffwiederverwertung, die Bose ST übernehmen, sind dabei auch noch stromsparender.

Cool wäre es, wenn eine beliebige URL abgespielt werden könnte, dann wäre die Steuerung über den Logitech - Mediaserver möglich. Beliebige Clients rufen den Server mit z.B. so einer URL auf: 

Zitathttp://192.168.0.123:9000/stream.mp3?player=Theo

Die Medienzuführung erfolgt dann via Logitech - Mediaserver (Server - Sammlung, Live - Radio, Podcast, etc.).

Vielleicht geht es ja bereits ,,irgendwie" mit der aktuellen Software, wenn ja, habe ich es noch nicht hin bekommen.

Viele Grüße
Theo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: harrison1905 am 25 Juli 2016, 16:25:23
Hallo

ist es möglich einen SoundTouch Wireless Adapter einzubinden für z.b. Lifestyle Systeme
http://worldwide.bose.com/downloads/de/web/soundtouch_updates_usb/page.html
sollten ja die selben Befehle sein

VG
Stefan

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 Juli 2016, 18:58:58
Hallo Theo,

ich habe leider noch keine Möglichkeit gefunden URLs direkt abzuspielen. Ich habe mal versucht eine .m3u mit http Links auf einem DLNA Server abzulegen, aber die BOSE SoundTouch App lässt mich diese .m3u dann nicht abspielen. Wenn du irgendwelche anderen Möglichkeiten findest, dann melden - bin gerne bereit diese zu implementieren ;)

Hallo Stefan,

den SoundTouch Wireless Adapter kenne ich leider nicht. Habe kurz die Funktionen auf der Website durchgelesen und bin der Meinung, dass dieser genau so gefunden werden müsste wie eine normale SoundTouch Box. Hast du einen solchen Adapter? Wird er in der SoundTouch App wie eine normale Box aufgeführt? Zeigt FHEM den Adapter an?

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: harrison1905 am 25 Juli 2016, 19:41:00
Hallo
Ja ich hab so einen Adapter die ST-App zeigt es wie eine Box an, FHEM hat es nicht angezeigt hatte das System über LAN verbunden habs jetzt mal auf WLAN geändert und FHEM zeigt es jetzt an :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: slupus am 10 August 2016, 21:45:02
Ist es möglich eine mp3-Datei, ähnlich einer Sprachausgabe, einzuspielen und anschließend das Internetradio weiterlaufen zu lassen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 August 2016, 22:11:24
Über "playTrack <trackname>" kannst du eine mp3 Datei abspielen die auf einem DLNA Server liegt. Danach das Radio fortzusetzen ist nicht implementiert, nehme ich aber mal als Featurewunsch mit auf die Liste.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: slupus am 10 August 2016, 22:19:34
Danke für das schnelle Feedback. So nutze ich es aktuell und behelfe mir dann mit einem zweiten Aufruf fürs Internetradio. Würde mich natürlich freuen, wenn es irgendwann funktioniert. Es gibt aber sicherlich wichtigere Themen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Freibeuter am 07 September 2016, 21:03:42
Hallo Dominik,
vielen Dank für das tolle Modul, klappt alles 1A !

Hätte noch einen kleinen Wunsch, um Titel (Datei vom Fritzbox Mediaserver) zu wiederholen bietet die Soundtouch app eine Repeat bzw 1-Repeat Funktion an, könntest man das in FHEM auch realisieren?
In meinen Fall ist es Meeresrauschen ;-)

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: MarcusSchwarze am 10 September 2016, 19:05:50
Wow, Glückwunsch zu diesem Modul! Ganz große Klasse!

Ein tolles Feature wäre noch, via FHEM-Logik Textnachrichten auf dem Display ausgeben zu können: "Gelbe Säcke rausstellen nicht vergessen!"
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 September 2016, 19:22:26
Zitat von: Freibeuter am 07 September 2016, 21:03:42
Hallo Dominik,
vielen Dank für das tolle Modul, klappt alles 1A !

Hätte noch einen kleinen Wunsch, um Titel (Datei vom Fritzbox Mediaserver) zu wiederholen bietet die Soundtouch app eine Repeat bzw 1-Repeat Funktion an, könntest man das in FHEM auch realisieren?
In meinen Fall ist es Meeresrauschen ;-)

Hast du in der SoundTouch App die Möglichkeit Repeat und 1-Repeat zu setzen? Ich finde diese Funktionalität gerade nicht!?

@MarcusSchwarze, soll dazu auch noch der Text "Gelbe Säcke rausstellen nicht vergessen!" angesagt werden oder Mute? Weil mit Mute könnte man ein leeres mp3 erstellen mit ID3 Tag "Gelbe..." versorgen und das abspielen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: MarcusSchwarze am 18 September 2016, 00:38:24
@dominik

Meine Idealvorstellung ist, dass die Soundtouch einfach den Text anzeigt, der in einem Google-Kalender via FHEM eingebunden wird. Vorbild ist dieser hier: http://www.juergenstechnikwelt.de/smarthome-2/smarthome-mit-fhem-umsetzung-meines-abfallkalenders/

Jetzt müsste es "nur noch" möglich sein, die Einträge des Kalenders 24 h im Voraus auf dem SoundTouch-Gerät anzuzeigen ...

Viele Grüße

Marcus
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: nmarion am 01 Oktober 2016, 19:36:24
Wo kann ich denn die pm datei finden ?????
Die ist nicht mehr im ersten Thread
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 03 Oktober 2016, 12:04:09
Ist doch jetzt Bestandteil von FHEM:
http://fhem.de/commandref.html#BOSEST
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 03 Oktober 2016, 12:18:46
Nun darf ich mich gleich auch mit einer Frage bzw. einem Problem hier einhängen.
Mit fiel gerade auf, dass meine SoundTouch 10 keinen Text mehr "vorliest".

DLNA Server läuft, Texte werden auch als mp3 in /var/lib/minidlna abgelegt und können nach einem Download abgespielt werden.
Wenn ich aber versuche das File über die SoundTouch abspielen zu lassen leuchtet die Anzeige-LED gelb:
"System, Quelle oder Sender verfügbar, Preset leer oder ungültig."

Jemand eine Idee oder einen Hinweis? Ging vor einiger Zeit noch, System unverändert.
Hat google die mp3 geändert oder gibt es Probleme nach einem SoundTouch update?


2016.10.03 12:16:27 4: BOSEST: set /key => <key state="press" sender="Gabbo">STOP</key>
2016.10.03 12:16:27 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.03 12:16:27 4: BOSEST: set /key => <key state="release" sender="Gabbo">STOP</key>
2016.10.03 12:16:27 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.03 12:16:27 4: BOSEST: set /volume => <volume>45</volume>
2016.10.03 12:16:27 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2016.10.03 12:16:27 4: BOSEST: Search for 0ebfcd5fb7cac1d87f448de9246889d3 on STORED_MUSIC
2016.10.03 12:16:27 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">0ebfcd5fb7cac1d87f448de9246889d3</searchTerm></search>
2016.10.03 12:16:27 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><searchResponse source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0"><totalItems>1</totalItems><items><item Playable="1"><name>0ebfcd5fb7cac1d87f448de9246889d3</name><type>track</type><ContentItem source="STORED_MUSIC" location="64$C5 TRACK" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0" isPresetable="true"><itemName>0ebfcd5fb7cac1d87f448de9246889d3</itemName></ContentItem></item></items></searchResponse>
2016.10.03 12:16:27 4: BOSEST: set /select => <ContentItem source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-c03fd56503ae/0" location="64$C5 TRACK"><itemName>0ebfcd5fb7cac1d87f448de9246889d3</itemName></ContentItem>
2016.10.03 12:16:27 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/select</status>
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:28 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:28 4: BOSEST: set /volume => <volume>20</volume>
2016.10.03 12:16:29 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2016.10.03 12:16:29 4: BOSEST: set /bass => <bass>-2</bass>
2016.10.03 12:16:29 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/bass</status>
2016.10.03 12:16:29 4: BOSEST: set /select => <ContentItem source="INTERNET_RADIO" sourceAccount="" location="8076"><itemName>Alsterradio 106.8 FM</itemName></ContentItem>
2016.10.03 12:16:29 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/select</status>
2016.10.03 12:16:29 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:29 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:29 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:29 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:30 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:30 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'request' => {
                                            'requestID' => '1',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          },
                               'url' => 'webserver/pingRequest',
                               'deviceID' => 'EC24B8E2DC54',
                               'method' => 'GET'
                             }
                 }
        };

2016.10.03 12:16:30 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:30 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:31 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:31 5: BOSEST: parseAndUpdateNowPlaying
2016.10.03 12:16:32 5: BOSEST: BOSE_EC24B8E2DC54, received message.
2016.10.03 12:16:36 5: BOSEST: BOSE_EC24B8E2DC54, received message.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: TheMighty am 06 Oktober 2016, 21:55:21
Hallo!

Ich bin neu bei FHEM und versuche das BOSE-Plugin mit meiner SoundTouch Portable zu kombinieren.

FHEM ist bei mir auf einem x86-Zentyal-Router installiert. Die Bonjour-Ports habe ich in der Zentyal-Firewall freigegeben (UDP 5350, 5351, 5353).

Außerdem habe ich mdns-scan installiert und dort auch zunächst keine Devices gefunden. Nach einmaligem Start mit sudo bekomme ich nun die folgenden Ergebnisse:
zentyal@zentyal:~$ mdns-scan
+ zentyal [00:0d:xx:xx:xx:ec]._workstation._tcp.local
+ Internetradio._http._tcp.local
+ 000xxxxxxxxD@Internetradio._raop._tcp.local
+ Internetradio._soundtouch._tcp.local
+ Internetradio._spotify-connect._tcp.local


Leider findet FHEM keine Devices:

2016.10.06 21:34:38 4: BlockingCall (BOSEST_Discovery): created child (9902), uses telnetPort to connect back
2016.10.06 21:34:40 4: Connection accepted from telnetPort_127.0.0.1_52535
2016.10.06 21:34:40 5: Cmd: >{BOSEST_finishedDiscovery('bosesystem')}<


Muss ich noch Ports freigeben?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 10 Oktober 2016, 20:21:09
Okay, erledigt.
Umso mehr Komponenten durch Homeautomation zusammen arbeiten umso mehr Fehlerquellen gibt es leider auch.
Nachdem klar war, dass der Server läuft und auch miniDLNA habe ich irgendwann die SoundTouch verdächtigt.

Stecker gezogen, Neustart und alles läuft wieder.
Ärgerlich trotzdem.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Bibo am 11 Oktober 2016, 21:43:03
Hallo,
Funktioniert dieses sensationelle Bose-Plugin auch mit der sound touch 300 sound bar?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: TheMighty am 12 Oktober 2016, 00:04:12
Zitat von: TheMighty am 06 Oktober 2016, 21:55:21
... Leider findet FHEM keine Devices ...

Nach einer Wireshark Überprüfung habe ich festgestellt, dass keine Multicast-Paket an Adresse 224.0.0.251 (mDNS) verschickt werden. mdns-scan verschickt zwar entsprechende Paket auch von dem Router aus, dies passiert aber nicht durch Net::Bonjour. Auf einem anderen Rechner funktioniert dies auch mit Net::Bonjour. Womöglich wird auf dem Router von Perl das falsche Interface verwendet.

Praktischerweise kann man das Gerät aber auch manuell hinzufügen.  :) Hiermit klappt es nun:
attr bosesystem staticIPs 192.168.1.22

Vielen Dank für das tolle Plugin
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 12 Oktober 2016, 17:28:33
Hallo,

ich versuche gerade eine Senderlisten dynamisch in FTUI darzustellen. Momentan erstelle ich die Senderliste über ein notify das ein reading mit den Sendern schreibt.

Gibt es eine bessere Lösung oder ist geplant ein


get Bose Senderliste


umzusetzen?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 12 Oktober 2016, 21:27:59
hallo Zusammen,
seit ein paar Tagen habe ich ein ST 20 III und Fhem, beide über Netzwerkkabel angeschlossen.
im Event Monitor kommt folgende Meldung:
BOSEST: Unknown event, please implement: $VAR1 = { 'msg' => { 'body' => { 'pingRequest' => { 'pong' => 'true' } }, 'header' => { 'request' => { 'requestID' => '1', 'info' => { 'type' => 'new' } }, 'deviceID' => '884AEAF7CD0D', 'url' => 'webserver/pingRequest', 'method' => 'GET' } } };

und es gibtscheinbar ein Problem: wenn ich die ST 20 von Strom trennen und wieder anschaltet findet Fhem das Gerät nicht mehr.
Durch löschen des device und einem "define myBoseST20 bosest" findet fhem die Anlage wieder, die IP ändert sich nicht.


vielen Dank für die Hilfe/Info
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 14 Oktober 2016, 09:31:18
Das mit der Fehlermeldung hat nach eine update all aufgehört ...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: gotmoon am 16 Oktober 2016, 14:50:36
Hallo Zusammen,

vielen Dank für das tolle Modul. Nutze es derzeit um die Music im Arbeitszimmer automatisch zu muten, wenn ich telefoniere. Eine wirkliche Erleichterung !

Allerdings funktioniert bei mir das TTS überhaupt nicht.
Habe gefühlte 1000 mal minidlna installiert und wieder neu installiert. Auch mit script.
Dann alles mit dem DLNA einer Synology probiert.  Bin das Forum x-mal durchgegangen. Habe den PI geupdated und fhem.
Ende vom Lied ist, er gibt nichtmal eine Fehlermeldung aus. Somit fehlt mir jeglicher Ansatz. (vielleicht bin ich auch zu blöde...)  :D

Was toll wäre, ist eine kurze Erklärung wie TTS technisch funktioniert (grobe Vorgehensweise der Software) und was man alles braucht, damit wirklich alles läuft. Vom Linux Modul, FHEM Modul bis zu den einzelnen Einstellungen und Werten.
Dann könnte ich meine Installation durchgehen und schauen wo bei mir der Fehler liegt.

Vielen Dank vorab :-D
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 16 Oktober 2016, 16:38:32
Schon mal BOSEST auf verbose 5 gestellt?
Oder auch das log von miniDLNA angesehen (/var/log/minidlna.log)?

Soweit ich das richtig verstanden habe, wird dein TTS-Text von Google in ein mp3 umgewandelt und lokal in dem konfigurierten miniDLNA Verzeichnis gespeichert. Anschließend wird die Box angewiesen diese File abzuspielen.

Kannst du denn mit der SoundTouch App auf das miniDLNA Verzeichnis zugreifen?
Findet BOSE das überhaupt?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 20 Oktober 2016, 13:06:20
Hallo,

mir ist was aufgefallen mit DLNA. Nach jedem Neustart des DLNA-Servers (UniversalMediaServer) werden die Ordner nicht mehr gefunden. Ich muss sie erst wieder über die App einem Button zuweisen.

Channel_07 ist nach dem Neustart, Channel_08 vorher


channel_07
Cool|4066|STORED_MUSIC|466ab470-8d4b-4794-9e34-7db7fbe74d6c/0

channel_08
Cool|1446|STORED_MUSIC|466ab470-8d4b-4794-9e34-7db7fbe74d6c/0


Syntax scheint zu sein

Ordnername|passt nicht was ist das?|STORED_MUSIC|DLNA-ID/0

Hat jemand das gleiche Problem oder ist das DLNA Server spezifisch?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 20 Oktober 2016, 21:54:10
Hallo
bei mir schreibt BOSEST den MP3-file an die richtige Stelle in minidlna, aber spielt in nicht ab.
Mit der App kann ich ihn in der Bose anspielen lassen.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 20 Oktober 2016, 22:48:03
Gleiches Verhalten bei mir

Log Verbose 5

2016.10.20 22:43:42 5: BOSEST: BOSE_689E196303CC, received message.
2016.10.20 22:43:42 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'url' => 'webserver/pingRequest',
                               'method' => 'GET',
                               'deviceID' => '689E196303CC',
                               'request' => {
                                            'info' => {
                                                      'type' => 'new'
                                                    },
                                            'requestID' => '1'
                                          }
                             }
                 }
        };


Attribute

speakChannel
6

ttsDLNAServer
Universal_Media_Server

ttsDirectory
/Daten/TTS

ttsLanguage
de


Bei anwahl über Channel wird es auch abgespielt.
Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 21 Oktober 2016, 08:32:11
Hallo,
heute morgen, als die Bose durch FHEM eingeschaltet wurde, sind die Testnachrichten(set BOSE_884AEAF7CD0D  speak "Das ist ein Test." 40) alle abgespielt worden   :-\und dann wurde die Weckerfunktion ausgeführt :)...
und die Meldung kommt auch bei mir:
2016.10.21 08:29:47 5 : BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.21 08:29:47 4 : BOSEST: Unknown event, please implement: $VAR1 = { 'msg' => { 'header' => { 'url' => 'webserver/pingRequest', 'request' => { 'requestID' => '1', 'info' => { 'type' => 'new' } }, 'deviceID' => '884AEAF7CD0D', 'method' => 'GET' }, 'body' => { 'pingRequest' => { 'pong' => 'true' } } } };
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Oktober 2016, 17:11:56
Hallo,

die ping/pong Nachrichten sind so korrekt. Die werden hin und her geschickt um die Connection aktiv zu halten.

Bei der Weckerfunktion empfehle nicht "on" zu nutzen sondern direkt einen Channel anzuwählen. Bei "on" wird sonst immer der zuletzt gespielte Sender abgespielt. In sehr unglücklichen Situationen kann das auch mal ein "Speak" sein welches dann wiedergegeben wird.

@Eisix, die ID im channel_X wird von BOSE vergeben. Die kann ich leider nicht beeinflussen. Ich habe es bei mir noch nicht getestet ob sich diese ändert. Kannst du bitte mal statt auf channel_X direkt per Tastendruck auf channel_1-6 speichern und das vor und nach dem DLNA Restart?

@gootmon, die minidlna Installation ist leider wirklich umständlich - sorry dafür. Das liegt daran, dass im Raspbian noch keine aktuellere Version vorliegt. Probier es bitte mal mit diesem Guide: http://www.htpcbeginner.com/install-minidlna-on-ubuntu-ultimate-guide/
Wichtig ist nur die saubere Installation und danach der richtige Pfad (inkl. Schreibrechte!) im ttsDirectory Attribut.

@Eisix, bezüglich Senderliste kannst du ja die channel_X Readings abrufen. Oder meinst du etwas anderes?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 21 Oktober 2016, 22:01:50
Danke für den Hinweis, wird morgen in der früh getestet.
Aber die Spachausgabe funktioniert nicht immer. Gibt es eine Möglichkeit, wie ich sehen kann, nicht funktionert?

Fhem ist schon ne tolles Projekt....ich finden jeden Tag was neues, was man anschliessen könnte...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 22 Oktober 2016, 10:10:11
Poste bitte mal mit verbose = 5 den gesamten Log Output wenn du ein speak ausführst.

Gruß
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 22 Oktober 2016, 18:53:57
hallo
der MP3-File wird nicht immer erzeugt!

hier der wichtig Teil des Logs:
hier  wurde kein mp3 erzeugt
2016.10.22 18:42:29 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:42:30 1: PERL WARNING: Mojo::Reactor::Poll: Read failed: Can't open file "/tts//b381d410e15366cf663682e8605c3c16.mp3": Datei oder Verzeichnis nicht gefunden at /usr/share/perl5/Mojo/Asset/Memory.pm line 50.
2016.10.22 18:42:30 1: PERL WARNING: Mojo::Reactor::Poll: Read failed: Can't open file "/tts//ff884b7a02c38509653323beb755fda3.mp3": Datei oder Verzeichnis nicht gefunden at /usr/share/perl5/Mojo/Asset/Memory.pm line 50.


hier die Meldung nach FHEM start:
2016.10.22 18:47:35 3: BOSEST: BOSE_884AEAF7CD0D, new IP (10.80.23.119)
2016.10.22 18:47:35 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:47:35 5: BOSEST: Add AUX
2016.10.22 18:47:35 5: BOSEST: Add STORED_MUSIC
2016.10.22 18:47:35 5: BOSEST: Add STORED_MUSIC
2016.10.22 18:47:35 5: BOSEST: Add STORED_MUSIC
2016.10.22 18:47:35 5: BOSEST: Add STORED_MUSIC
2016.10.22 18:47:35 5: BOSEST: Add INTERNET_RADIO
2016.10.22 18:47:35 5: BOSEST: Add NOTIFICATION
2016.10.22 18:47:35 5: BOSEST: Add BLUETOOTH
2016.10.22 18:47:35 5: BOSEST: Add SPOTIFY

kurz danach:
016.10.22 18:48:04 4: BOSEST: set /key => <key state="press" sender="Gabbo">POWER</key>
2016.10.22 18:48:04 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.22 18:48:04 4: BOSEST: set /key => <key state="release" sender="Gabbo">POWER</key>
2016.10.22 18:48:04 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.22 18:48:04 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:04 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:48:04 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:04 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:48:06 4: BOSEST: set /key => <key state="press" sender="Gabbo">POWER</key>
2016.10.22 18:48:06 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.22 18:48:06 4: BOSEST: set /key => <key state="release" sender="Gabbo">POWER</key>
2016.10.22 18:48:06 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.10.22 18:48:06 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:06 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:06 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:48:07 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:07 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:48:09 5: BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.22 18:48:09 5: BOSEST: parseAndUpdateNowPlaying
2016.10.22 18:48:18 5: BOSEST: BOSE_884AEAF7CD0D, received message.


es gibt noch eine Meldung , die wird aber nicht immer ausgegeben..!?

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 22 Oktober 2016, 20:50:54
Entferne mal das "/" am Ende vom ttsDirectory Attribut.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 08:34:42
das hat leider auch nicht die erhoffte Wirkung...


es wurde auch kein MP3 erzeugt, mit der APP (Android und IOS) kann ich keine sehen:
2016.10.23 08:45:51 1: PERL WARNING: Mojo::Reactor::Poll: Read failed: Can't open file "/Musik/Recently Added/cfa669ded3f9698f03dea50b5efb6a45.mp3": Datei oder Verzeichnis nicht gefunden at /usr/share/perl5/Mojo/Asset/Memory.pm line 50.
2016.10.23 08:45:59 5: BOSEST: BOSE_884AEAF7CD0D, received message.

wie kann ich sehen, wie der mp3-file erzeugt wird? wenn ich das richtig verstanden habe , wird er von google erstellt, kann man testen ob einer erzeugt wurde?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 10:07:01
Ich glaub bei dir schlägt der Download fehl. Welches ttsDirectory hast du angegeben? Zuvor hattest du "/tts" jetzt steht aber "/Musik/Recently Added"?

Der Download läuft zuerst in den RAM, danach werden die Daten in das Verzeichnis ttsDirectory/MD5HASH.mp3 geschrieben. Das schlägt bei dir scheinbar fehl. Kannst du mal prüfen welche Rechte auf dem ttsDirectory gesetzt sind? FHEM muss dort schreiben können.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 10:15:34
ich habe das Verzeichnis wieder auf die Vorgabe eingestellt, die ich der App sehen kann. Wenn in dem Verzeichnis files sind, kann ich sie mit der App sehen und mit meinem Fritzfon abspielen.
die Benutzerrechte sind auf 777 eingestellt.
das Cmd set BOSE_884AEAF7CD0D  speak "Das ist ein Test." 40 wird im Event monitor ausgegeben 2016-10-23 10:53:10 BOSEST BOSE_884AEAF7CD0D speak "Das ist ein Test." 40. Aber im Logfile nicht! verbose 5 ist aktiv.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 10:21:28
Achtung, das BOSE Modul schreibt lokal in das minidlna Verzeichnis und nicht auf sonstige DLNA Shares. Du musst also minidlna sauber installiert haben und dort wird dann die Datei abgelegt. Der minidlna Share wird auch automatisch in der App eingebunden, das muss man nicht manuell hinzufügen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 11:16:44
ich habe im minidlna nichts hinzugefügt. das minidlna ist sowieso leer.
Diese Namen wird wohl in abhängigkeit des Flietypes beigefügt
ich habe das ttsDirectory auf /var/lib/minidlna gestellt.
Es wurde 1x 2 Files erzeugt, die st20 auf abspielen gestellt, es kamm kein Ton.
Ein file ist etwa 6KB und der andere 23KB, gleicher User und gleiche Zeit. diese files sind in der App jetzt nicht sichtbar.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 11:20:45
Ok, wenn die 2 Files erstellt wurden, dann klingt das schon gut. Prüfe nun nochmals mit der App ob dein minidlna Server über die App auch ersichtlich ist.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 11:28:15
JA der minidlna ist über die App Sichtbar. S900:minidlna.
Dann gibt es Bilder, Musik, Video und dort sind auch wieder "Verzeichnisse" sichtbar, die aber nicht im Filesystem sind.
es sind wohl Gruppierung die minidlna mit bringt..
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 11:48:12
Nur um sicher zu gehen, minidlna ist auf dem selben Device wie FHEM installiert, richtig?

Werden unter Musik auch die beiden Dateien angezeigt? Wenn nicht, dann öffne mal http://IP-MINIDLNA:8200/, dort müsste bei Audio files mindestens 2 stehen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 12:12:26
Nur um sicher zu gehen, minidlna ist auf dem selben Device wie FHEM installiert, richtig?
ja, richtig

Werden unter Musik auch die beiden Dateien angezeigt?
nein.
Wenn nicht, dann öffne mal http://IP-MINIDLNA:8200/, dort müsste bei Audio files mindestens 2 stehen.
nein, hier:

Media library
Audio files   0
Video files   0
Image files   0
Connected clients
ID   Type   IP Address   HW Address   Connections
0   Generic DLNA 1.5   10.80.23.60   88:4A:EA:F7:CD:0D   0
1   Generic UPnP 1.0   10.80.23.1   08:96:D7:1A:8D:9A   0
2   Generic DLNA 1.5   10.80.23.119   5C:F8:21:D5:6B:F0   0
3   Generic DLNA 1.5   10.80.23.112   AC:6F:BB:31:6E:4E   0
4   Generic UPnP 1.0   10.80.23.108   B8:AC:6F:C7:7C:49   0
5   Generic UPnP 1.0   10.80.23.113   F0:27:65:6F:92:D7   0
6   Unknown   10.80.23.2   FF:FF:FF:FF:FF:FF   0
7   Unknown   10.80.23.104   6C:8D:C1:B1:E4:FD   0
8   Windows   10.80.23.105   10:0B:A9:15:96:04   0
9   Generic DLNA 1.5   10.80.23.111   B8:27:EB:76:38:C5   0
10   Generic UPnP 1.0   10.80.23.106   D4:BE:D9:0B:DE:F3   0

-1 connections currently open
die beiden files gehören aber minidlna
wenn set BOSE_884AEAF7CD0D  speak "Das ist ein Test." 40 auslöse, wird kurz auf dem Display des St20 Internet only angezeigt

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 13:34:30
und es wird erst neues Files erzeugt, wenn die alten gelöst sind!
in einem file heißt es, das googlespeechsystem sei down, und im zweiten wird der gewünschte Text angesagt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 16:55:43
Poste mal deinen Output von
cat /etc/minidlna.conf | grep -v "^#"

Hast du einen RPi mit Raspbian am laufen? Oder um welches Device handelt es sich?

Du kannst auch noch versuchen
inotify=yes
setzen in der minidlna.conf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 18:42:56
das ist hier noch kein RPI, sondern ein Mini-pc und wird durch einen Banan-pi R1 ersetzt.
inotify=yes ist auch so gesetzt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 18:51:53
Werden nach einem minidlna Neustart die beiden Dateien erkannt? Also das Problem bei dir dürfte definitiv minidlna sein, welches die Dateien zuerst erkennen muss.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 19:51:02
per App werden die File abgespielt.
Es werden nur neues files erzeugt, wenn die alten vorher gelöscht werden. Löchen muss von hand gemacht werden.
set bose play filena<me oder set bose nextrack filename das geht nicht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 21:10:04
Moment, jetzt verstehe ich es nicht mehr. http://ip-minidlna:8200 zeigt 0 Audio files und trotzdem kannst du die Files abspielen??

Die Files müssen nicht gelöscht werden. Die Files bleiben 30 Tage am System und werden erst danach gelöscht um diese neu von Google runterzuladen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 22:02:05
Langsam. DU schreibst es könnte nur am minidlna. Also habe ich Lesen/schreiben für alle auf das Verzeichnis gesetzt, dann konnte ich am port 8200 die beiden File sehenund mit der App abspilen. nicht mit play oder nextTrack. das geht nicht. sie sind nur mit hilfe der App sichtbar und jetzt auch spielbar. es lassen sich nur neue erzeugen, wenn ich vorher von hand die file gelöscht habe.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 22:15:57
Ok, wenn die beiden Files nun aber sichtbar sind, dann probier nochmals speak, das müsste nun funktionieren. Play/nextTrack spielen keine TTS Files ab. Play macht nur ein normales Play (also wenn du zuvor was paused hast) und nextTrack macht next track bei Playlists.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 23 Oktober 2016, 22:22:01
aktueller Stand: es werden mp3-files erzeugt, auch ins miniklna geschrieben, aber nicht gespielt!
Soblad ich die Box einschalte, werden alle files gespielt.  jetzt habe ich die ST20 an und lasse eine radiosender laufen.
set BOSE_884AEAF7CD0D  speak "es ist 22 uhr 11"" 40 stopt das anspielen des radiosender
und zeigt im BOSEST-menu das auch an, gespielt der der text aber nicht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 23 Oktober 2016, 22:56:51
Poste bitte jetzt nochmals das Logfile mit verbose 5.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 24 Oktober 2016, 13:40:51
2016.10.24 13:38:03 5 : BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.24 13:38:03 4 : BOSEST: Unknown event, please implement: $VAR1 = { 'msg' => { 'body' => { 'pingRequest' => { 'pong' => 'true' } }, 'header' => { 'deviceID' => '884AEAF7CD0D', 'method' => 'GET', 'request' => { 'requestID' => '1', 'info' => { 'type' => 'new' } }, 'url' => 'webserver/pingRequest' } } };
2016.10.24 13:38:23 5 : BOSEST: BOSE_884AEAF7CD0D, received message.
2016.10.24 13:38:23 4 : BOSEST: Unknown event, please implement: $VAR1 = { 'msg' => { 'body' => { 'pingRequest' => { 'pong' => 'true' } }, 'header' => { 'url' => 'webserver/pingRequest', 'request' => { 'requestID' => '1', 'info' => { 'type' => 'new' } }, 'method' => 'GET', 'deviceID' => '884AEAF7CD0D' } } };
2016.10.24 13:38:33 5 : BOSEST: BOSE_884AEAF7CD0D, received message.

dort ist eigentlich nichts zusehen ...die ping/pong meldungen kommen immer
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 24 Oktober 2016, 15:35:54
Hallo,

ich habe jetzt mal den minidlna dazu installiert und nehme den dann für TTS mal sehen ob das bei mir was ändert.

Bzgl. Senderliste


define FTUI_Senderliste notify BOSE_689E196305CC:channel.* set Senderliste_Bose [BOSE_689E196305CC:channel_01]:[BOSE_689E196305CC:channel_02]:[BOSE_689E196305CC:channel_03]:[BOSE_689E196305CC:channel_04]:[BOSE_689E196305CC:channel_05]:[BOSE_689E196305CC:channel_06]:[BOSE_689E196305CC:channel_07]:[BOSE_689E196305CC:channel_08]:[BOSE_689E196305CC:channel_09]:[BOSE_689E196305CC:channel_10]

habe ich momentan so gelöst. Nicht wirklich elegant aber funktioniert erst mal. Vielleicht hat ein perl guru eine nette regex die das ganze mit einer Abfrage löst.  ;)

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Oktober 2016, 19:50:09
@dl8zad, probier bitte mal ein "set name playTrack md5hash" (md5hash = Filename in minidlna OHNE .mp3).

@Eisix, muss die Liste mit ":" separiert sein, oder wie soll die Liste zurück kommen? Was machst du dann damit in FTUI? Hab FTUI noch nie verwendet, deswegen möchte ich verstehen was dein eigentliches Ziel ist :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 24 Oktober 2016, 21:09:51
macht keinen Laut  und nur einen einfach Eintag in Log:
2016-10-24 21:08:11 BOSEST BOSE_884AEAF7CD0D playTrack ff884b7a02c38509653323beb755fda3
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Oktober 2016, 22:00:31
Also ich habe das Gefühl mit der minidlna Installation passt was nicht. Hast du auch sicher eine selbst kompilierte Version am laufen?

Prüfe bitte auch noch über die App ob dort der Eintrag "ff884b7a02c38509653323beb755fda3" ersichtlich ist.

Ich könnte mir vorstellen, dass nach dem Download der Datei deine minidlna Installation die Datenbank nicht automatisch aktualisiert und damit das File von BOSE aus auch nicht gefunden wird. Du kannst folgendes mal probieren:
1. Kopiere eine mp3 Datei nach /var/lib/minidlna (bzw. dein richtiges Verzeichnis)
2. Öffne die App und prüfe ob die Datei dort ersichtlich ist
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 24 Oktober 2016, 22:28:27
ich will das System sowieso auf einen Banan-PI R1 packen( braucht nur 5 Watt statt 30). Das mache im Laufe der Woche und dann teste ich das ganze noch mal.
Werde mich wieder melden und das Ergebnisse präsentieren. auf jedenfall, Danke ich Dir ersteinmal für die Hilfe..
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 24 Oktober 2016, 23:32:58
Hallo Dominik,

ich will eine channel Auswahl die sich automatisch inFTUI mit ändert wenn ich einen Channel auf Fhem oder Bose ändere. Die : sind der Zeilenseparator für die Liste. Ohne ist alles in einer Zeile.

Im Screenshot wird es deutlich denke ich sind momentan ein paar tote Einträge durch die Experimente.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 31 Oktober 2016, 10:34:22
Hallo,

komme bei TTS nicht weiter. Habe jetzt 3 DLNA Server ausprobiert Plex, UMS und miniDLNA.
Die mp3's werden erzeugt aber nicht abgespielt. Die Lautstärke wird auf TTS Wert gesetzt und wieder auf den vorherigen Wert.
Log verbose 5 zeigt nichts nur die übliche webserver/ping.

Kann mal jemand eine funktionierende minidlna konfig und die Attribute der Bose für TTS posten?

Guß
Eisix

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dl8zad am 31 Oktober 2016, 17:43:39
hallo
also neues rpi-system, fhem und minidlna installiert:
set BOSE_884AEAF7CD0D speak " es ist 17 uhr 22" 45 erzeugt die mp3-datei an der richtigen Stelle. aber gespielt wird er nicht.
der Mp3 ist eigentum von minidlna und zugriff ist 666 .. ich muss noch etwas testen.. aber das wird bestimmt..

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rockyou am 04 November 2016, 14:17:47
Ich hab zwar keine Ahnung von perl, aber so wie es aussieht ist in der 98_BOSEST.pm ein Fehler in der Zeile: 1146
Hier muss folgendes geändert werden:
alt:
                next if($ttsDlnaServer ne $source->{content});
neu:
                next if($ttsDlnaServer ne $source->{name});
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rockyou am 04 November 2016, 16:41:40
Ich hab die 98_BOSEST.pm im Anhang mal um set repeat,shuffle erweitert.
Vielleicht kann @dominik das ja in das offizielle Modul einfließen lassen.

Sorry, wenn der Code nicht der schönste ist. Hab heute zum ersten Mal was mit perl zu tun   :o
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mrhaefele@gmx.de am 19 November 2016, 22:33:09
Hallo,

ich plane mir das BOSA WAVE Soundtouch anzuschaffen. Ich bin mir jetzt unsicher, ob das "Wave" unterstützt wird, weil in der Hilfe zum Modul nur die Soundtouch 10, 20, 30 erwähnt sind.

Bitte lasst mich kurz wissen, ob das Soundtouch WAVE auch unterstützt wird.

Danke+ Gruß

Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 20 November 2016, 10:10:55
@rockyou, werde deine Änderungen beim nächsten Update mit aufnehmen. Danke :)

@mrhaefele@gmx.de, laut Dokumentation der API müssten alle SoundTouch Systeme unterstützt werden. Du kannst aber einfach mal ein Mail an soundtouchapi@bose.com (Englisch) senden und fragen ob die offizielle SoundTouch API auch für WAVE unterstützt wird. Wenn ja, dann klappt es auch mit dem FHEM Modul.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 23 November 2016, 21:31:49
Hi, ich habe derzeit ein ST10 zum testen in Haus, ob das für mich taugt.

Bin über dieses Modul gestolpert, danke dafür.

Die Einbindung in FHEM hat gut geklappt.
Ich bekomme vom ST10 die readings, kann auch die settings ändern.
lt. Log auch alles ok, doch werden manche nicht umgesetzt.
So kann ich z.B. nicht off schalten, on nur manchmal. Volume klappt, allerdings wird mir immer der alte Wert angezeigt.

Hat jemand Tipps, wie ich das in den Griff bekomme? Hackt da die App vom Smartphone dazwischen, gibt es Firmware-Updates für die ST's?

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: flolee am 24 November 2016, 17:18:53
so, also ich hatte jetzt das selbe Problem wie dl8zad auf einer neuen jessie Installation und meinem Bose ST.
verschiedenste Konstellationen ausprobiert... MP3 vorhanden, kein Mux vom Bose und nix zu auffälliges im Log trotz verbose 5.

irgendwann gings dann mit ein bisschen rumspielen und friendly name ändern plötzlich, vielleicht hilfts jemanden... hier die configs (ohne Anspruch auf Richtigkeit, aber zumindest funktionierts bei mir so):

minidlna.conf (wobei es hier sicher nicht alles brauchen würde)

port=8200
media_dir=/var/lib/minidlna
friendly_name=RPi
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1



bose device
Zitat
attr BOSE_FloZimmer autoAddDLNAServers 1
attr BOSE_FloZimmer ttsDLNAServer RPi
attr BOSE_FloZimmer ttsDirectory /var/lib/minidlna
attr BOSE_FloZimmer ttsLanguage de

ich hab dann den alten automatisch hinzugefügten DLNA Server-Namen  nach dem Umbenennen in RPi (friendly_name) gelöscht, und den neuen hinzufegfügt und jetzt klappt alles.

andere frage: wenn ich onlineradio eingeschlatet habe, dann geht das normal weiter nach der sprachdurchsage. wenn ich spotify abspiele bleibt das auf pause, kann man da was machen?

danke und lg,
florian
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 24 November 2016, 21:56:04
@flolee
Habe das gleiche problem allerdings auf einer Suse installation. Was hast du in der App gemacht? Nur den DLNA server hinzugefügt?
Bei mir erscheint nur der Inhalt des TTS Ordners, ist das bei dir anders?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 25 November 2016, 08:58:19
So, hatte mal wieder Zeit zum testen.

Die readings werden nur aktualisiert wenn ich in den Internals die DEF zum ändern anklicke und dann ohne Änderungen übernehme.

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 10:24:26
@VB90, welche Version von Mojolicious hast du installiert?
libmojolicious-perl     5.54+dfsg-1
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 10:42:37
@flolee, Eisix, ich habe auf der 1. Seite nochmals die Einrichtung von minidlna beschrieben. Habe es soeben genau mit diesen Schritten neu bei mir installiert und es funktioniert. Bitte testet es anhand dieser Anleitung und gebt mir Bescheid ob es klappt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 11:03:14
Das ist mir am Anfang wohl durch die Lappen gegangen.
Habe dies nun korregiert und Mojolicious installiert.

Zitat~$ mojo version
CORE
  Perl        (v5.18.2, linux)
  Mojolicious (7.11, Doughnut)

OPTIONAL
  EV 4.0+                 (4.15)
  IO::Socket::Socks 0.64+ (n/a)
  IO::Socket::SSL 1.94+   (1.965)
  Net::DNS::Native 0.15+  (n/a)

This version is up to date, have fun!


vb

edit: ändert aber auch nichts am Fehlerbild, das die Readings nicht aktualisiert werden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 11:16:10
Stell bitte mal auf verbose=5 für das Device und mach folgende Änderungen

1. DEFINE neu setzen (so dass die Readings aktualisiert werden)
2. Die BOSE ST Box direkt an der Box auf Preset 1 stellen
3. Aus FHEM heraus die Lauterstärke mit set <name> volume 25 ändern
4. Direkt an der Box die Lautstärke ändern

...und dann das Log bitte posten.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 11:30:02
wie gewünscht:
Zitat
2016.12.03 11:25:33.145 5: BOSEST: parseAndUpdateNowPlaying
2016.12.03 11:26:06.232 4: BOSEST: set /volume => <volume>25</volume>
2016.12.03 11:26:06.289 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>

habe im Anschluss auf AUX gewechselt und die Lautstärke erhöht
Zitat

2016.12.03 11:28:11.353 4: BOSEST: set /key => <key state="press" sender="Gabbo">AUX_INPUT</key>
2016.12.03 11:28:11.385 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.12.03 11:28:11.391 4: BOSEST: set /key => <key state="release" sender="Gabbo">AUX_INPUT</key>
2016.12.03 11:28:11.438 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.12.03 11:28:18.313 4: BOSEST: set /volume => <volume>43</volume>
2016.12.03 11:28:18.442 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2016.12.03 11:28:29.462 4: BOSEST: set /volume => <volume>47</volume>
2016.12.03 11:28:29.596 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 11:51:38
Stell mal den gesamten Verbose Level auf 5 (also nicht nur bei BOSEST). Dann lösche das Device und warte bis es neu angelegt wurde. Wenn es unter "Unsorted" wieder erscheint (kann paar Minuten dauern), dann änder nochmals die Lautstärke und den Preset direkt auf der Box und poste das Log.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 12:02:53
Zitat2016.12.03 11:54:23.236 3: BOSEST: Device BoseST10 (689E194BA7C7) found.
2016.12.03 11:54:23.808 3: BOSEST: BOSE_689E194BA7C7, new IP (192.168.0.51)
2016.12.03 11:59:00.635 4: BOSEST: set /volume => <volume>44</volume>
2016.12.03 11:59:00.737 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>

Nach dem neu finden des Device passiert rein garnichts.
Alle Änderungen am Gerät selbst, gehen an FHEM vorüber.

Das setzen von Volume 44 war ich selbst, aus fhem heraus. Wird auch umgesetzt, aber in den Readings nicht aktualisiert.

Gibt es nen Intervall, den ich abwarten muss, oder sollen die Änderunge quasi in Echtzeit zu sehen sein??

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 12:09:09
Ja, die Änderungen kommen in Echtzeit.

Den Bereich wo es "nicht mehr weiter geht" kann ich zumindest im Code schon mal eingrenzen. Anbei eine Version mit mehr Debug Output in diesem Bereich. Bitte wieder Device komplett löschen und neu anlegen lassen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 13:16:43
nach relaod des Moduls kommen nen Haufen Perl Warnings.
Gerät wird erkannt, aber außer Volume ändern kann ich aus fhem nichts. gut, off habe ich nicht probiert.
Readings wie vor...

Zitat2016.12.03 13:09:36.595 1: PERL WARNING: Subroutine BOSEST_Initialize redefined at ./FHEM/98_BOSEST.pm line 237.
2016.12.03 13:09:36.597 1: PERL WARNING: Subroutine BOSEST_Define redefined at ./FHEM/98_BOSEST.pm line 249.
2016.12.03 13:09:36.599 1: PERL WARNING: Subroutine BOSEST_Attribute redefined at ./FHEM/98_BOSEST.pm line 319.
2016.12.03 13:09:36.603 1: PERL WARNING: Subroutine BOSEST_Set redefined at ./FHEM/98_BOSEST.pm line 342.
2016.12.03 13:09:36.605 1: PERL WARNING: Subroutine BOSEST_setZoneVolume redefined at ./FHEM/98_BOSEST.pm line 506.
2016.12.03 13:09:36.606 1: PERL WARNING: Subroutine BOSEST_clockSettings redefined at ./FHEM/98_BOSEST.pm line 531.
2016.12.03 13:09:36.607 1: PERL WARNING: Subroutine BOSEST_addDLNAServer redefined at ./FHEM/98_BOSEST.pm line 548.
2016.12.03 13:09:36.608 1: PERL WARNING: Subroutine BOSEST_removeDLNAServer redefined at ./FHEM/98_BOSEST.pm line 563.
2016.12.03 13:09:36.609 1: PERL WARNING: Subroutine BOSEST_saveChannel redefined at ./FHEM/98_BOSEST.pm line 581.
2016.12.03 13:09:36.610 1: PERL WARNING: Subroutine BOSEST_stopPlayEverywhere redefined at ./FHEM/98_BOSEST.pm line 598.
2016.12.03 13:09:36.611 1: PERL WARNING: Subroutine BOSEST_playEverywhere redefined at ./FHEM/98_BOSEST.pm line 618.
2016.12.03 13:09:36.613 1: PERL WARNING: Subroutine BOSEST_createZone redefined at ./FHEM/98_BOSEST.pm line 641.
2016.12.03 13:09:36.614 1: PERL WARNING: Subroutine BOSEST_addToZone redefined at ./FHEM/98_BOSEST.pm line 665.
2016.12.03 13:09:36.615 1: PERL WARNING: Subroutine BOSEST_removeFromZone redefined at ./FHEM/98_BOSEST.pm line 689.
2016.12.03 13:09:36.616 1: PERL WARNING: Subroutine BOSEST_on redefined at ./FHEM/98_BOSEST.pm line 713.
2016.12.03 13:09:36.616 1: PERL WARNING: Subroutine BOSEST_off redefined at ./FHEM/98_BOSEST.pm line 725.
2016.12.03 13:09:36.617 1: PERL WARNING: Subroutine BOSEST_setRecent redefined at ./FHEM/98_BOSEST.pm line 737.
2016.12.03 13:09:36.618 1: PERL WARNING: Subroutine BOSEST_setContentItem redefined at ./FHEM/98_BOSEST.pm line 754.
2016.12.03 13:09:36.618 1: PERL WARNING: Subroutine BOSEST_setBass redefined at ./FHEM/98_BOSEST.pm line 775.
2016.12.03 13:09:36.619 1: PERL WARNING: Subroutine BOSEST_setVolume redefined at ./FHEM/98_BOSEST.pm line 785.
2016.12.03 13:09:36.620 1: PERL WARNING: Subroutine BOSEST_setMute redefined at ./FHEM/98_BOSEST.pm line 800.
2016.12.03 13:09:36.622 1: PERL WARNING: Subroutine BOSEST_setSource redefined at ./FHEM/98_BOSEST.pm line 839.
2016.12.03 13:09:36.623 1: PERL WARNING: Subroutine BOSEST_setPreset redefined at ./FHEM/98_BOSEST.pm line 866.
2016.12.03 13:09:36.623 1: PERL WARNING: Subroutine BOSEST_play redefined at ./FHEM/98_BOSEST.pm line 883.
2016.12.03 13:09:36.624 1: PERL WARNING: Subroutine BOSEST_stop redefined at ./FHEM/98_BOSEST.pm line 889.
2016.12.03 13:09:36.624 1: PERL WARNING: Subroutine BOSEST_pause redefined at ./FHEM/98_BOSEST.pm line 895.
2016.12.03 13:09:36.625 1: PERL WARNING: Subroutine BOSEST_power redefined at ./FHEM/98_BOSEST.pm line 901.
2016.12.03 13:09:36.625 1: PERL WARNING: Subroutine BOSEST_next redefined at ./FHEM/98_BOSEST.pm line 907.
2016.12.03 13:09:36.626 1: PERL WARNING: Subroutine BOSEST_prev redefined at ./FHEM/98_BOSEST.pm line 913.
2016.12.03 13:09:36.626 1: PERL WARNING: Subroutine BOSEST_Undef redefined at ./FHEM/98_BOSEST.pm line 919.
2016.12.03 13:09:36.627 1: PERL WARNING: Subroutine BOSEST_Get redefined at ./FHEM/98_BOSEST.pm line 931.
2016.12.03 13:09:36.627 1: PERL WARNING: Subroutine BOSEST_speakChannel redefined at ./FHEM/98_BOSEST.pm line 935.
2016.12.03 13:09:36.629 1: PERL WARNING: Subroutine BOSEST_speak redefined at ./FHEM/98_BOSEST.pm line 957.
2016.12.03 13:09:36.630 1: PERL WARNING: Subroutine BOSEST_saveCurrentState redefined at ./FHEM/98_BOSEST.pm line 970.
2016.12.03 13:09:36.631 1: PERL WARNING: Subroutine BOSEST_restoreSavedState redefined at ./FHEM/98_BOSEST.pm line 984.
2016.12.03 13:09:36.631 1: PERL WARNING: Subroutine BOSEST_restoreVolumeAndOff redefined at ./FHEM/98_BOSEST.pm line 1003.
2016.12.03 13:09:36.632 1: PERL WARNING: Subroutine BOSEST_downloadGoogleNotAvailable redefined at ./FHEM/98_BOSEST.pm line 1017.
2016.12.03 13:09:36.633 1: PERL WARNING: Subroutine BOSEST_downloadGoogleTTS redefined at ./FHEM/98_BOSEST.pm line 1035.
2016.12.03 13:09:36.634 1: PERL WARNING: Subroutine BOSEST_playMessage redefined at ./FHEM/98_BOSEST.pm line 1053.
2016.12.03 13:09:36.636 1: PERL WARNING: Subroutine BOSEST_deleteOldTTSFiles redefined at ./FHEM/98_BOSEST.pm line 1079.
2016.12.03 13:09:36.638 1: PERL WARNING: Subroutine BOSEST_playGoogleTTS redefined at ./FHEM/98_BOSEST.pm line 1105.
2016.12.03 13:09:36.639 1: PERL WARNING: Subroutine BOSEST_setMusicServiceAccount redefined at ./FHEM/98_BOSEST.pm line 1151.
2016.12.03 13:09:36.639 1: PERL WARNING: Subroutine BOSEST_removeMusicServiceAccount redefined at ./FHEM/98_BOSEST.pm line 1164.
2016.12.03 13:09:36.640 1: PERL WARNING: Subroutine BOSEST_playTrack redefined at ./FHEM/98_BOSEST.pm line 1177.
2016.12.03 13:09:36.641 1: PERL WARNING: Subroutine BOSEST_searchTrack redefined at ./FHEM/98_BOSEST.pm line 1203.
2016.12.03 13:09:36.642 1: PERL WARNING: Subroutine BOSEST_updateClock redefined at ./FHEM/98_BOSEST.pm line 1222.
2016.12.03 13:09:36.642 1: PERL WARNING: Subroutine BOSEST_updateInfo redefined at ./FHEM/98_BOSEST.pm line 1229.
2016.12.03 13:09:36.643 1: PERL WARNING: Subroutine BOSEST_updateSources redefined at ./FHEM/98_BOSEST.pm line 1236.
2016.12.03 13:09:36.643 1: PERL WARNING: Subroutine BOSEST_updatePresets redefined at ./FHEM/98_BOSEST.pm line 1243.
2016.12.03 13:09:36.644 1: PERL WARNING: Subroutine BOSEST_updateZone redefined at ./FHEM/98_BOSEST.pm line 1250.
2016.12.03 13:09:36.644 1: PERL WARNING: Subroutine BOSEST_updateVolume redefined at ./FHEM/98_BOSEST.pm line 1257.
2016.12.03 13:09:36.645 1: PERL WARNING: Subroutine BOSEST_updateBass redefined at ./FHEM/98_BOSEST.pm line 1264.
2016.12.03 13:09:36.645 1: PERL WARNING: Subroutine BOSEST_updateNowPlaying redefined at ./FHEM/98_BOSEST.pm line 1271.
2016.12.03 13:09:36.647 1: PERL WARNING: Subroutine BOSEST_updateAutoZone redefined at ./FHEM/98_BOSEST.pm line 1278.
2016.12.03 13:09:36.648 1: PERL WARNING: Subroutine BOSEST_checkDoubleTap redefined at ./FHEM/98_BOSEST.pm line 1310.
2016.12.03 13:09:36.651 1: PERL WARNING: Subroutine BOSEST_processXml redefined at ./FHEM/98_BOSEST.pm line 1352.
2016.12.03 13:09:36.652 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateClock redefined at ./FHEM/98_BOSEST.pm line 1429.
2016.12.03 13:09:36.653 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateSources redefined at ./FHEM/98_BOSEST.pm line 1441.
2016.12.03 13:09:36.655 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateChannel redefined at ./FHEM/98_BOSEST.pm line 1483.
2016.12.03 13:09:36.657 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateZone redefined at ./FHEM/98_BOSEST.pm line 1511.
2016.12.03 13:09:36.658 1: PERL WARNING: Subroutine BOSEST_parseAndUpdatePresets redefined at ./FHEM/98_BOSEST.pm line 1575.
2016.12.03 13:09:36.659 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateRecents redefined at ./FHEM/98_BOSEST.pm line 1597.
2016.12.03 13:09:36.660 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateVolume redefined at ./FHEM/98_BOSEST.pm line 1623.
2016.12.03 13:09:36.661 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateBass redefined at ./FHEM/98_BOSEST.pm line 1632.
2016.12.03 13:09:36.662 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateInfo redefined at ./FHEM/98_BOSEST.pm line 1641.
2016.12.03 13:09:36.664 1: PERL WARNING: Subroutine BOSEST_parseAndUpdateNowPlaying redefined at ./FHEM/98_BOSEST.pm line 1653.
2016.12.03 13:09:36.666 1: PERL WARNING: Subroutine BOSEST_startDiscoveryProcess redefined at ./FHEM/98_BOSEST.pm line 1741.
2016.12.03 13:09:36.668 1: PERL WARNING: Subroutine BOSEST_handleDeviceByIp redefined at ./FHEM/98_BOSEST.pm line 1754.
2016.12.03 13:09:36.670 1: PERL WARNING: Subroutine BOSEST_Discovery redefined at ./FHEM/98_BOSEST.pm line 1837.
2016.12.03 13:09:36.672 1: PERL WARNING: Subroutine BOSEST_finishedDiscovery redefined at ./FHEM/98_BOSEST.pm line 1865.
2016.12.03 13:09:36.675 1: PERL WARNING: Subroutine BOSEST_updateIP redefined at ./FHEM/98_BOSEST.pm line 1941.
2016.12.03 13:09:36.676 1: PERL WARNING: Subroutine BOSEST_commandDefine redefined at ./FHEM/98_BOSEST.pm line 1991.
2016.12.03 13:09:36.677 1: PERL WARNING: Subroutine BOSEST_webSocketCallback redefined at ./FHEM/98_BOSEST.pm line 2002.
2016.12.03 13:09:36.678 1: PERL WARNING: Subroutine BOSEST_webSocketFinished redefined at ./FHEM/98_BOSEST.pm line 2031.
2016.12.03 13:09:36.679 1: PERL WARNING: Subroutine BOSEST_webSocketPing redefined at ./FHEM/98_BOSEST.pm line 2053.
2016.12.03 13:09:36.680 1: PERL WARNING: Subroutine BOSEST_webSocketReceivedMsg redefined at ./FHEM/98_BOSEST.pm line 2067.
2016.12.03 13:09:36.681 1: PERL WARNING: Subroutine BOSEST_startWebSocketConnection redefined at ./FHEM/98_BOSEST.pm line 2088.
2016.12.03 13:09:36.682 1: PERL WARNING: Subroutine BOSEST_checkWebSocketConnection redefined at ./FHEM/98_BOSEST.pm line 2122.
2016.12.03 13:09:36.683 1: PERL WARNING: Subroutine BOSEST_getMyIp redefined at ./FHEM/98_BOSEST.pm line 2137.
2016.12.03 13:09:36.684 1: PERL WARNING: Subroutine BOSEST_getSourceAccountByName redefined at ./FHEM/98_BOSEST.pm line 2152.
2016.12.03 13:09:36.684 1: PERL WARNING: Subroutine BOSEST_getBosePlayerByDeviceId redefined at ./FHEM/98_BOSEST.pm line 2164.
2016.12.03 13:09:36.685 1: PERL WARNING: Subroutine BOSEST_getAllBosePlayers redefined at ./FHEM/98_BOSEST.pm line 2178.
2016.12.03 13:09:36.685 1: PERL WARNING: Subroutine BOSEST_sendKey redefined at ./FHEM/98_BOSEST.pm line 2189.
2016.12.03 13:09:36.687 1: PERL WARNING: Subroutine BOSEST_HTTPGET redefined at ./FHEM/98_BOSEST.pm line 2202.
2016.12.03 13:09:36.688 1: PERL WARNING: Subroutine BOSEST_HTTPPOST redefined at ./FHEM/98_BOSEST.pm line 2230.
2016.12.03 13:09:36.689 1: PERL WARNING: Subroutine BOSEST_XMLUpdate redefined at ./FHEM/98_BOSEST.pm line 2261.
2016.12.03 13:09:36.690 1: PERL WARNING: Subroutine BOSEST_readingsSingleUpdateIfChanged redefined at ./FHEM/98_BOSEST.pm line 2283.
2016.12.03 13:10:18.827 3: BOSEST: Device BoseST10 (689E194BA7C7) found.
2016.12.03 13:10:19.454 3: BOSEST: BOSE_689E194BA7C7, new IP (192.168.0.51)
2016.12.03 13:10:19.455 3: BOSEST: BOSEST_updateInfo
2016.12.03 13:10:19.637 3: BOSEST: BOSEST_updateNowPlaying
2016.12.03 13:10:19.701 3: BOSEST: BOSEST_setVolume
2016.12.03 13:10:19.701 3: BOSEST: BOSEST_updateVolume
2016.12.03 13:10:19.752 3: BOSEST: BOSEST_updatePresets
2016.12.03 13:12:32.286 4: BOSEST: set /volume => <volume>30</volume>
2016.12.03 13:12:32.347 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>

weitere Test sehr gern, aber gleich gehts dann erstmal auf den Weihnachtsmarkt.

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 13:19:31
Sehr gut, Fehler schon weiter eingegrenzt :)

Die Presets führen bei dir irgendwo zu einem Fehler. Poste nun mal den Inhalte von
http://IP-der-Box:8090/presets

Damit sollte ich den Fehler finden können. Bei mir gehts auch gleich raus, also keinen Stress...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 19:30:17
meine Presets:

Zitat<presets>
<preset id="1" createdOn="1479678842" updatedOn="1479678842">
<ContentItem source="INTERNET_RADIO" location="5061" sourceAccount="" isPresetable="true">
<itemName>N-JOY</itemName>
</ContentItem>
</preset>
</presets>

das dort nur ein Eintrag ist, ist korrekt. Mehr ist noch nicht eingestellt.

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 20:22:57
Ich glaub ich hab den Fehler gefunden :)

Glaub es lag wirklich daran, dass du nur einen Preset gesetzt hast. Lass mich wissen ob es nun funktioniert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 20:49:32
ok, das sieht deutlich besser aus.

Änderungen vom Volume sehe ich nun mit minimalster Verzögerung live.
Es wurden in den Readings nun auch die Presets angelegt, bei mir nur die 1 belegt. Logisch.

Statusänderungen bei on (playing) und off (online) deutlich mehr versetzt, aber völlig in Ordnung.

Also ich hänge mich mal aus dem Fenster und sage : es funzt.

Danke für deine Mühe!!

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 20:58:00
Super! Danke für das ausführliche Testen!

Sobald die Box die Message schickt wird diese spätestens 0.7s später verarbeitet. Also mehr als, sagen wir mal, 3s sollte eine Statusänderung nie dauern.

Wenn ich bis morgen keine Probleme gemeldet bekomme, werde ich diese Version ins Repository hochladen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 22:10:32
habe gerade etwas gefunden. Obs problematisch ist, musst du entscheiden.
Ich habe nachwievor Verbose 5 gesetzt. Aufs Modul und Device.

Ich bekomme derzeit ca. alle 20 Sekunden folgenden Eintrag:
Zitat2016.12.03 22:04:17.639 5: BOSEST: BOSE_689E194BA7C7, received message.
2016.12.03 22:04:17.649 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'msg' => {
                   'header' => {
                               'request' => {
                                            'info' => {
                                                      'type' => 'new'
                                                    },
                                            'requestID' => '1'
                                          },
                               'deviceID' => '689E194BA7C7',
                               'method' => 'GET',
                               'url' => 'webserver/pingRequest'
                             },
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           }
                 }
        };

Muss dazu sagen, das ich ein DOIF konfiguriert habe, das den Eingang auf AUX setzen soll, sobald mein Sat-Receiver im Netzwerk online ist. Eigentlich aber als "event-on-change-reading" gebaut, weil ich bisher das Problem hatte, das nicht jedesmal AUX gesetzt wurde, sondern die Eingänge (AUX, Bluetooth) durchgetooglet wurden. War kontraproduktiv ;)

Keine Ahnung ob das DOIF einen Einfluß drauf hat, wills nur erwähnt haben.

vb

edit: Hatte das DOIF gerade mal desablet, die Meldungen kommen weiter.
Wie ich das sehe setzt du dort einen Ping auf die IP und erwartest im besten Fall eine Antwort?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 03 Dezember 2016, 22:12:23
Das ist "ok". Werde das aber auch noch aus dem Log rausfiltern. Die Ping/Pong Messages werden alle 20s gesendet damit die Verbindung aufrecht erhalten bleibt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: VB90 am 03 Dezember 2016, 22:15:01
ok, dann soll es so sein.

Bin mal gespannt, ob die Box morgen von aussen eingeschaltet werden kann.
Hatte bislang das Problem, das sie WLAN-technisch über Nacht teilweise so "tief eingeschlafen" ist, das ich sie nur per Fernbedienung wecken konnte.

vb
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: StofLE am 04 Dezember 2016, 14:57:54
@dominik:
Zunächst erstmal vielen Dank für das Modul! Habe seit kurzem das BOSE Lifestyle 650, was grundsätzlich auch mit dem Modul zusammenarbeitet.

Was ich partout nicht hinbekomme, ist das Hinzufügen eines DLNA-Servers. Probiert mit dem Synology-DLNA-Dienst und mit minidlna auf dem Raspberry (wo auch fhem drauf läuft). Hab jetzt mal verbose=5 gesetzt und bekomme folgende Ausgabe:

2016.12.04 14:53:47 4 : BOSEST: set /setMusicServiceAccount => <credentials source="STORED_MUSIC" displayName="RPi"><user>4d696e69-444c-164e-9d41-b827eb100120/0</user><pass/></credentials>
2016.12.04 14:53:47 3 : BOSEST: failed: 500 Internal Server Error


minidlna läuft übrigens. Aus Windows und von einem Samsung TV heraus kann ich problemlos die über "speak" generierten Dateien sehen und abspielen.
Vielleicht hast Du Ideen, wie man den Fehler eingrenzen kann?

Stefan
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 04 Dezember 2016, 15:00:49
Hi StofLE,
füge bitte mal per BOSE App den minidlna Server hinzu und lass dabei verbose=5 laufen. Bei richtiger DLNA Konfiguration, müsste es mit App auf alle Fälle funktionieren. Poste danach mal das Log, dann schau ich mir das an.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hschuett am 06 Dezember 2016, 21:56:28
Hallo,
ich nutze die Bose Boxen für TTS, Meldung von "Fenster Auf", Zeitansage, ..., Name des aktuellen Anrufers (über Modul FB_CALLMONITOR) usw.
Das ganze klappt insgesamt auch gut, jedoch tut sich das System schwer mit Umlauten. Z.B. bei Ansage von Anrufern mit Umlauten im Namen. Beispiele:
"Schüller", "Schütt", "Müller", "Möller" enden in unverständlichen TTS-Ausgaben. Die TTS Sprache ist dabei auf 'de' festgelegt.
Ich hatte zunächst generell die Google TTS-Engine "in Verdacht", allerdings klappt die Aussprache über folgenden (direkten) Link fehlerfrei:
https://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Schütt%20Schüller%20Müller%20Möller (https://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Sch%C3%BCtt%20Sch%C3%BCller%20M%C3%BCller%20M%C3%B6ller)
Die Strings (Namen) aus dem Modul FB_CALLMONITOR werden korrekt geliefert ("Schütt", "Schüller", "Müller", ...)
Die Frage ist also nun, an welcher Stelle die TTS-Ausgabe Probleme mit Umlauten bekommt?
Werden evtl. aus dem BOSEST Modul die Strings nicht um UTF-8 an die Google Engine übergeben bzw. werden Umlaute hier irgendwie anders codiert an Google TTS übergeben?
FBAnrufe.event:.ring {my $c = ReadingsVal("FBAnrufe","external_name","");fhem "set letzterAnrufer $c";fhem "set BOSE_.* speakOff \"Eingehender Anruf von $c\" 40 de"}
Hat evtl. jemand eine Idee, wie man die Umlaute korrekt per TTS ausgegeben bekommt?
Danke & Grüße,
Harald
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mrhaefele@gmx.de am 10 Dezember 2016, 18:04:33
[Thema minidlna: make Probleme beim Übersetzen (make Kommando)]

Hallo,

ich wollte als letzten Schritt den minidlna installieren. Ich bin nach Anleitung vorgegangen aus Post1. Habe ein update des Raspi gemacht mit

sudoapt-get update
sudo apt-get dist-upgrade

und dann nach Anleitung aus Post1.

Ich bekomme folgende Fehlermeldung beim "make" Kommando (autogen.sh und configure liefen ohne Felermeldung durch)

make  all-recursive
make[1]: Entering directory '/home/pi/minidlna/minidlna-git'
Making all in po
make[2]: Entering directory '/home/pi/minidlna/minidlna-git/po'
test ! -f ./minidlna.pot || \
  test -z "da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo ko.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo" || make da.gmo de.gmo es.gmo fr.gmo it.gmo ja.gmo ko.gmo nb.gmo nl.gmo pl.gmo ru.gmo sl.gmo sv.gmo
make[3]: Entering directory '/home/pi/minidlna/minidlna-git/po'
rm -f da.gmo && : -c --statistics --verbose -o da.gmo da.po
mv: der Aufruf von stat f▒r ▒t-da.gmo▒ ist nicht m▒glich: Datei oder Verzeichnis nicht gefunden
Makefile:131: recipe for target 'da.gmo' failed
make[3]: *** [da.gmo] Error 1
make[3]: Leaving directory '/home/pi/minidlna/minidlna-git/po'
Makefile:168: recipe for target 'stamp-po' failed
make[2]: *** [stamp-po] Error 2
make[2]: Leaving directory '/home/pi/minidlna/minidlna-git/po'
Makefile:616: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pi/minidlna/minidlna-git'
Makefile:441: recipe for target 'all' failed
make: *** [all] Error 2



Da steht was, dass der "Aufruf von stat" nicht möglich sei.

Bitte entschuldigt, kenne mich nicht so gut mit Unix aus und bin persönlich etwas überfordert mit der Fehlermeldung.

Kann mir evtl jemand helfen?

Gruß Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Dezember 2016, 00:41:37
@hschuett, werde mir das mal genauer anschauen und eine passende Lösung suchen.

@Udo, hast du "stat" installiert? Probier mal
pi@raspberrypi ~ $ stat --version
stat (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Michael Meskes.

Müsste eigentlich bei jeder Standard Distribution dabei sein. Was verwendest du für eine Linux Distro? Raspbian?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mrhaefele@gmx.de am 11 Dezember 2016, 01:03:29
Hi,

mittlerweile bin ich über Umwege weiter und habe minidlna installiert. Ich habe diese Quelle (Schritt für Schritt ANleitung) benutzt.
http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/
Der minidlna lässt sich jetzt in der Soundtouch-App ansprechen. Auch vom PC aus kann ich darauf zugreifen.

Keine Ahnung, warum es mit deiner Anleitung bei mir nicht funktioniert hat (Aber bei vielen anderen Usern funktioniert)... Ich habe mein fhem vor ca 6 Wochen auf Basis eines Jessie Images neu aufgebaut.

Im Nachhinein kann ich leider nicht mehr sagen, ob das "stat" Modul gefehlt hat.

Sprachansagen funkionieren. Klasse Sache.

Ich habe eine Soundtouch Wave mit u.a. DAB Radio. Was ich vermisse ist die Umschaltung auf das DAB-Radio über fhem. Siehst du evtl eine Möglichkeit, dies noch einzubauen bzw geht dies generell?


Gruß Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hschuett am 11 Dezember 2016, 08:01:41
Hallo Dominik,
evtl. kann man den String der an Google Translate geht mit dem Modul URI::Escape
http://search.cpan.org/~ether/URI-1.71/lib/URI/Escape.pm (http://search.cpan.org/~ether/URI-1.71/lib/URI/Escape.pm)
behandeln. Die websichere "Prozentcodierung" nach RFC 3986 könnte hier die Lösung sein.
Beispiel:
$tts_safe = uri_escape("TTS-String für Google mit Umlaut");

Den Aufruflink für Google würde ich noch um den Parameter ie=UTF-8 ergänzen.
Auszug aus BOSEST Code:
sub BOSEST_downloadGoogleTTS($$$$$;$) {
    my ($hash, $filename, $md5, $text, $lang, $callback) = @_;

    $hash->{helper}{useragent}->get("http://translate.google.com/translate_tts?tl=$lang&client=tw-ob&q=$text" => sub {
            my ($ua, $tx) = @_;

Link mit weiterem Parameter und TTS-String bereits nach RFC 3986 codiert:
https://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Sch%C3%BCtt

Ich könnte das ganz zunächst selbst hier bei mir lokal ins Modul einbauen, dann bei mir mal etwas testen und - falls es funktioniert - einen Patch (simples diff bzw. BOSEST_alt und BOSEST_neu) an Dich schicken. OK für Dich?

Grüße, Harald

Update:
Habe eine .diff Datei hier angehängt. Die Änderungen haben (bei mir) wie erwartet & fehlerfrei funktioniert. Im Wesentlichen überführe ich nur den Parameter $text per uri_escape in die "Prozentcodierung":
my $tts_safe = uri_escape($text);
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Dezember 2016, 13:44:36
Danke dir für den Patch Harald, das übernehme ich doch gerne in die nächste Version welche ich noch heute hochladen werde.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Dezember 2016, 15:29:03
Neue Version soeben

v2.0.1 - 20161211
- FEATURE: support shuffle/repeat (thx@rockyou)
- BUGFIX:  support special characters for TTS (thx@hschuett)
- BUGFIX:  module didn't work if you had only 1 preset active
- CHANGE:  add link to commandref on how to setup TTS
- BUGFIX:  remove "unknown event" log entry for ping/pong messages

@Udo, kannst du mir ein /now_playing schicken wenn du DAB abspielst? Dann sollte das sicher machbar sein.
http://IP-der-Box:8090/now_playing
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mrhaefele@gmx.de am 11 Dezember 2016, 19:03:34
Hallo,

wenn ich auf Internetradio bin und deine url ("http://IP-der-Box:8090/now_playing") eingebe, dann kommt folgendes:

Anzeige im Browser-Fenster

SWR3http://item.radio456.com/007452/logo/logo-530.jpgSWR3http://item.radio456.com/007452/logo/logo-530.jpgPLAY_STATEMP3  128 kbps  Baden-Baden Germany,  SWR3 ist die Popwelle des Südwestrundfunks und euer Radio Nummer eins.Baden-Baden Germany


HTML-Code dazu:

<?xml version="1.0" encoding="UTF-8" ?><nowPlaying deviceID="A1234A24F22F" source="INTERNET_RADIO"><ContentItem source="INTERNET_RADIO" location="530" sourceAccount="" isPresetable="true"><itemName>SWR3</itemName><containerArt>http://item.radio456.com/007452/logo/logo-530.jpg</containerArt></ContentItem><track></track><artist></artist><album></album><stationName>SWR3</stationName><art artImageStatus="IMAGE_PRESENT">http://item.radio456.com/007452/logo/logo-530.jpg</art><playStatus>PLAY_STATE</playStatus><description>MP3  128 kbps  Baden-Baden Germany,  SWR3 ist die Popwelle des Südwestrundfunks und euer Radio Nummer eins.</description><stationLocation>Baden-Baden Germany</stationLocation></nowPlaying>


Wenn ich auf DAB bin, dann kommt:
Anzeige im Browser-Fenster

Es wird gar nix angezeigt


HTML-Code dazu:

<?xml version="1.0" encoding="UTF-8" ?><nowPlaying deviceID="A1234A24F22F" source="LOCAL"><ContentItem source="LOCAL" isPresetable="true" /></nowPlaying>


Wenn ich CD anhöre, dann kommt:
Anzeige im Browser-Fenster

Es wird gar nix angezeigt


HTML-Code dazu:

<?xml version="1.0" encoding="UTF-8" ?><nowPlaying deviceID="A1234A24F22F" source="LOCAL"><ContentItem source="LOCAL" isPresetable="true" /></nowPlaying>


Gruß Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 11 Dezember 2016, 19:14:55
Kannst du DAB und CD auch als Preset in der App speichern?

Bitte auch noch IP:8090/sources  und /capabilities posten.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mrhaefele@gmx.de am 11 Dezember 2016, 21:06:46
Hi,

nein, in der App kann ich keine CD bzw DAB presets speichern bzw anzeigen lassen. Wenn ich DAB/CD höre, sagt die App "Der Lautsprecher spielt eine andere Quelle ab".

Bei "http://192.168.178.42:8090/sources" erscheint:
DS214plusmrhaefele@gmx.deUPnPUserNameQPlay1UserNameQPlay2UserNameStoredMusicUserNameminiDLNAforBOSE
<?xml version="1.0" encoding="UTF-8" ?><sources deviceID="A1234A24F22F"><sourceItem source="STORED_MUSIC" sourceAccount="0011322c-094b-0011-4b09-4b092c321100/0" status="READY" isLocal="false">DS214plus</sourceItem><sourceItem source="INTERNET_RADIO" status="READY" isLocal="false" /><sourceItem source="BLUETOOTH" status="READY" isLocal="true" /><sourceItem source="AMAZON" sourceAccount="mrhaefele@gmx.de" status="READY" isLocal="false">mrhaefele@gmx.de</sourceItem><sourceItem source="NOTIFICATION" status="UNAVAILABLE" isLocal="false" /><sourceItem source="UPNP" sourceAccount="UPnPUserName" status="UNAVAILABLE" isLocal="false">UPnPUserName</sourceItem><sourceItem source="SPOTIFY" status="UNAVAILABLE" isLocal="false" /><sourceItem source="QPLAY" sourceAccount="QPlay1UserName" status="UNAVAILABLE" isLocal="false">QPlay1UserName</sourceItem><sourceItem source="QPLAY" sourceAccount="QPlay2UserName" status="UNAVAILABLE" isLocal="false">QPlay2UserName</sourceItem><sourceItem source="STORED_MUSIC_MEDIA_RENDERER" sourceAccount="StoredMusicUserName" status="UNAVAILABLE" isLocal="false">StoredMusicUserName</sourceItem><sourceItem source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebea0c8a/0" status="READY" isLocal="false">miniDLNAforBOSE</sourceItem></sources>

Bei "http://192.168.178.42:8090/capabilities" erscheint:
truetruefalsefalsefalse
<?xml version="1.0" encoding="UTF-8" ?><capabilities deviceID="A1234A24F22F"><networkConfig><dualMode>true</dualMode><wsapiproxy>true</wsapiproxy><allInterfacesSupported /><wlanInterfaces /><security /></networkConfig><dspCapabilities><dspMonoStereo available="false" /></dspCapabilities><lightswitch>false</lightswitch><clockDisplay>false</clockDisplay><lrStereoCapable>false</lrStereoCapable></capabilities>

Gruß Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 12 Dezember 2016, 16:43:51
Hallo,

hatte heute nochmal Zeit um TTS zu testen. Komme da aber keinen mm weiter.
Minidlna habe ich wieder gelöscht die Sourcen lassen sich nicht compilieren und das rpm funktioniert auch nicht.
Mit Universal Media Server kann ich zumindest Musik von meinem Server hören allerdings wird der Server nach einem restart von der Bose app nicht mehr gefunden. Was auch auf Dauer auch keinen Spaß macht und einen ganz üblen WAF hat  :-\
Plex wird nach Neustart zwar von der App erkannt aber TTS hatte da auch nicht funktioniert.
Bin kurz davor das Teil in den Orbit zu schießen und auf Sonos umzusteigen.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hschuett am 12 Dezember 2016, 17:32:08
Hallo Eisix,
nenn mal Details zu Deiner technischen Umgebung. Hardware, Linux-Distribution, ...
Hab FHEM und MiniDLNA auf einem RaspberryPi (1.Gen) am Laufen, das TTS per BOSEST funktioniert m. E. gut.
Geladen und kompiliert habe ich MiniDLNA direkt auf dem Raspberry, ...

Grüße, Harald
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dagobertddo am 12 Dezember 2016, 23:48:11
Hallo,

ich habe gerade erfolgreich einen Speak auf der Soundbar soundtouch300 verproben können.

Hier scheint es noch ein paar unrunde zu geben.
- Wenn ich TV schaue, springt die Bar nach dem Speak in den Standby und nicht zurück zum TV
- Aus dem Folge-Standby lassen sich dann keine Befehle Speak mehr absetzen
- Aus dem normalen standby funktioniert es. Allerdings fehlt jeweils die erst 1/2 Sekunde. Vermutlich ist das aufwachen etwas träge. Lässt sich hier vielleicht ein kurzer delay vorweg setzen?

Bei normalen aktiven Quellen funktioniert es ansonsten super. Danke für die bisherigen Arbeiten.

Hat jemand schon ein Frontend als Sonos gebaut?




Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 Dezember 2016, 00:12:13
Hallo,
   
Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
Suse Leap 42.2

Denke auch nicht das es am Modul liegt. Was mich am meisten stört ist das die BoseApp den DLNA Server verliert. Warum auch immer.
Was hier noch keiner beantwortet ist ob und was in der app gemacht werden muss. Ich habe immer den Server dort registriert und den TTS Ordner auf eine Taste gelegt. Ist das Korrekt oder nicht?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 Dezember 2016, 12:20:18
So heute weiter gebastelt. MiniDLNA läuft jetzt vermute es lag an meiner Netzwerkkonfiguration. Ich hatte minidlna auf eine andere IP meines servers gebunden und das scheint nicht zu funktionieren. MiniDLNA wird auch nach einem restart wieder von der App erkannt.
Speak erzeugt die Sprachdateien im richtigen Ordner es wird aber nichts abgespielt.
Wenn ich auf den Sprachkanal schalte werden die Sprachmemos abgespielt.

list Auszug

Internals:
   DEF        689E186305CC
   DEVICEID   689E186305CC
   NAME       BOSE_689E186305CC
   NR         224
   STATE      playing
   TYPE       BOSEST

   Readings:
     2016-12-13 11:31:58   IP              192.168.10.112
     2016-12-13 11:52:11   album
     2016-12-13 12:07:47   art             http://item.radio456.com/007452/logo/logo-19814.jpg
     2016-12-13 12:07:47   artStatus       IMAGE_PRESENT
     2016-12-13 11:52:11   artist
     2016-09-07 16:42:50   artistID
     2016-12-12 15:04:49   bass            10
     2016-12-13 12:07:45   channel         5
     2016-12-13 11:52:01   channel_01      bigFM 89.5
     2016-12-13 11:52:01   channel_02      SWR1 Rheinland-Pfalz
     2016-12-13 11:52:01   channel_03      SWR3
     2016-12-13 11:52:01   channel_04      RPR1 103.6 FM
     2016-12-13 11:52:01   channel_05      Rockland Radio - Mainz/Wiesbaden
     2016-12-13 11:52:01   channel_06      speach
     2016-12-13 11:31:26   channel_07      Cool
     2016-10-24 22:54:34   channel_08      -
     2016-10-24 22:54:50   channel_13      -
     2016-10-24 22:54:41   channel_14      -
     2016-10-24 22:54:10   channel_15      -
     2016-10-24 22:55:13   channel_16      -
     2016-10-24 22:54:27   channel_18      -
     2016-10-21 18:10:34   channel_19      -
     2016-10-24 22:54:18   channel_20      -
     2016-12-13 11:31:59   connectedDLNAServers MiniDLNA
     2016-11-26 13:17:24   connectionStatusInfo
     2016-12-13 12:06:05   contentItemIsPresetable true
     2016-12-13 12:07:47   contentItemItemName Rockland Radio - Mainz/Wiesbaden
     2016-12-13 12:07:47   contentItemLocation 19814
     2016-12-13 12:06:24   contentItemSource INTERNET_RADIO
     2016-12-13 12:06:24   contentItemSourceAccount
     2016-09-07 16:42:50   contentItemType
     2016-12-13 12:07:47   description     MP3  192 kbps  Mainz Germany,  Bester Rock 'N Pop!
     2016-09-07 16:42:50   deviceID        689E186305CC
     2016-09-07 16:42:50   deviceName      Bose SoundTouch 6304CC
     2016-09-07 16:42:50   mute
     2016-12-13 12:07:49   playStatus      PLAY_STATE
     2016-12-13 11:31:58   presence        online
     2016-09-07 16:42:50   rating
     2016-12-13 12:07:49   recent_01       Rockland Radio - Mainz/Wiesbaden
     2016-12-13 12:07:49   recent_02       bigFM - Deutschlands biggste Beats
     2016-12-13 12:07:49   recent_03       speach
     2016-12-13 12:07:49   recent_04       Cool
     2016-12-13 12:07:49   recent_05       SWR3
     2016-12-13 12:07:49   recent_06       speach
     2016-12-13 12:07:49   recent_07       SWR1 Rheinland-Pfalz
     2016-12-13 12:07:49   recent_08       RPR1 103.6 FM
     2016-12-13 11:52:12   recent_09       harmony.fm 107.5
     2016-12-13 11:52:12   recent_10       RTL Radio - Deutschlands Hit-Radio
     2016-12-13 11:52:12   recent_11       bigFM R&B
     2016-12-13 11:52:12   recent_12       SWR2 Kulturradio
     2016-12-12 14:23:55   recent_13       -
     2016-11-27 20:56:36   recent_14       -
     2016-11-24 21:28:50   recent_15       -
     2016-12-13 12:06:24   repeat
     2016-12-13 12:06:24   shuffle
     2016-12-12 12:31:37   softwareVersion 14.0.15.31964.2035326 epdbuild.trunk.hepdswbld04.2016-11-14T10:06:52
     2016-12-13 12:06:24   source          INTERNET_RADIO
     2016-12-13 12:07:49   state           playing
     2016-12-13 12:07:47   stationLocation Mainz Germany
     2016-12-13 12:07:47   stationName     Rockland Radio - Mainz/Wiesbaden
     2016-04-26 11:13:04   supportClockDisplay false
     2016-12-13 12:01:01   time
     2016-12-13 12:06:24   timeTotal
     2016-12-13 12:06:24   track
     2016-09-07 16:42:50   trackID
     2016-09-07 16:42:50   type            SoundTouch 10
     2016-12-13 12:07:41   volume          14
     2016-09-07 16:42:50   zoneMaster
   Helper:
     IP         192.168.10.112
     airplaySupport 0
     auxSupport 1
     bluetoothSupport 1
     bosewebsocket daa7c8f66542ee7540a8731f04a13ef1
     dlnaServers MiniDLNA
     dt_counter 1
     dt_lastChange 0
     dt_nowSelectionUpdatedCH 5
     dt_nowSelectionUpdatedTS 1481627265.53955
     lastSpokenChannel speach
     mojoping   ef0244870bbf09d0a5395e20205b5853
     requestId  1
     sent_off   0
     sent_on    0
     supportedBassCmds
     supportedSourcesCmds aux,bluetooth,bt-discover
     switchSource
     wsconnected 1

     Savedstate:
       bass       10
       contentItemItemName bigFM - Deutschlands biggste Beats
       contentItemLocation 25219
       contentItemSource INTERNET_RADIO
       contentItemSourceAccount
       source     INTERNET_RADIO
       volume     30
     sources:
       HASH(0x6040fd0)
       HASH(0x929fb68)
       HASH(0x92a3970)
       HASH(0x928daf0)
       HASH(0x928dad8)
       HASH(0x92a01c8)
       HASH(0x9291b60)
       HASH(0x88884e8)
       HASH(0x92a3a78)
       HASH(0x9291710)
     Statecheck:
       actionSource INVALID_SOURCE
       always     0
       enabled    1
Attributes:
   alias      Bose SoundTouch 6304CC
   autoAddDLNAServers 1
   channel_07 Cool|64$4F|STORED_MUSIC|4d696e69-444c-164e-9d41-00c026f077ec/0
   group      Multimedia
   room       Wohnzimmer
   sortby     2
   ttsDLNAServer MiniDLNA
   ttsDirectory /Daten/TTS/speach
   ttsLanguage de
   ttsVolume  30
   userattr   autoAddDLNAServers channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume

Das Attribut SpeakChannel, wie genau ist das zu benutzen? Gibt es den Channel an auf dem der DLNA mit dem Sprachordner liegt?  Dann verstehe ich aber die Feature Beschreibung nicht.
- FEATURE: support speak channel name (useful for SoundTouch w/o display)
            attr <name> speakChannel 1-6
            attr <name> speakChannel 2,3,5,6

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Bjoernar am 13 Dezember 2016, 20:42:53
Hallo,

ich habe das Modul auch erfolgreich eingebunden, dafür schon mal danke.

Jedoch scheint es mein System doch erheblich zu belasten.

Apptime gibt es zumindest als Top Verursacher aus:
tmr-BOSEST_checkWebSocketConnection      HASH(0x3867138)     20   2622     3054     1.16   1545 HASH(BOSE_1234)

Ich habe auch kein Attribut für Intervalle gefunden.

Gruß
Björnar

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 Dezember 2016, 22:00:18
@Eisix, prüfe mal mit http://minidlna-ip:8200 ob die Datei von minidlna indiziert wurde.

@Bjoernar, BOSEST_checkWebSocketConnection wird alle 0,7s aufgerufen um zu prüfen ob per WebSocket etwas empfangen wird. Es gibt bei Mojolicious (Library für WebSockets) leiderkeine andere Möglichkeit. Andere vernünftige Libraries konnte ich nicht finden.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Bjoernar am 14 Dezember 2016, 08:06:14
Zitat von: dominik am 13 Dezember 2016, 22:00:18
@Bjoernar, BOSEST_checkWebSocketConnection wird alle 0,7s aufgerufen um zu prüfen ob per WebSocket etwas empfangen wird. Es gibt bei Mojolicious (Library für WebSockets) leiderkeine andere Möglichkeit. Andere vernünftige Libraries konnte ich nicht finden.

Habt ihr denn diese Probleme nicht?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 14 Dezember 2016, 11:01:39
@dominik: Ja Dateien sind indiziert und werden auch beim ausführen von speak indiziert.

Kannst du mir mal sagen wie speakChannel zu nutzen ist?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 14 Dezember 2016, 23:23:43
Setz mal speakChannel 1-6 und dann drück auf einen Preset. Danach wird der Name des Senders angesagt und dann der Sender abgespielt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 15 Dezember 2016, 00:30:15
Zitat von: Eisix am 14 Dezember 2016, 11:01:39
@dominik: Ja Dateien sind indiziert und werden auch beim ausführen von speak indiziert.

Kannst du mir mal sagen wie speakChannel zu nutzen ist?

Gruß
Eisix
Ok, wenn die Dateien indiziert sind, dann mach mal ein "playTrack" mit dem Dateinamen einer TTS Datei (ohne .mp3 Endung).
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 20 Dezember 2016, 09:46:01
Ein Hallo an euch!

Ich habe mich schon eine Weile mit dem genialen Modul beschäftigt. Allerdings verzweifle ich gerade an der TTS Wiedergabe.

Die Anleitung zur Installation des minidlna Servers habe ich etliche Male probiert doch komme ich nicht weiter. Einmal hatte ich die Situation das die mp3  Files von Google im mindlna verzeichnis abgelegt wurden doch nichts bei den Bose Geräten angesagt wurde. Ich konnte den minidlna Server auch nicht mittels Bose App verwenden.

Aktuell habe ich wieder von vorn angefangen, dieses Mal nach der Anleitung http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/
(http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/)
Ich kann auf den Server via Bose App zugreifen, das was ich anwähle wird abgespielt. Allerdings erzeugt das Modul keine mp3 Files von Google. Die Rechte habe ich gesetzt, und in den Logs finde ich nichts.
Im Moment bin ich ratlos, welche Stellen kann ich noch prüfen bzw. welche Information sollte ich noch hier hinzufügen?

Wenzel


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rr725 am 20 Dezember 2016, 16:29:33
ich habe da einmal eine frage.....
kann man mit diesem modul mitgeben, mit welchem bluetooth device sich die bosebox standardmässig verbindet ?
sie soll sich eigentlich immer mit mazon Echo verbinden, jedoch verbindet sie sich immer mit meinem handy.
Vielen Dank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 20 Dezember 2016, 19:12:30
@Wenzel, stell bitte dennoch mal im Modul verbose=5 und poste das Log. Danke.

@rr725, seitens BOSE gibt es diese Funktionalität nicht. Wie verbindest du deinen Echo neu wenn zuerst dein Handy verbunden ist?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 20 Dezember 2016, 20:21:25
Hallo Dominik,

vielen Dank für die fixe Beachtung meiner Frage!

Ich habe "attr bosesystem verbose 5" gesetzt und die Sprachausgabe gestartet: set BoseEZ speak "This is a louder message" +10"
Der entsprechende Soundtouch stoppt die aktuelle Wiedergabe, aber es kommt keine Ansage. Im minidlna Verzeichnis wird keine Datei erzeugt.

Leider bin ich nich nicht so fit in FHEM, im systemlog finde ich keine weiteren Infos, wo müsste ich das gewünschte Log finden?

Wenzel


Zitat von: dominik am 20 Dezember 2016, 19:12:30
@Wenzel, stell bitte dennoch mal im Modul verbose=5 und poste das Log. Danke.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 20 Dezember 2016, 22:31:12
Hallo Dominik,

ich habe noch weiter probiert:

- Da ich deine Installationsanleitung bezgl. minidlna aus dem Eingangspost nicht ans rennen bekomme habe hatte ich diese
http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/ (http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/) Anleitung probiert und zumindest schon einmal den minidlna Server aktiviert bekommen. Zugriff mittels VLC und der Soundtouch App funktioneren.

Da ich aber keine google mp3 Dateien nach dem Speak Befehl in dem Verzeichnis bekommen habe und natürlich auch keine Sprachausgabe hören konnte habe ich weiterprobiert.

Aktuell habe ich "deine" /etc/init.d/minidlna aktiv und der minidlna läuft soweit. Nun nach dem speak Befehl zumindest schon mal die google mp3 Datei erstellt. Doch noch bleibt die BoseBox stumm.

Wenzel


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 20 Dezember 2016, 23:15:22
Bitte BoseEZ auf verbose 5 stellen und dann shutdown reboot. Danach nochmals speak.

Das Log kannst du auch aus dem Webinterface (Links unten: Logfile) aufrufen und mir von dort hier rein kopieren.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rr725 am 21 Dezember 2016, 06:42:08
Zitat von: dominik am 20 Dezember 2016, 19:12:30
. Wie verbindest du deinen Echo neu wenn zuerst dein Handy verbunden ist?
bluetoothkoppelung mit bose auf dem handy "lösen"  und dann "Alexa verbinde dich mit Bluetoothlautsprecher"

Ist jedoch mein Bluetooth am Handy ausgeschaltet, ich der Bosebox Strom gebe, verbindet sie sich automatisch mit "Alexa"
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 21 Dezember 2016, 20:30:03
Hallo Dominik,
das Logfile im Interface kenne ich, allerdings habe ich da nicht wirklich spannendes entdeckt:

2016.12.21 20:21:16 4: Connection accepted from WEB_192.168.178.51_61279
2016.12.21 20:21:16 4: WEB_192.168.178.51_61279 POST /fhem&fw_id=846&cmd=+set+Bose.EZ+speak+%22This+is+a+louder+message%22+%2B10; BUFLEN:0
2016.12.21 20:21:16 5: Cmd: >set Bose.EZ speak "This is a louder message" +10<
2016.12.21 20:21:16 4: name: /fhem&fw_id=846&cmd=+set+Bose.EZ+speak+%22This+is+a+louder+message%22+%2B10 / RL:1290 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2016.12.21 20:21:16 4: Connection closed for WEB_192.168.178.51_61273: EOF
2016.12.21 20:21:16 4: WEB_192.168.178.51_61279 GET /fhem?


Ich habe noch nicht die Stelle gefunden wie ich die Logeinträge eines bestimmten Modul, in diesem Fall BOSET, in ein eigenes Logfile lenken kann.


Zitat von: dominik am 20 Dezember 2016, 23:15:22
Bitte Bose.EZ auf verbose 5 stellen und dann shutdown reboot. Danach nochmals speak.
Das Log kannst du auch aus dem Webinterface (Links unten: Logfile) aufrufen und mir von dort hier rein kopieren.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 22 Dezember 2016, 20:51:33
Das sieht mir noch nicht nach verbose=5 aus.

Öffne dein Device über das Webinterface, stell dort bei den Attributen verbose auf 5. Mach nochmals speak und schau dann in /opt/fhem/log/ nach einem Logfile welches BOSEST Log Einträge hat.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 23 Dezember 2016, 09:14:10
Hallo Domink,

ich bin mir realtiv sicher das es verbose 5 ist. Werde das aber heute abend noch einmal testen

Wenzel

Zitat von: dominik am 22 Dezember 2016, 20:51:33
Das sieht mir noch nicht nach verbose=5 aus.

Öffne dein Device über das Webinterface, stell dort bei den Attributen verbose auf 5. Mach nochmals speak und schau dann in /opt/fhem/log/ nach einem Logfile welches BOSEST Log Einträge hat.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 24 Dezember 2016, 08:56:58
Hallo Dominik,

ich habe noch mal wieder von vorne angefangen,
der aktuelle Status ist:

-minidlna Server läuft, die Bosebox kann mittels Bose App testfiles daraus abspielen.
-Wenn ich set Bose.EZ speak "Das ist ein Test."  aufrufe stoppt die aktuelle wiedergaben auf dem Gerät jedoch wird nichts ausgegeben
-im minidlna wird kein mp3 erzeugt.

Hier der Auszug aus der cfg:

define Bose BOSEST
attr Bose userattr autoAddDLNAServers staticIPs
attr Bose alias Bose System Modul BOSEST
attr Bose autoAddDLNAServers minidlna
attr Bose room Bose
attr Bose sortby 0

define Bose.EZ BOSEST 08DF1F075D48
attr Bose.EZ userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume

attr Bose.EZ alias Esszimmer
attr Bose.EZ room Bose
attr Bose.EZ sortby 2
attr Bose.EZ ttsDLNAServer minidlna
attr Bose.EZ ttsDirectory /var/lib/minidlna
attr Bose.EZ ttsLanguage de
attr Bose.EZ ttsVolume +20
attr Bose.EZ verbose 5

Der Testaufruf: set Bose.EZ speak "Das ist ein Test."
erzeugt diese Loginfos:

2016.12.24 08:54:00 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:00 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:00 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:00 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'url' => 'webserver/pingRequest',
                               'deviceID' => '08DF1F075D48',
                               'request' => {
                                            'requestID' => '1',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          },
                               'method' => 'GET'
                             }
                 }
        };

2016.12.24 08:54:18 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:18 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:19 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:19 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'connectionStateUpdated' => {},
                       'deviceID' => '08DF1F075D48'
                     }
        };

2016.12.24 08:54:19 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:19 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           },
                   'header' => {
                               'method' => 'GET',
                               'request' => {
                                            'info' => {
                                                      'type' => 'new'
                                                    },
                                            'requestID' => '1'
                                          },
                               'deviceID' => '08DF1F075D48',
                               'url' => 'webserver/pingRequest'
                             }
                 }
        };

2016.12.24 08:54:21 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:21 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'connectionStateUpdated' => {},
                       'deviceID' => '08DF1F075D48'
                     }
        };

2016.12.24 08:54:24 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:24 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:25 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:25 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:27 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:27 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:28 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:28 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:33 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:33 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:34 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:34 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'connectionStateUpdated' => {}
                     }
        };

2016.12.24 08:54:34 4: BOSEST: set /key => <key state="press" sender="Gabbo">STOP</key>
2016.12.24 08:54:34 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.12.24 08:54:34 4: BOSEST: set /key => <key state="release" sender="Gabbo">STOP</key>
2016.12.24 08:54:34 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2016.12.24 08:54:34 4: BOSEST: set /volume => <volume>120</volume>
2016.12.24 08:54:34 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2016.12.24 08:54:34 5: BOSEST: Bose.EZ, received message.
2016.12.24 08:54:34 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'volumeUpdated' => {
                                          'volume' => {
                                                      'actualvolume' => '100',
                                                      'targetvolume' => '100',
                                                      'muteenabled' => 'false'
                                                    }
                                        }
                     }
        };



So richtig komme ich noch nicht weiter, irgendwo übersehe ich wohl ein wichtiges Detail :-)

Frohe Weihnachten, oder mit den Grüssen der Saison.

Wenzel


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 07 Januar 2017, 15:09:31
@Wenzel, lösch mal dieses Attribut:
attr Bose.EZ ttsDLNAServer minidlna

...und teste dann nochmals.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 08 Januar 2017, 21:09:40
Hallo Dominik,

vielen Dank für dieses tolle Modul, habe erfolgreich eine Soundtouch 10 und eine Soundtouch 20 damit eingebunden und kann nur sagen es funktioniert einwandfrei.
Probleme hatte ich anfänglich mit dem Minidlna. Dies konnte ich nach Deiner Anleitung nicht installieren. Nach einer anderen aus diesem Thread funktionierte aber auch dieses einwandfrei.

Anhand der Commandref und dieses Threads ist es mir auch gelungen eine Sprachausgabe auf das jeweilige Device auszugeben. Dabei wird jedoch der Anfang abgeschnitten. Kann man irgendwo eine Pause definieren so das die Ausgabe z.B nach eine Sekunde ausgegeben wird.

Des  Weiteren habe ich mir in der Commandref die Befehle für Multiroom angeschaut. Schaue da aber noch nicht so recht durch. Möchte z.B das Gerät in der Küche mit dem im Wohnzimmer koppeln und dann auf beiden gleichzeitig eine Durchsage machen. z.B das vorlesen des Wetters wie im Wiki beschrieben:

https://wiki.fhem.de/wiki/Wetter_vorlesen_lassen

Kann man die Limitierung der 100 Zeichen für die Sprachausgabe noch aufbohren oder andersweitig umgehen?

Hier mal der bisher relevante Teil meiner Config

define WZ_Bose_ST20 BOSEST
attr WZ_Bose_ST20 userattr autoAddDLNAServers staticIPs
attr WZ_Bose_ST20 alias Bose Soundtouch 20
attr WZ_Bose_ST20 group Bose Soundtouch 20
attr WZ_Bose_ST20 room Wohnzimmer

define BOSE_F45EABFB8D3D BOSEST F45EABFB8D3D
attr BOSE_F45EABFB8D3D userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr BOSE_F45EABFB8D3D alias SoundTouch 20
attr BOSE_F45EABFB8D3D group Bose Soundtouch 20
attr BOSE_F45EABFB8D3D room Wohnzimmer
attr BOSE_F45EABFB8D3D speakChannel 6
attr BOSE_F45EABFB8D3D ttsDirectory /var/lib/minidlna
attr BOSE_F45EABFB8D3D ttsLanguage de
attr BOSE_F45EABFB8D3D verbose 5


Vielen Dank nochmals für Euere Unterstützung.

P.S. Kann man sich irgendwie beteiligen und z.B. im Wiki bzw in der Commandref mehr Beispiele hinterlegen. Dies wäre für Einsteiger wie mich einfacher zu verstehen. Vor allem bei komplexeren Modulen wäre man besser in der Lage den vollen Umfang eines Moduls zu verstehen.

Gruß Masterciw
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 08 Januar 2017, 21:23:23
@Masterciw

Beteiligung
Sehr gerne kannst du für das Modul eine Wiki Page mit entsprechenden Beispielen erstellen. Bei der Dokumentation freue ich mich immer wieder auf User Unterstützung! Wäre genial, wenn du da deine Erkenntnisse zur Konfiguration der Sprachausgabe einfließen lassen könntest.

Sprachausgabe
Der Anfang wird leider abgeschnitten, da die BOSE Box nicht sofort die volle Lautstärke ausgibt. In der nächsten Version ist das mit Hilfe der SOX Library behoben - folgt in den nächsten Tagen. Längere Texte möchte ich auch noch unterstützen, das braucht aber etwas mehr Arbeit.
Sprachausgabe auf mehreren Boxen sollte mit
set WZ_Bose_ST20 speak "Das ist ein Test."
set WZ_Bose_ST20 playEverywhere

oder andersrum funktionieren.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 09 Januar 2017, 11:36:36
Hallo Dominik,

gerne würde ich unterstützen. Bin zwar was Perl angeht noch Einsteiger und habe mich mal ein wenig daran versucht. Kann aber fertigen Code durchaus lesen und in andere Scriptingsprachen wie vbscript, powershell konvertieren da ich mehr in der Windowswelt zuhause bin.

Wie bekomme ich denn Zugriff auf das Wiki und gibt es da ein Template mit dem groben Rahmen?

Könntest Du mir mal per PN Deine Bosespezifische Config zukommen lassen, so dass ich diese für die Dokumentation mitnutzen kann.
Habe sicherlich bei weitem noch nicht alles konfigurierbare in meiner Config konfiguriert.

Das Thema Multiraum interessiert mich ebenfalls sehr da ich 2 dieser Devices gekauft habe und momentan noch mit einem dritten liebäugel.

Mal eine Frage am Rande. Warum nutzt Du nicht das vorhandene Modul Text2Speech oder läßt sich dieses nicht für Bose nutzen?


Gruß Masterciw
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Januar 2017, 09:06:18
@Dominik

Das löschen von
attr Bose ttsDLNAServer minidlna

War der entscheidende Punkt, seitdem funktioniert TTS bei mir.
Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: betateilchen am 11 Januar 2017, 18:13:29
Hat jemand eine Idee, wie ich die dauernden Verbindungsabbrüche bekämpfen kann?


2017.01.11 16:32:12.063 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 16:32:21.280 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 16:32:22.630 3: BOSEST: wz_st10, WebSocket connection succeed.

2017.01.11 17:25:30.009 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 17:25:35.141 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 17:25:37.627 3: BOSEST: wz_st10, WebSocket connection succeed.

2017.01.11 17:51:30.792 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 17:51:39.007 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 17:51:40.122 3: BOSEST: wz_st10, WebSocket connection succeed.

2017.01.11 17:58:28.974 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 17:58:47.087 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 17:58:47.774 3: BOSEST: wz_st10, WebSocket connection succeed.

2017.01.11 17:59:40.006 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 17:59:57.483 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 17:59:58.827 3: BOSEST: wz_st10, WebSocket connection succeed.

2017.01.11 18:08:36.134 3: BOSEST: wz_st10, WebSocket connection dropped - try reconnect.
2017.01.11 18:09:20.599 3: BOSEST: wz_st10, new IP (192.168.123.226)
2017.01.11 18:09:22.629 3: BOSEST: wz_st10, WebSocket connection succeed.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 13 Januar 2017, 19:28:00
Ich bekome die Meldung ebenfalls ca. 3-5x am Tag. Ich vermute es liegt wirklich an der WLAN Verbindung. Ansonsten könnte es noch an Mojolicious liegen welches man aktualisieren könnte. Aber wie gesagt, ich tippe auf WLAN. Kannst ja mal probieren die Box in die Nähe des Routers zu stellen.

Btw, Update für "unlimited" Text bei TTS stelle ich am Wochenende bereit :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 15 Januar 2017, 11:42:21
Update...bitte um Testing und Rückmeldung

v2.1.0 - 20170114 - to be released
- NEW REQUIREMENT: sox, libsox-fmt-mp3
- FEATURE: add 1 second silence before TTS message for speak to
            prevent low volume on first words
- FEATURE: support "unlimited" characters in TTS speak.
            Text is split in sentences which are afterwards
            merged with sox. Same sentences are downloaded
            only once a month to reduce requests to Google.
- BUGFIX:  fix resume after speak when spotify running
- BUGFIX:  fix speakChannel for spotify presets
- BUGFIX:  fix save spotify to channel_7-20
- BUGFIX:  improved check after TTS play to restore previous state
- BUGFIX:  fix list of arguments
- FEATURE: add $readingFnAttributes
- FEATURE: add playPause toggle command
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 16 Januar 2017, 21:23:18
Hallo und guten Abend,

@ Dominik: Modul heruntergeladen und Abhängigkeiten installiert. Getestet und okay.

Was mit jedoch auffällt ist die Aussprache von Umlauten.

Gehe ich in WebUI und lasse einen Satz wie z.B: "Ab in die Küche" kommt etwas anderes heraus als wenn ich die Ausgabe in der Config mache wie. z.B:
define Bose_Durchsage at *20:56:00 set WZ_BOSE_SoundTouch20 speak "Ab in die Küche" 65
Hierbei wir das ü nicht korrekt ausgesprochen.

Der zeitliche Versatz von einer Sekunde ist okay.

Versuche ich beim eingehenden Anrufen eine Durchsage zu machen, wird die Variable ausgesprochen anstatt den korrekten Inhalt dort einzusetzen.
{fhem ('set WZ_BOSE_SoundTouch20 speak "Anruf von $Name" 55')}

Vermutlich habe ich da Probleme mit den "

Ist es irgendwie möglich ähnlich wie bei der Sprachausgabe mit TTS auch MP3 Dateien wie z.B. einen Gong vor der Durchsage auszugeben und wie muss das
in der Config definiert werden?

Gruß Michael

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: betateilchen am 16 Januar 2017, 21:39:42
Zitat von: dominik am 15 Januar 2017, 11:42:21
Update...bitte um Testing und Rückmeldung

v2.1.0 - 20170114 - to be released
- NEW REQUIREMENT: sox, libsox-fmt-mp3



root@fhem-enocean:/home/udo# apt-get install sox libsox-fmt-mp3
...
Die folgenden zusätzlichen Pakete werden installiert:
...
Die folgenden NEUEN Pakete werden installiert:
...
0 aktualisiert, 20 neu installiert, 0 zu entfernen und 13 nicht aktualisiert.
Es müssen noch 1.256 kB von 1.776 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 3.816 kB Plattenplatz zusätzlich benutzt.


Da werden mindestens 20 Pakete neu installiert, die ich nicht brauche, weil ich nicht mit TTS arbeite (und das auch zukünftig nicht).

Kannst Du bitte das Modul so gestalten, dass man es komplett ohne TTS (und dessen Abhängigkeiten) nutzen kann?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: betateilchen am 16 Januar 2017, 21:41:37
Zitat von: dominik am 13 Januar 2017, 19:28:00
Kannst ja mal probieren die Box in die Nähe des Routers zu stellen.

Die stehen Luftlinie 7m mit freier Sicht auseinander, innerhalb des gleichen Raumes wohlgemerkt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: betateilchen am 16 Januar 2017, 21:46:44
Zitat von: Masterciw am 16 Januar 2017, 21:23:18
Versuche ich beim eingehenden Anrufen eine Durchsage zu machen, wird die Variable ausgesprochen anstatt den korrekten Inhalt dort einzusetzen.
{fhem ('set WZ_BOSE_SoundTouch20 speak "Anruf von $Name" 55')}

Vermutlich habe ich da Probleme mit den "

Du hast eher ein Problem mit fehlenden perl Grundlagenkenntnissen ;)

Probier mal, ob das funktioniert:


{fhem ('set WZ_BOSE_SoundTouch20 speak "Anruf von '.$Name.'" 55')}
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 17 Januar 2017, 20:59:26
Hallo und guten Abend,

@ Betateilchen: Vielen Dank, das war es. Was Perl angeht bin ich gerade dabei meine ersten Schritte zu machen.
Komme aus der Windowswelt und nutze daher Batch, VBScript und Powershell. Auch wenn einiges Ähnlichkeit hat,
gibt es leider doch auch recht gravierende Unterschiede.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 18 Januar 2017, 20:16:25
Ich komme einfach nicht weiter.

Ein ganz frischer pi mit "2017-01-11-raspbian-jessie.img" + update + fhem weigert sich minidlna zu nutzen.

Ich habe nach dem Eingangspost problemlos das BOSET zum laufen bekommen aber minidlna bekomme ich einfach nicht hin, ich habe da schon ungelogen locker 10h rumprobiert, so langsam gehen mir die Ideen aus. Das mag sicher auch daran liegen das ich noch wenig Erfahrung mit dem pi habe, keine Frage.

Das sind die Befehle die ich verwende:

sudo apt-get install libexif-dev libjpeg-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev libid3tag0-dev
sudo apt-get install autoconf gettext
-> autoconf und gettext fehlten bei meinem Image

sudo apt-get build-dep minidlna
-> Diese Meldung bekomme ich und hab keine Ahnung ob ich da was tun kann
-> E: Sie müssen einige »source«-URIs für Quellpakete in die sources.list-Datei eintragen.

mkdir minidlna
cd minidlna
git clone git://git.code.sf.net/p/minidlna/git minidlna-git
cd minidlna-git
./autogen.sh && ./configure && sudo make && sudo make install

sudo cp minidlna.conf /etc/
sudo cp linux/minidlna.init.d.script /etc/init.d/minidlna
> sonst habe ich nix zum anpassen

sudo nano /etc/minidlna.conf
> nach eingangspost angepasst

sudo nano /etc/init.d/minidlna
> nach eingangspost angepasst


sudo chmod +x /etc/init.d/minidlna

sudo mkdir /var/lib/minidlna
sudo chmod 777 /var/lib/minidlna
sudo service minidlna start
> Failed to start minidlna.service: Unit minidlna.service failed to load: No such file or directory.


Ich bin mir sicher das ich irgendwas übersehen habe, nur finde ich es nicht. Ich habe schon so oft von vorn angefangen, immer ein Schnipsel in irgendeinem Forum gefunden. Aber jetzt stehe ich auf dem Schlauch.

Mit der Bitte um Unterstützung :-)


Wenzel






Failed to start minidlna.service: Unit minidlna.service failed to load: No such file or directory.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 19 Januar 2017, 00:13:26
@ Malc: Die Installation des Minidlna wie am Anfang des Threads beschrieben hat bei mir ebenfalls nicht
funktioniert. Versuche mal den Minidlna aus dem Package Repositories zu installieren.

Zuvor alles von Minidlna removen
sudo apt-get purge minidlna -y
sudo apt-get remove minidlna
sudo apt-get autoremove -y
sudo rm /etc/minidlna.conf
sudo rm /etc/init.d/minidlna

Dann Jessie auf den neusten Stand aktualisieren
sudo apt-get update
sudo apt-get upgrade

Im Anschluss Minidlna installieren
sudo apt-get install minidlna

Dann Konfiguration für minidlna erstellen
sudo nano /etc/minidlna.conf


media_dir=/var/lib/minidlna
port=8200
serial=12345678
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg


Dann Startscript für Minidlna erstellen
sudo nano /etc/init.d/minidlna


#!/bin/sh
#
# MiniDLNA initscript
#
# Based on the mediatomb debian package.
# Original authors: Tor Krill <tor@excito.com>
#                   Leonhard Wimmer <leo@mediatomb.cc>
#                   Andres Mejia <mcitadel@gmail.com>
#
# Modified by: Benoît Knecht <benoit.knecht@fsfe.org>
#
### BEGIN INIT INFO
# Provides:          minidlna
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Should-Start:      $all
# Should-Stop:       $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start minidlna at boot time
# Description:       Manage the minidlna daemon, a DLNA/UPnP-AV media server.
### END INIT INFO

unset USER

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin
DESC="DLNA/UPnP-AV media server"
NAME=minidlna
DAEMON=/usr/local/sbin/minidlnad
PIDDIR=/run/$NAME
PIDFILE=$PIDDIR/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DEFAULT=/etc/default/$NAME

# Exit if the package is not installed
[ -x $DAEMON ] || exit 0

# Read configuration variable file if it is present
[ -r $DEFAULT ] && . $DEFAULT

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Do not start the daemon if NO_START is enabled in DEFAULT
if [ "$START_DAEMON" != "yes" ] && [ "$1" != "stop" ]; then
        log_warning_msg "$NAME: Not starting $DESC."
        log_warning_msg "$NAME: Disabled in $DEFAULT."
        exit 0
fi

# Set the default configuration file
if [ -z $CONFIGFILE ]; then
        CONFIGFILE=/etc/minidlna.conf
fi

# Set the default log file
if [ -z $LOGFILE ]; then
        LOGFILE=/var/log/minidlna.log
fi

# Run as `minidlna' if USER is not specified or is `root'
if [ -z $USER ]; then
        USER=minidlna
fi

# If no group is specified, use USER
if [ -z $GROUP ]; then
        GROUP=$USER
fi

DAEMON_ARGS="-f $CONFIGFILE -P $PIDFILE $DAEMON_OPTS"

#
# Function that starts the daemon/service
#
do_start()
{
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        touch $LOGFILE && chown $USER:$GROUP $LOGFILE || return 2
        if [ ! -d $PIDDIR ]; then
            mkdir $PIDDIR || return 2
        fi
        chown $USER:$GROUP $PIDDIR || return 2

        start-stop-daemon --start --quiet --pidfile $PIDFILE \
                --chuid $USER:$GROUP --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE \
                --chuid $USER:$GROUP --exec $DAEMON -- \
                $DAEMON_ARGS \
                || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -rf $PIDDIR
        return "$RETVAL"
}

#
# Function that signals log rotation to the daemon/service
#
do_rotate()
{
        start-stop-daemon --stop --quiet --signal USR1 --pidfile $PIDFILE --exec $DAEMON
}

case "$1" in
  start)
    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
    do_start
    case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
  ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  status)
       status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                if [ "$1" = "force-reload" ]; then
                        # Rescan the collection
                        DAEMON_ARGS="$DAEMON_ARGS -R"
                fi
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  rotate)
        log_daemon_msg "Reopening log file $LOGFILE"
        do_rotate
        log_end_msg $?
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload|rotate}" >&2
        exit 3
        ;;
esac

:


Nun sollte man noch die Berechtigungen auf den Ordner /var/lib/minidlna korrekt setzen falls nicht bereits erfolgt.
sudo chown 0755 /var/lib/minidlna (so steht es derzeit bei mir)

Danach rebooten und mit
sudo service minidlna status
prüfen ob minidlna gestartet wurde.

Sollte dies funktionieren nun nochmals eine Sprachausgabe generieren, z.B:
set Bose_fafafaf speak "Dies ist ein Test" 40 de

Nun wird der Text im Hintergrund zu Google hochgeladen und als MP3 zurückgeliefert.
Diese sollte sich idealerweise im Ordner /var/lib/minidlna befinden und könnte z.B so heißen:
63778d4308de213aaec4e26fcf9ab286.mp3

Wird diese Datei dort nicht hinterlegt so stimmt meist was mit den Zugriffsberechtigungen auf den Ordner nicht.

Wurde die Datei dort erfolgreich erstellt sollte diese dann erfolgreich auf den Bose Devices ausgegeben werden.

Viel Glück

@ Dominik: Wir sollten die Anleitung zur Installation von Minidlna im ersten Post mal überarbeiten und das Ganze auch
dementsprechend im Wiki vermerken. Sobald ich weiss ich dazu die Berechtigungen erlange, könnte ich mich ans Werk machen.

Gruß und einen schönen Abend noch.

Masterciw






Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 19 Januar 2017, 09:51:06
Hallo Masterciw,
vielen Dank für deine Anleitung. Ich bin ja schon mal beruhigt das ich nicht der einzige bin bei dem das nicht funktioniert.

Ich habe deine Schritte befolgt und bin aber leider nicht wesentlich weiter. Der minidnla läuft, ich kann via VLC Files abspielen. Sobald ich aber mit der Bose App den server ansprechen will (hinzufügen kann ich ihn) bricht er ab. Auch wenn ich über FHEM ein text sprechen lassen will stoppt der server. 

Anbei ein Auszug aus dem minidlna.log, irgendwas muss ich doch anders als andere machen.. argh.


pragma default_cache_size = 8192;
[2017/01/19 09:21:13] minidlna.c:1043: warn: HTTP listening on port 8200
[2017/01/19 09:21:13] inotify.c:198: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [2] and I do not have permiss$
[2017/01/19 09:22:57] upnphttp.c:1043: warn: HTTP Connection closed unexpectedly
[2017/01/19 09:24:54] minidlna.c:1004: warn: Starting MiniDLNA version 1.1.2.
[2017/01/19 09:24:54] sql.c:41: error: SQL ERROR 8 [attempt to write a readonly database]
pragma default_cache_size = 8192;
[2017/01/19 09:24:54] minidlna.c:1043: warn: HTTP listening on port 8200
[2017/01/19 09:24:54] inotify.c:198: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [2] and I do not have permiss$
[2017/01/19 09:25:29] upnphttp.c:1043: warn: HTTP Connection closed unexpectedly
[2017/01/19 09:25:53] upnphttp.c:1043: warn: HTTP Connection closed unexpectedly
[2017/01/19 09:32:49] minidlna.c:153: warn: received signal 15, good-bye
[2017/01/19 09:32:49] sql.c:41: error: SQL ERROR 8 [attempt to write a readonly database]
UPDATE SETTINGS set VALUE = '14' where KEY = 'UPDATE_ID'
[2017/01/19 09:32:52] minidlna.c:1022: warn: Starting MiniDLNA version 1.1.6.
[2017/01/19 09:32:52] minidlna.c:1062: warn: HTTP listening on port 8200
[2017/01/19 09:34:17] upnphttp.c:1061: warn: HTTP Connection closed unexpectedly
[2017/01/19 09:34:57] upnphttp.c:1061: warn: HTTP Connection closed unexpectedly
[2017/01/19 09:37:08] minidlna.c:154: warn: received signal 15, good-bye
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 20 Januar 2017, 18:28:30
So, ich glaube ich bin einen Schritt weitergekommen!

-Der Fehler lag an meiner verwursteten /etc/init.d/minidlna. Ich habe mir noch mal eine "nackte" gesucht und dann die Änderungen eingebaut.

Die ersten Sprachausgaben haben funktioniert, hurra!

Zur Zeit startet der minidlna noch nicht automatisch, aber das werde ich wohl noch rausfinden. Schön ist aber das jetzt im ganzen Haus zu hören ist wenn die Waschmaschine fertig ist :-)

Malc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Masterciw am 20 Januar 2017, 21:21:59
Hallo Malc,

freut mich zu hören das Du weiter gekommen bist.
Was den Autostart des minidlna angeht könntest Du mal die Berechtigungen überprüfen.

Ich habe das bereits gepostete Script verwendet und keinerlei Probleme damit.
Die Berechtigungen stehen bei mir auf 0755.

Vielleicht hilft Dir das weiter.

Gruß und einen schönen Abend noch.

Masterciw
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2017, 10:53:04
@betateilchen, ich schau mir das mal an, ob ich die sox Abhängigkeit nur in den TTS Teil implementieren kann.
//Update Mir ist gerade eingefallen, dass ich sowieso nur die Binary bei TTS Aufrufe. Von daher gibt es keine Lib Abhängigkeit. Eine Prüfung auf SOX hab ich noch nicht eingebaut für die Testversion, folgt noch. Du kannst also die neue Version bereits nutzen.

Ein Bug ist mir in der Version noch aufgefallen. Beim TTS wird das Satzende nicht an Google Translate gesendet, daher klingen Fragen am Satzende nicht optimal. Das wird von mir noch behoben.

Des Weiteren muss man dazu sagen, dass Sätze maximal 100 Zeichen haben dürfen. Sollte jemand der Meinung sein, dass das zu wenig ist, dann lasst es mich wissen. Eine Komma Trennung wäre vielleicht auch noch möglich.

Bzgl. "Gong" zu Beginn, das sollte kein Problem sein es einzubauen. Ich baue jetzt schon mit SOX die "Stille" zu beginn zusammen, ein Gong wäre einfach eine weitere Datei. Gibt es den Gong irgendwo im Internet frei verfügbar zum Runterladen? Für Experten kann ich gerne jegliche MP3 hinzufügen lassen, aber ich bin sonst ein Freund von "so wenig Konfiguration wie möglich".
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2017, 11:35:45
Anbei noch ein Update...wenn es damit keine Probleme gibt, werde ich es die nächsten Tage ins Repository aufnehmen.
Änderungen seit letzter Woche in grün.

v2.1.0 - 20170121 - to be released
- NEW REQUIREMENT: TTS: sox, libsox-fmt-mp3 (only required for TTS)
- FEATURE: TTS: add 1 second silence before TTS message for speak to
            prevent low volume on first words
- FEATURE: TTS: support "unlimited" characters in TTS speak.
            Text is split in sentences which are afterwards
            merged with sox. Same sentences are downloaded
            only once a month to reduce requests to Google.
- BUGFIX:  TTS: use last character of the sentence for translate (e.g. ?, !)
- BUGFIX:  TTS: support pause/stop after speak if previous state was paused/stopped
- BUGFIX:  TTS: restore last played item also when in standby
- BUGFIX:  TTS: fix resume after speak when spotify running
- BUGFIX:  TTS: fix speakChannel for spotify presets
- BUGFIX:  TTS: use pause on TTS instead of stop to allow proper resume
- BUGFIX:  TTS: improved check after TTS play to restore previous state
- BUGFIX:  fix save spotify to channel_7-20
- BUGFIX:  fix list of arguments
- FEATURE: add $readingFnAttributes
- FEATURE: add playPause toggle command
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 21 Januar 2017, 12:18:53
Hallo Dominik,

grundsätzlich läuft dein tolles Modul nun bei mir, das Problem mit dem minidlna habe ich dank diesem super Forum lösen können.

Aber zu deinem neuen Modul,

ich habe es testweise installiert, zuvor die module sox libsox-fmt-mp3 hinzugefügt. Allerdings ist mit dem neuen Modul bei mir Stille bezgl. TTS.  Wenn ich das alte wieder verwende geht es problemlos. 
Malc

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2017, 12:27:47
Danke für das Feedback. Kannst du bitte ein Log mit verbose=5 posten?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 21 Januar 2017, 13:41:07
Hallo Dominik,

ich habe das im Eventmonitor erwischt:

Zitat2017.01.21 13:36:43 3 : BOSEST: failed: 500 Internal Server Error
2017-01-21 13:36:43 BOSEST Bose.EZ speak "Dies ist ein Test" +40 de
2017.01.21 13:36:43 5 : BOSEST: Bose.EZ, received message.
2017.01.21 13:36:43 5 : BOSEST: processXml: $VAR1 = { 'updates' => { 'volumeUpdated' => { 'volume' => { 'actualvolume' => '100', 'muteenabled' => 'false', 'targetvolume' => '100' } }, 'deviceID' => '08DF1F075D48' } };
2017-01-21 13:36:43 BOSEST Bose.EZ volume: 100


Im Logfile finde ich dazu leider nichts, den Verboselevel habe ich definiert "attr Bose.EZ verbose 5"

Malc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2017, 15:12:50
Kannst du mal shutdown restart machen und dann nochmals das Log posten?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 21 Januar 2017, 15:51:01
Hallo Dominik,


Das ist der Bereich in dem Moment der beabsichtigen Ausgabe:

Zitat
2017.01.21 15:41:44 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'clockDisplay' => {
                            'clockConfig' => {
                                             'userOffsetMinute' => '0',
                                             'userEnable' => 'true',
                                             'userUtcTime' => '0',
                                             'brightnessLevel' => '70',
                                             'timezoneInfo' => 'Europe/Berlin',
                                             'timeFormat' => 'TIME_FORMAT_24HOUR_ID'
                                           }
                          }
        };

2017.01.21 15:41:44 5: BOSEST: Bose.EZ, start WebSocket connection.
2017.01.21 15:41:44 4: BOSEST: Bose.EZ, WebSocket connected.
2017.01.21 15:41:44 5: BOSEST: Callback called
2017.01.21 15:41:44 3: BOSEST: Bose.FL, WebSocket connection succeed.
2017.01.21 15:41:44 3: BOSEST: Bose.WZ, WebSocket connection succeed.
2017.01.21 15:41:45 5: BOSEST: Callback called
2017.01.21 15:41:45 3: BOSEST: Bose.BA, WebSocket connection succeed.
2017.01.21 15:41:45 5: BOSEST: Callback called
2017.01.21 15:41:45 3: BOSEST: Bose.EZ, WebSocket connection succeed.
2017.01.21 15:41:53 5: BOSEST: File /var/lib/minidlna/v1_c57b9ba51a1f467b8ebd6f32d4db6521.mp3 found. No new download required.
2017.01.21 15:41:53 4: BOSEST: playMessage v1_c57b9ba51a1f467b8ebd6f32d4db6521, +40, 0
2017.01.21 15:41:53 4: BOSEST: set /key => <key state="press" sender="Gabbo">PAUSE</key>
2017.01.21 15:41:54 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2017.01.21 15:41:54 4: BOSEST: set /key => <key state="release" sender="Gabbo">PAUSE</key>
2017.01.21 15:41:54 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2017.01.21 15:41:54 4: BOSEST: set /volume => <volume>120</volume>
2017.01.21 15:41:54 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2017.01.21 15:41:54 4: BOSEST: Search for v1_c57b9ba51a1f467b8ebd6f32d4db6521 on STORED_MUSIC
2017.01.21 15:41:54 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebe651a9/0"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">v1_c57b9ba51a1f467b8ebd6f32d4db6521</searchTerm></search>
2017.01.21 15:41:54 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><searchResponse source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebe651a9/0"><totalItems>0</totalItems></searchResponse>
2017.01.21 15:41:54 4: BOSEST: Search for v1_c57b9ba51a1f467b8ebd6f32d4db6521 on STORED_MUSIC
2017.01.21 15:41:54 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="2f402f80-da50-11e1-9b23-0017882c468b/0"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">v1_c57b9ba51a1f467b8ebd6f32d4db6521</searchTerm></search>
2017.01.21 15:41:54 3: BOSEST: failed: 500 Internal Server Error
2017.01.21 15:41:54 5: BOSEST: Bose.EZ, received message.
2017.01.21 15:41:54 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '08DF1F075D48',
                       'volumeUpdated' => {
                                          'volume' => {
                                                      'actualvolume' => '100',
                                                      'muteenabled' => 'false',
                                                      'targetvolume' => '100'
                                                    }
                                        }
                     }
        };

2017.01.21 15:41:58 5: BOSEST: Bose.FL, received message.
2017.01.21 15:41:58 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'connectionStateUpdated' => {},
                       'deviceID' => '04A316D8BED2'
                     }
        };
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 21 Januar 2017, 22:52:07
Kannst du das wiederholt reproduzieren, dass es mit der alten Version funktioniert? Den 500er Internal Server Error hatte ich nämlich auch schon mal und bin schon länger auf der Suche woran das liegt. Wenn es bei dir nun wirklich mit der alten Version geht und mit der neuen nicht, dann könnte ich den Fehler schon mal gut eingrenzen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 21 Januar 2017, 22:55:44
Ja, das ist reproduzierbar.

Allerdings läuft meine Installation im ganzen zur Zeit nicht sauber, der aktuelle Stand ist meine Probierversion. Ich werde das morgen mit einer frischen Installation testen.

Feedback folgt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dagobertddo am 21 Januar 2017, 23:17:32
@dominik: Ich habe gerade mein Sonos-System durch die Soundbar 300 ersetzt. Ich habe die Sprachausgabe zur Bedienung der Alarmanlage bisher super nutzen können. Allerdings klappt die Syntax zum Speak leider nicht aus deinem Modul. Daher habe ich eine weitere Funktion speak2 ergänzt, die die Sprachausgabe analog der Sonos interpretiert. Und zwar so:

set  BOSE_5065833FA4CF speak2 40 de Die Alarmanlage ist in 30 Sekunden scharf

Hier ist das Teilfragment. Könntest du es ggf. übernehmen oder dein modul entsprechend anpassen?

elsif($workType eq "speak2") {
        my $volume = $params[0];
            my $language = $params[1];
        my $text = $params[2];
               for(my $i = 3; $i < @params; $i++) {
                  $text .= ','.$params[$i];
               }
               $text =~ s/^ *(.*) *$/$1/g;
        return "BOSEST: speak maximum text length is 100 characters" if(length($text)>100);
       
        BOSEST_speak($hash, $text,$volume, $language, 1);
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dagobertddo am 21 Januar 2017, 23:19:54
Und ich habe gleich noch eine Frage: Nutzt jemand das Modul mit der Soundbar300? ich möchte gerne über das interface den Eingangskanal auf den HDMI Eingang setzten. Allerdings weiß ich nicht wie, da es mir auch nicht in den Daten zu den Sources angezeigt wird. kann jemand helfen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 22 Januar 2017, 02:06:14
@Malc, kannst du mal folgende Zeile ändern:
'"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">'.
nach
'"><startItem>1</startItem><numItems>1</numItems><searchTerm filter="track">'.

Scheint so als ob die Bose Box die 2 Suchanfragen hintereinander nicht handhaben kann. Eventuell funktioniert es wenn die Suche wie oben auf einen Rückgabewert beschränkt wird.

@dagobertddo, wieso nutzt du nicht einfach:
set  BOSE_5065833FA4CF speak "Die Alarmanlage ist in 30 Sekunden scharf" de 40

Ich habe es deswegen anders wie bei Sonos gemacht, weil es meiner Ansicht nach keinen Sinn macht andauernd Sprache und Lautstärke als Parameter mitzugeben.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 23 Januar 2017, 22:06:17
Ich habe auf dem neu aufgesetztem TestPi ganz merkwürdige Effekte:

Testausgabe "Dies ist ein Test" funktioniert

Zitat
2017-01-23 22:02:10 BOSEST Bose.EZ speak "Dies ist ein Test"
2017-01-23 22:02:11 BOSEST Bose.EZ volume: 70
2017-01-23 22:02:11 BOSEST Bose.EZ source: STORED_MUSIC
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemSource:
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemIsPresetable:
2017-01-23 22:02:11 BOSEST Bose.EZ track: c57b9ba51a1f467b8ebd6f32d4db6521
2017-01-23 22:02:11 BOSEST Bose.EZ timeTotal: 2
2017-01-23 22:02:11 BOSEST Bose.EZ artStatus: SHOW_DEFAULT_IMAGE
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemItemName: c57b9ba51a1f467b8ebd6f32d4db6521
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemLocation: 64$3 TRACK
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemSourceAccount: 4d696e69-444c-164e-9d41-b827ebe651a9/0
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemSource: STORED_MUSIC
2017-01-23 22:02:11 BOSEST Bose.EZ contentItemIsPresetable: true
2017-01-23 22:02:12 BOSEST Bose.EZ playStatus: BUFFERING_STATE
2017-01-23 22:02:12 BOSEST Bose.EZ shuffle: SHUFFLE_OFF
2017-01-23 22:02:12 BOSEST Bose.EZ repeat: REPEAT_OFF
2017-01-23 22:02:12 BOSEST Bose.EZ buffering
2017-01-23 22:02:14 BOSEST Bose.EZ playStatus: PLAY_STATE
2017-01-23 22:02:14 BOSEST Bose.EZ playing
2017-01-23 22:02:15 BOSEST Bose.EZ playStatus: STOP_STATE
2017-01-23 22:02:15 BOSEST Bose.EZ stopped
2017-01-23 22:02:16 BOSEST Bose.EZ track:
2017-01-23 22:02:16 BOSEST Bose.EZ source: INVALID_SOURCE
2017-01-23 22:02:16 BOSEST Bose.EZ playStatus:
2017-01-23 22:02:16 BOSEST Bose.EZ shuffle:
2017-01-23 22:02:16 BOSEST Bose.EZ repeat:
2017-01-23 22:02:16 BOSEST Bose.EZ timeTotal:
2017-01-23 22:02:16 BOSEST Bose.EZ artStatus:
2017-01-23 22:02:16 BOSEST Bose.EZ contentItemItemName:
2017-01-23 22:02:16 BOSEST Bose.EZ contentItemLocation:
2017-01-23 22:02:16 BOSEST Bose.EZ contentItemSourceAccount:
2017-01-23 22:02:16 BOSEST Bose.EZ contentItemSource: INVALID_SOURCE
2017-01-23 22:02:16 BOSEST Bose.EZ volume: 100
2017-01-23 22:02:16 BOSEST Bose.EZ source: STANDBY
2017-01-23 22:02:16 BOSEST Bose.EZ contentItemSource: STANDBY
2017-01-23 22:02:16 BOSEST Bose.EZ online



Testausgabe "Dies ist kein Test" funktioniert
Nur ein Buchstaben anders "kein" statt "ein".


Und nichts passiert


Zitat
2017-01-23 22:02:21 BOSEST Bose.EZ speak "Dies ist kein Test"

Im Log steht nur:

Zitat
2017.01.23 21:59:18 3: BOSEST: Bose, Can't HTTP GET as long as IP is unknown.
2017.01.23 21:59:39 3: BOSEST: failed: 500 Internal Server Error

2017.01.23 22:02:22 3: BOSEST: failed: 500 Internal Server Error

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 23 Januar 2017, 22:07:49
Zitat von: dominik am 22 Januar 2017, 02:06:14
@Malc, kannst du mal folgende Zeile ändern:
'"><startItem>1</startItem><numItems>100</numItems><searchTerm filter="track">'.
nach
'"><startItem>1</startItem><numItems>1</numItems><searchTerm filter="track">'.

Scheint so als ob die Bose Box die 2 Suchanfragen hintereinander nicht handhaben kann. Eventuell funktioniert es wenn die Suche wie oben auf einen Rückgabewert beschränkt wird.


Hallo Dominik,
ich bin noch nicht so fit in der FHEM Welt, wo muss ich das ändern?

Malc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dagobertddo am 23 Januar 2017, 22:15:33
Zitat von: dominik am 22 Januar 2017, 02:06:14


@dagobertddo, wieso nutzt du nicht einfach:
set  BOSE_5065833FA4CF speak "Die Alarmanlage ist in 30 Sekunden scharf" de 40

Ich habe es deswegen anders wie bei Sonos gemacht, weil es meiner Ansicht nach keinen Sinn macht andauernd Sprache und Lautstärke als Parameter mitzugeben.

Hallo Dominik, das sind ganz praktische Gründe. Ich kann aus dem Modul Alarmanlage keinen Text in Anführungsstrichen übergeben. Oder weiß nicht wie es funktionieren kann.
Hast du vielleicht auch noch eine Aussage zur Soundtouch300


Gesendet von iPhone mit Tapatalk
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Januar 2017, 19:34:03
Funktioniert es auch nicht mit \" im Alarmanlage Modul? Ansonsten {fhem('set name speak "asdf"');} mal probieren.

Bzgl. HDMI umschalten, poste mir mal bitte dein http://IP-BOSE:8090/sources File. Wenn dort HDMI enthalten ist, dann ist da vielleicht was möglich.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Januar 2017, 19:38:20
@Malc, probier bitte mal die Version anbei.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dagobertddo am 24 Januar 2017, 21:31:08
Zitat von: dominik am 24 Januar 2017, 19:34:03
Funktioniert es auch nicht mit \" im Alarmanlage Modul? Ansonsten {fhem('set name speak "asdf"');} mal probieren.

Bzgl. HDMI umschalten, poste mir mal bitte dein http://IP-BOSE:8090/sources File. Wenn dort HDMI enthalten ist, dann ist da vielleicht was möglich.

Deine Varianten funktionieren leider nicht. Egal wie ich die Anführungszeichen darstelle, ab dem ersten Anführungszeichen wird der Text komplett entfernt.

Zum HDMI: Leider nein, da hatte ich auch vorher schon nach geschaut. Es existieren nur
(https://uploads.tapatalk-cdn.com/20170124/854bf258b85c66620a2dff31c68af32a.jpg)

Sorry für das Foto :-) Auf dem Handy sehe ich aktuell keine sauberen Ergebnisse.


Gesendet von iPhone mit Tapatalk
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 24 Januar 2017, 21:39:23
Du kannst das gerne an SoundTouchAPI@bose.com in einer englischen Mail als Feature Request schicken. Die Antworten normal schnell ob da was geplant ist.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 25 Januar 2017, 19:27:20
So langsam fehlt mir die Motivation, wie oft ich das schon erneut installiert habe mag ich schon nicht mehr sagen. Das Projekt minidlna will einfach nicht laufen. Entweder bin ich dermaßen schusselig oder aber ich mache einen Systemfehler.

Fakt: Ich bekomme keinen stabilen minidlna ans laufen. Kaum nutze ich BOSEST / TTS und schon ist der mindlna wieder gestoppt. Ich hab echt keine Idee mehr :-(




Zitat von: Masterciw am 19 Januar 2017, 00:13:26
@ Malc: Die Installation des Minidlna wie am Anfang des Threads beschrieben hat bei mir ebenfalls nicht
funktioniert. Versuche mal den Minidlna aus dem Package Repositories zu installieren.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 25 Januar 2017, 19:41:08
Zitat von: dominik am 24 Januar 2017, 19:38:20
@Malc, probier bitte mal die Version anbei.

Hallo Dominik, ich habe die Version probiert und nun kommt gar keine Sprachausgabe mehr.
Zitat
2017.01.25 19:39:25 5: BOSEST: File /var/lib/minidlna/v1_c57b9ba51a1f467b8ebd6f32d4db6521.mp3 found. No new download required.
2017.01.25 19:39:25 4: BOSEST: playMessage v1_c57b9ba51a1f467b8ebd6f32d4db6521, +40, 0
2017.01.25 19:39:25 4: BOSEST: set /key => <key state="press" sender="Gabbo">PAUSE</key>
2017.01.25 19:39:25 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2017.01.25 19:39:25 4: BOSEST: set /key => <key state="release" sender="Gabbo">PAUSE</key>
2017.01.25 19:39:25 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/key</status>
2017.01.25 19:39:25 4: BOSEST: set /volume => <volume>140</volume>
2017.01.25 19:39:25 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/volume</status>
2017.01.25 19:39:25 4: BOSEST: Search for v1_c57b9ba51a1f467b8ebd6f32d4db6521 on 4d696e69-444c-164e-9d41-b827ebe651a9/0
2017.01.25 19:39:25 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebe651a9/0"><startItem>1</startItem><numItems>1</numItems><searchTerm filter="track">v1_c57b9ba51a1f467b8ebd6f32d4db6521</searchTerm></search>
2017.01.25 19:39:26 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><searchResponse source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827ebe651a9/0"><totalItems>0</totalItems></searchResponse>
2017.01.25 19:39:26 4: BOSEST: Search for v1_c57b9ba51a1f467b8ebd6f32d4db6521 on 2f402f80-da50-11e1-9b23-0017882c468b/0
2017.01.25 19:39:26 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="2f402f80-da50-11e1-9b23-0017882c468b/0"><startItem>1</startItem><numItems>1</numItems><searchTerm filter="track">v1_c57b9ba51a1f467b8ebd6f32d4db6521</searchTerm></search>
2017.01.25 19:39:26 3: BOSEST: failed: 500 Internal Server Error
2017.01.25 19:39:26 4: BOSEST: Search for v1_c57b9ba51a1f467b8ebd6f32d4db6521 on 4d696e69-444c-164e-9d41-b827eb3a53df/0
2017.01.25 19:39:26 4: BOSEST: set /search => <search source="STORED_MUSIC" sourceAccount="4d696e69-444c-164e-9d41-b827eb3a53df/0"><startItem>1</startItem><numItems>1</numItems><searchTerm filter="track">v1_c57b9ba51a1f467b8ebd6f32d4db6521</searchTerm></search>
2017.01.25 19:39:26 3: BOSEST: failed: 500 Internal Server Error
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 25 Januar 2017, 21:18:48
@Malc, entferne bitte mal bis auf den minidlna Server alle anderen DLNA Server aus der Bose App.

//Update: Anbei mal meine minidlnad Binary. Vielleicht läuft die ja bei dir.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 26 Januar 2017, 10:54:47
@malc
Habe auch ewig gebraucht es hinzukriegen und mein minidlna ist auch immer bei Zugriff abgestürzt.

Nochmal zusammengefaßt was ich gemacht habe
http://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/
Hattest du selbst geposted danke dafür hat mich auf den richtigen weg gebracht. Es ging bei mir nur damit nicht mit dem fertigen Paket und auch nicht wie im ersten Post beschrieben.

Zusammengefasst habe ich folgende Pakete für das Modul dazu installiert

apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl libdigest-perl-md5-perl liburi-escape-xs-perl


Ordner Rechte:

/Daten
          /TTS                            rwxrwxrwx             minidlna minidlna
                /speach                  rwxrwsrwx             minidlna minidlna
     
MP3 Dateien kriegen somit folgende Rechte:   rw-r--r--   fhem minidlna   (User fhem group minidlna)

chmod g+s speach



usermod -a -G minidlna fhem

Die Rechte/Gruppen habe ich bei mir so gesetzt um eventuell den Zugriff für alle wegnehmen zu können. Auf jeden Fall braucht fhem Schreibrechte und minidlna Leserechte.


minidlna.conf


port=8200
media_dir=/Daten/TTS/speach
friendly_name=minidlna
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1



In fhem ist nur

ttsDirectory                   /Daten/TTS/speach

ttsLanguage     de
                   
ttsVolume        25

gesetzt.
Ganz wichtig ttsDLNAserver nicht setzen sonst hat es bei mir nicht funktioniert.

Hoffe ich habe nichts vergessen.

Gruß
Eisix

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 27 Januar 2017, 15:27:09
Hallo,

hat jemand schon festgestellt, das eine laufende BoseSoundtouchbox im TabletUi nicht als solches dargestellt wird.
Zumindest ist es bei mir so.
Ich kann die BStBox per TabletUi ein/ausschalten usw.
Allerdings wird bei Aufruf der entsprechenden Seite per Longpoll oder poll eine bereits engeschaltet BStBox nicht als EIN angezeigt.
Da ich mehrere habe, würde ich jedoch gerne sehen welche EIN bzw. AUS sind.
Wenn es bei Anderen funktioniert würde ich mich über einen Auszug vom HTML-Code als Bsp. und zum Vergleich freuen.
Allen ansonsten ein schönes Wochenende.

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: StofLE am 04 Februar 2017, 22:08:11
Zitat von: dominik am 24 Januar 2017, 21:39:23
Du kannst das gerne an SoundTouchAPI@bose.com in einer englischen Mail als Feature Request schicken. Die Antworten normal schnell ob da was geplant ist.

Das ist ne gute Idee. Werde wohl (morgen) auch mal hinschreiben. Zusätzlich zu HDMI als Source bräuchte ich bei meiner Lifestyle650 auch noch TV als Quelle.

Stefan
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 04 Februar 2017, 22:40:58
Hy habe eine soundtouch 520 und im Tablet UI sehe ich die nur als on,  wenn ich Bluetooth oder Online Dienste nutze.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 Februar 2017, 15:54:03
Hallo,

hat jemand eine Bedienoberfläche für TabletUI umgesetzt, vergleichbar mit der MPD-Lösung oder wie macht Ihr das?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 06 Februar 2017, 20:46:54
Ich kann morgen mal meine Einträge posten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 07 Februar 2017, 21:14:04
Hallo Gasmast3r,

gerne. Ich würde es gerne mit meinen Html-code vergleichen. z.B. auch die Preset-Auswahl der 6-Speichertasten.
z.B. Interessiert mich auch das Verhalten im Standby oder bei komplett AUS (Spg-frei). Habe Soundtou. 30 u.20 per LAN, 10 per Wlan und diesen neueren WLAN-Adapter (der leider keine LAN bietet)
Aktuell kann ich die Geräte Aus/Ein-schalten (wobei das Icon nicht den aktuellen Status zeigt, wenn die Geräte zuvor an sind), die Lautstärke lässt sich Problemlos regeln und per Drop-Down kann ich die Presets wählen - wobei hierbei die Sendernamen nicht angezeigt werden sondern nur die Zahlen 1,2,3-6.
Weiter wir das Sendericon angezeigt, das allerdings nach dem Ausgeschalten erhalten bleibt...

Von Multiroom bzw. zurück würde ich auch gerne starten können. Das habe ich aber noch gar nicht probiert.

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 07 Februar 2017, 21:24:31
Hallo,

Vielleicht sollte jeder mal seinen Stand posten.
Senderlogo habe ich gelöst. Sender presets habe ich im dropdown. Sendernamen aktualisieren automatisch. Playlist bin ich gerade am schauen. Gibt ein neues Modul ist allerdings nur für sonos und MPD.
Poste morgen mal meinen Stand.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 07 Februar 2017, 22:16:56
Sieht bis jetzt so aus
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 07 Februar 2017, 23:50:37
Hi,

bei mir sieht es z.Z so aus.
(Bin nicht zuhause aber habe für das Testsystem eine Soundt. mitgenommen. D.h. wird hier auch nur die Eine angezeigt)
Das Dropdown ist eine Festeingabe im HTML des Frontends (Tabletui). Wird somit nicht aus der Soundtouch gelesen!....und funktioniert somit auch nicht! Der angezeigten Name kommt aus der Box !
Schön zu erkennen, das die Box an ist (Senderlogo wird angezeigt) allerdings der Playbutton  eine anders hinterlegten Farben (invertiert) haben müsste.

Gruß Jörg
(PS: Ich hoffe das Bild ist korrekt angefügt )
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 08 Februar 2017, 10:05:36
Hallo,

zu den Sendernamen:
In fhem

define Senderliste_Bose dummy


define FTUI_Senderliste notify BOSE:channel.* set Senderliste_Bose [BOSE:channel_01]:[BOSE:channel_02]:[BOSE:channel_03]:[BOSE:channel_04]:[BOSE:channel_05]:[BOSE:channel_06]:[BOSE:channel_07]:[BOSE:channel_08]:[BOSE:channel_09]:[BOSE:channel_10]:[BOSE:channel_11]:[BOSE:channel_12]


In FTUI

                <div data-type="select" data-device="BOSE" data-items='["1","2","3","4","5","6","7","8","9","10","11","12"]' data-alias='Senderliste_Bose:state' data-set="channel " class="newline wider" ></div>

Das ist für die channel's bis 12 kann halt bis 20 erweitert werden.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 08 Februar 2017, 21:47:15
Hi zusammen,
mein aktueller Status. Siehe Bilder.
Ein zwei Dinge die mich noch stören:
Wenn der Text aus Titel/Interpret/Album zu lang wird gibt es einen Zeilenumbruch d.h. die Höhe genügt dann nicht mehr.
Wenn alles Songs eines Albums abgespielt sind lässt sich dies nicht mehr abspielen.
.... und noch das eine oder andere .......

@Eisix,
wie belegst du die Channels?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 08 Februar 2017, 22:23:49
@kaputt
Schick mal deinen html Code.
Was meinst du mit Channel belegen? Meinst du die höher Channel6? Einfach save Channel.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 08 Februar 2017, 22:56:03
Hi zusammen,

@Eisix: Dein Code funktioniert soweit.  Ich habe nur noch: data-set="channel" hinzugefügt. Dann wir das im Drop-Down auch angezeigt.
Und in meinem Fall benötige ich für jede Box einen Dummy .. also jeweils um ein Kürzel ergänzt.

Allerdings füllen sich die channels ab channel_7 ..Also _8 nicht. Diese gibt es auch nicht im normalen fhem-frontend.
Mein aktueller Code:<table>
<tr>
        <td width="120px;">
                <div data-type="image" data-device="BOSE_000Cxyz" data-get="art" data-size="50%"></div>
                <div data-type="label" data-device="BOSE_000Cxyz" data-get="contentItemItemName" class="small"></div>
        </td>
        <td width="60px;">
                <div data-type="switch"
                        data-device="BOSE_xyz"
                        data-get-on='["playing","online","buffering"]'
                        data-on-colors='["#E6FF57","gray","blue"]'
                        data-get-off="offline"
                        data-off-colors="#A6BF17"
                        data-set-on="on"
                        data-set-off="off"
                        data-icon="fa-play"
                        class="cell">
                </div>
                <div data-type="label" data-device="BOSE_000xyz" data-get="state"></div>
        </td>
        <td width="40px;">
                <div data-type="volume"
                        data-device="BOSE_000xyz"
                        data-get="volume"
                        data-set="volume"
                        data-min="0"
                        data-max="85"
                        data-tickstep="10"
                        class="hue-tick">
                </div>
        </td>
</tr>
</table>
<table width="100%">
<tr>
        <td>
                <div data-type="select"
                        data-device="BOSE_000xyz"
                        data-items='["1","2","3","4","5","6","7","8","9","10","11","12"]'
                        data-alias='Senderliste_Bose_SZ:state'
                        data-set="channel"
                        data-get="channel"
                         class="cell w2x">
                </div>
        </td>
        <td>
                <div data-type="select"
                        data-device="BoseGroups"
                        data-alias='["getrennt","verbunden"]'
                        data-items='["[BOSE_xccc], [BOSE_yxccc]","[BOSE_000vvv, BOSE_000xyz]"]'
                        date-get=""
                        data-set=""
                        class="cell w2x">
                </div>
        </td>

</tr>
</table>


Ich versuche immer noch die "states" korrekt darzustellen.  Wenn ich die ST-Box komplett ausschalte (Strom los) kommen keine "state-Werte" mehr.
Das ist wahrscheinlich eher etwas was im 98_Bose.pm-Modul gelöst werden kann.
Dies per ping oder nmap zu lösen ist eher eine Krücke !

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 09 Februar 2017, 00:02:20
@treibhaus
data-set ist doch auch in meinem post drin !?!

Die Channels werden nur gesetzt wenn sich ein channel ändert. Setzt mal mit der app oder per presst taster einen Sender neu.
Bzgl States: offline ist der Status bei stromlos wird korrekt angezeigt vom Modul.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 10 Februar 2017, 00:10:11
Hi Eisix,
hier der Code<li class="semitransparent" data-row="1" data-col="7" data-sizex="34" data-sizey="15">
<header><div data-type="label" class="white large">Bose SoundTouch Bad</div></header>
<div>
<div class="inline"><div data-type="image" data-device="BoseBad" data-get="art" data-height="80" data-width="80"></div></div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-states='["On","Off"]' data-background-colors='["#ff0000","#00ff00"]' data-fhem-on="set BoseBad on" data-fhem-off="set BoseBad off" data-icon="fa-power-off"></div>Power</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='mute'    data-states='["true","false"]'            data-background-colors='["#ff0000","#00ff00"]' data-set-on="mute on" data-set-off="mute off" data-icon="oa-audio_volume_mute"></div>Mute</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='shuffle' data-states='["SHUFFLE_ON","SHUFFLE_OFF"]'data-background-colors='["#ff0000","#00ff00"]' data-set-on="shuffle on" data-set-off="shuffle off" data-icon="fa-random"></div>Shuffle</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='repeat'   data-states='["REPEAT_ONE","REPEAT_ALL","REPEAT_OFF"]'   data-background-colors='["#ff0000","orange","#00ff00"]' data-set-on="repeat one" data-set-off="repeat off" data-icon="fa-repeat"></div>Repeat</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='state'   data-states='["paused","","playing"]'     data-background-colors='["#ff0000","gray","#00ff00"]' data-set-on="pause on" data-set-off="play" data-icon="fa-stop"></div>Pause</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='state'   data-states='["paused","","playing"]'     data-background-colors='["#ff0000","gray","#00ff00"]' data-set-on="prevTrack" data-set-off="" data-icon="fa-step-backward"></div>Prev</div>
<div class="inline"><div data-type="switch" data-device="BoseBad" data-get='state'   data-states='["paused","","playing"]'     data-background-colors='["#ff0000","gray","#00ff00"]' data-set-on="nextTrack" data-set-off="" data-icon="fa-step-forward"></div>Next</div>
</div>
<div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="stationName"        class=""></div></div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="stationLocation"    class=""></div></div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="artist"             class=""></div></div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="album"              class=""></div></div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="track"              class=""></div></div>
<div class="inline"><div data-type="slider" data-get="volume" data-set="volume" data-width="200" data-height="10" data-color="red" data-background-color="green" data-device='BoseBad' data-min="0" data-max="100" class="top-space centered horizontal"></div></div>
<div class="inline"><div data-type="label" data-device="BoseBad" data-get="volume"             class=""></div></div>
</div>
<div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 1" data-on-background-color="yellow" data-off-background-color="yellow" data-icon="oa-audio_sound"></div>SWR 3</div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 2" data-on-background-color="cyan"   data-off-background-color="cyan"   data-icon="oa-audio_sound"></div>Dos Bros</div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 3" data-on-background-color="gray"   data-off-background-color="gray"   data-icon="oa-audio_sound"></div>Rock or Dust</div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 4" data-on-background-color="orange" data-off-background-color="orange" data-icon="oa-audio_sound"></div>A Bigger Bang</div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 5" data-on-background-color="pink"   data-off-background-color="pink"   data-icon="oa-audio_sound"></div>Eloy</div>
<div class="inline"><div data-type="push" data-device="BoseBad" data-get="channel" data-set-on="channel 6" data-on-background-color="black"  data-off-background-color="black"  data-icon="oa-audio_sound"></div>Willy de Ville</div>
</div>
</li>

Das mit save Channel war mir schon klar nur wie definiere ich was ich save? Z.B. eine Adresse von meinem DLNA Server?
Übrigens der Code ist alles andere als fertig da muss ich noch mal mit dem Besen drüber :-)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Februar 2017, 00:23:48
@kaputt
Um z.B. einen Ordner vom DLNA Server oder eine Playlist einzufügen mußt du in der Handyapp den DLNA Server hinzufügen und dann den Ordner oder die Playlist auf einen der 6 Channels ziehen. Dann schaltest du darauf und führst in Fhem z.B. "saveChannel 20" aus. So kannst du dann nach und nach alle belegen. Als DLNA kann ich dir nur minidlna oder Plex empfehlen. UMS ändert irgendwie beim Neustart die ID und wird dann nicht mehr gefunden.

Gruß
Eisix
Titel: BOSE SoundTouch / MiniDlna
Beitrag von: Malc am 10 Februar 2017, 11:31:43
Hallo zusammen.
Nun habe ich en minidlna doch noch recht stabil zum laufen bekommen. Auf jeden Fall war es ein Rechteproblem, ich  habe viel experimentiert und werde das aber mal versuchen mit dem Testsystem auch noch zu machen um den "Schlüssel" hier zu schreiben.

Eine kleine Unschärfe habe ich bemerkt, noch kann ich nicht erkennen ob es an mir liegt.
Wenn ich mal alles reden lassen will:

set Bose.* speak "Hurra, es redet!" 50 de


Erhalte ich diese Warnung:


Zitat
BOSEST: Please set ttsDirectory attribute first.
                            FHEM user needs permissions to write to that directory.
                            It is also recommended to set ttsLanguage (default: en).

Meine Config sieht aktuell so aus:


define BoseSystem BOSEST
attr BoseSystem userattr autoAddDLNAServers staticIPs
attr BoseSystem alias Bose System Modul BOSEST
attr BoseSystem icon audio_fade
attr BoseSystem room Bose
attr BoseSystem sortby 0

define Bose.WZ BOSEST 506583*****
attr Bose.WZ userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.WZ alias Wohnzimmer
attr Bose.WZ fp_Floor 211,986,2,Bose.WZ,
attr Bose.WZ icon audio_sound
attr Bose.WZ room Bose
attr Bose.WZ sortby 1
attr Bose.WZ ttsDirectory /var/lib/minidlna
attr Bose.WZ ttsLanguage de
attr Bose.WZ ttsVolume +20

define Bose.EZ BOSEST 08DF1F****
attr Bose.EZ userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.EZ alias Esszimmer
attr Bose.EZ fp_Floor 325,886,2,Bose.EZ,
attr Bose.EZ icon audio_sound
attr Bose.EZ room Bose
attr Bose.EZ sortby 2
attr Bose.EZ ttsDirectory /var/lib/minidlna
attr Bose.EZ ttsLanguage de
attr Bose.EZ ttsVolume +20

define Bose.KU BOSEST 506583*****
attr Bose.KU userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.KU alias Küche
attr Bose.KU fp_Floor 403,744,2,Bose.KU,
attr Bose.KU icon audio_sound
attr Bose.KU room Bose
attr Bose.KU sortby 3
attr Bose.KU ttsDirectory /var/lib/minidlna
attr Bose.KU ttsLanguage de


define Bose.FL BOSEST 04A316******
attr Bose.FL userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.FL alias Flur
attr Bose.FL fp_Floor 293,1052,2,Bose.FL,
attr Bose.FL icon audio_sound
attr Bose.FL room Bose
attr Bose.FL sortby 4
attr Bose.FL ttsDirectory /var/lib/minidlna
attr Bose.FL ttsLanguage de
attr Bose.FL ttsVolume +20


define Bose.BA BOSEST 04A31****
attr Bose.BA userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.BA alias Bad
attr Bose.BA fp_Floor 157,1155,2,Bose.BA,
attr Bose.BA icon audio_sound
attr Bose.BA room Bose
attr Bose.BA sortby 5
attr Bose.BA ttsDirectory /var/lib/minidlna
attr Bose.BA ttsLanguage de
attr Bose.BA ttsVolume +20


define Bose.SZ BOSEST 50658******
attr Bose.SZ userattr autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDLNAServer ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
attr Bose.SZ alias Schlafzimmer
attr Bose.SZ fp_Floor 73,1233,2,Bose.SZ,
attr Bose.SZ icon audio_sound
attr Bose.SZ room Bose
attr Bose.SZ sortby 6
attr Bose.SZ ttsDirectory /var/lib/minidlna
attr Bose.SZ ttsLanguage de
attr Bose.SZ ttsVolume +20



Habe ich da mal wieder Obst vor den Augen?

Malc


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 10 Februar 2017, 12:31:34
entweder das Verzeichnis existiert nicht und/oder die Zugriffsrechte passen nicht und die Default Language ist wohl nicht gesetzt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 11 Februar 2017, 00:30:27
Zitat von: kaputt am 10 Februar 2017, 12:31:34
entweder das Verzeichnis existiert nicht und/oder die Zugriffsrechte passen nicht und die Default Language ist wohl nicht gesetzt.

Wie in der beigefügten Config zu entnehmen ist habe ich die Sprache gesetzt habe. Es wird auch der Text gesendet, nur eben erhalte ich die Meldung. Das habe ich wohl nicht geschrieben. Die Meldjng kommt nur wenn ich mittels * mehrere Geräte anspreche. Einzeln genutzt kommt keine Meldung.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 11 Februar 2017, 17:32:05

        <div data-type="label" class="cell">BOSE</div>
        <div data-type="switch" data-device="BOSE_50722498B361" data-icon="fa-music" data-get="state" data-get-on="playing" data-get-off="online" data-set="power"></div>
        <div data-type="select" data-device="BOSE_50722498B361" data-items='["1","2","3","4","5","6"]' data-get="channel" data-set="channel" class="top-space-1x"></div>



  <div data-type="volume" data-device='BOSE_50722498B361' class="small" data-set="volume" data-get="volume" ></div>
  <div data-type="label" class="cell">Volume</div>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: ukobusch am 11 Februar 2017, 18:31:01
Hallo zusammen,

nach diversem Experimentieren mit Hilf meines "fundierten Nichtwissens" komme ich nun nicht mehr weiter.  :(
Die Integration meiner beiden Soundtouch (10,20) hat super und völlig problemlos geklappt. Danke an @Dominik. Das Modul ist einfach nur geil. ;)
Nun kam ich auf den Gedanken, minidlna zu installieren, um Sprachausgabe zu realisieren. Da habe ich heute soviel mit rumgespielt, dass ich mein System inzwischen bestimmt "verkorkst" habe. und erkannt wird minidlna leider nicht. Aber die wichtigen Dinge funktionieren weiter. :)
Eigentlich möchte ich nur einzelne MP3-Dateien (Alarm, Waschmaschine fertig, etc.) ausgeben, die als mp3-Dateien vorliegen. Brauche ich dazu wirklich Minidlna? Oder kann ich auch meinen AVM_Fritz!Medienserver oder mein OSMC nutzen, die beide in der App sichtbar sind?
Ich weiß nicht, wie ich BoseST sagen kann, dass es mit playTrack genau die mp3 abspielt, die genau dort auf dem osmc-Server liegt.

Kann mir diesbezüglich jemand helfen? Gruß Ulli

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 13 Februar 2017, 16:29:42
Hallo!

Ich teste weiter mit dem tollen Modul, mit der Zonenerstellung komme ich noch klar.

Habe ich das richtig verstanden das es immer eine Zone geben kann?

Ich starte eine Preset:
set Bose.EZ channel 2

Dann lege ich eine Zone an:
set BoseSystem createZone Bose.EZ
(Bose.EZ ist hier der Name der Box im Esszimmer, ich könnte aber einen beliebigen Namen nehmen?

und füge ich weitere Geräte hinzu:
set BoseSystem addToZone Bose.KU
set BoseSystem addToZone Bose.HA

Dann spielen die Geräte nicht das gleiche ab. Ich komme mit der Syntax noch nicht so klar, in der Hilfe habe ich kein Beispiel gefunden.

Ja, ich bin noch recht neu im FHEM Thema ;-)

Malc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 13 Februar 2017, 18:21:07
Zitat von: Malc am 11 Februar 2017, 00:30:27
Wie in der beigefügten Config zu entnehmen ist habe ich die Sprache gesetzt habe. Es wird auch der Text gesendet, nur eben erhalte ich die Meldung. Das habe ich wohl nicht geschrieben. Die Meldjng kommt nur wenn ich mittels * mehrere Geräte anspreche. Einzeln genutzt kommt keine Meldung.
Was aber immer noch nicht bedeutet das die Permissions stimmen.
Wenn du den selben Text gezielt auf jedes Device einzeln los lässt funktioniert das?
Btw. hast du schon mal versucht ein lokales mp3 File ab zu spielen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Malc am 13 Februar 2017, 19:32:02
Zitat von: kaputt am 13 Februar 2017, 18:21:07
Was aber immer noch nicht bedeutet das die Permissions stimmen.
Wenn du den selben Text gezielt auf jedes Device einzeln los lässt funktioniert das?
Btw. hast du schon mal versucht ein lokales mp3 File ab zu spielen?

Zitat
Meldung kommt nur wenn ich mittels * mehrere Geräte anspreche. Einzeln genutzt kommt keine Meldung.

Hallo Uwe,
geminsam als auch einzeln wird alles richtig abgespielt. Nur eben erhalte ich die Meldung wenn ich auf allen die Wiedergabe starten. Das ist ja das  was ich noch nicht so verstehe.

Malc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 16 Februar 2017, 12:05:30
Hallo,

@Dominik
Ich versuche mich gerade an einer Playlist und versuche an die Icons zu kommen. Wenn ich das richtig verstehe wird das Icon aus dem MP3 extrahiert und unter http://ServerIP:8200/AlbumArt/98-5195.jpg angezeigt.
Wäre es nicht möglich generell Readings für Playlist mit den Informationen bereitzustellen wie z.B. bei MPD?


playlistcollection
[Radio Streams]:50hits lounge:Indie classics (by alexv94):ANOHNI – HOPELESSNESS:PJ Harvey:Biffy Clyro – Opposites (Deluxe):Jack Garrat:ms-sampler 2016-spring:PEACE (by spotify):The Perfect Italian Dinner (by spotify):ms-sampler Tame Beatle:ms-sampler Xmas:Hipster House Party (by spotify):Top40-2015-12:Frank und seine Freunde – Die 44 beliebtesten Kinderlieder:AnnenMayKantereit – Wird schon irgendwie gehen:We The Generation (Deluxe Edition):Wanda – Bussi:Kele – Trick:Editors – IN DREAM:Kwabs – Love + War:Wanda – Amore:Foals – What Went Down:Paul Kalkbrenner – 7:The Maccabees – Marks To Prove It:Muse, Editors, The Killers (by jm.hoekstra):Feelgood Indie (by spotify_germany):J.D. McPherson – Let The Good Times Roll:POLIÇA – Shulamith (Expanded Edition):Leon Bridges – Coming Home:Everything Everything – Get To Heaven (Deluxe):Jamie xx – In Colour:Muse – Drones:Desmond Dekker – Super Best:Portugal. The Man – Evil Friends:Little Dragon – Machine Dreams:ms-sampler 2015:Cold War Kids – Hold My Home:Various Artists – 50 Hits Lounge:Various Artists – Made in Germany:The Prodigy – The Day Is My Enemy:Mumford & Sons – Wilder Mind (Deluxe):Bob Marley Top 30 (by finnur):Deichkind – Niveau Weshalb Warum:Bilderbuch – SCHICK SCHOCK:Why Make Sense? - A Hot Chip Discography (by hot_chip_official):Filmmusik (by spotify_germany):Piano Ballads (by spotify):House Relax (by spotify):Chillout Lounge (by spotify_germany):Pay Close Attention XL Recordings:Elektro Bike (by spotify_germany)
2017-02-09 12:17:01

playlistinfo
[{"Artist":"ANOHNI","Title":"Drone Bomb Me","Album":"HOPELESSNESS","Time":"251","File":"spotify:track:2qIX2RvAbAvZ4VwGPmbhE3","Track":"1","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"4 DEGREES","Album":"HOPELESSNESS","Time":"232","File":"spotify:track:5ji7wOTLlcJ9uOM4hHcIOw","Track":"2","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Watch Me","Album":"HOPELESSNESS","Time":"207","File":"spotify:track:4wPlMbv1ikPypgeDqBCJvC","Track":"3","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Execution","Album":"HOPELESSNESS","Time":"218","File":"spotify:track:1yt1obxICqGpwt4jNiVlAi","Track":"4","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"I Don't Love You Anymore","Album":"HOPELESSNESS","Time":"300","File":"spotify:track:1kYh5B5YW5gU8XA21qzjlk","Track":"5","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Obama","Album":"HOPELESSNESS","Time":"251","File":"spotify:track:5YmqIz3AsKS6h8hIu4eqyA","Track":"6","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Violent Men","Album":"HOPELESSNESS","Time":"130","File":"spotify:track:0DVNd0ACJkymUl1BbuFCzc","Track":"7","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Why Did You Separate Me from the Earth?","Album":"HOPELESSNESS","Time":"216","File":"spotify:track:5SyBAbwn4GM6N3E71kUKfO","Track":"8","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Crisis","Album":"HOPELESSNESS","Time":"282","File":"spotify:track:2YKuqElhfUQ8Oy6jD8ost1","Track":"9","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Hopelessness","Album":"HOPELESSNESS","Time":"235","File":"spotify:track:4ivqCrlgfWX31azXG929ud","Track":"10","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"},{"Artist":"ANOHNI","Title":"Marrow","Album":"HOPELESSNESS","Time":"181","File":"spotify:track:3FJPWS8JYP7KHsY2g6PUkl","Track":"11","Cover":"https://d3rt1990lpmkn.cloudfront.net/cover/8a9e1ef08c8f0f7f3278d7533d6cf3681d4bb6b4"}]
2017-02-09 12:19:51



Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 21 Februar 2017, 17:45:41
Hallo,

Habe nochmal weiter and der Playlist Sache gebastelt und kriege sie mittlerweile korrekt angezeigt. Allerdings fehlen mir noch zwei Sachen. Wie sage ich der Soundstation

set play <playlist> <Lied 1,2,3,...> 

und wie kann ich die Playlisten auf der Bose wechseln. Vermute das geht nur über vorbelegte Channel oder gibt es da einen weniger statischen Weg?

Gruß
Eisix

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 22 Februar 2017, 22:01:00
Hi Eisix,
würdest du den html Code hier zur Verfügung stellen?
Hat es schon jemand geschfft ein lokales mp3 File ab zu spielen?
So ala:set BoseSound palyTrack /opt/fhem/sound/musik.mp3
Oder alternativ einfach mit 'play'.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 23 Februar 2017, 10:30:27
Hallo,

jeder der ein TTS abspielt, spielt ein lokales MP3 ab. Das heißt es ist auf jeden Fall möglich. Somit sollte es auch Möglich sein die gleiche Funktionalität wie bei SONOS oder MPD zu nutzen. Was dann auch bedeutet man ist komplett unabhängig von den Presets, wenn man das möchte. Das neue MediaList Modul kann dann benutzt werden und auf der Frontend Seite können dann die diversen Player die es schon gibt genutzt werden.
Habe mir gestern mal das Modul angeschaut und testweise die set befehle für die Playlist eingebaut. Den TTS habe ich mir auch angesehen.
Am einfachsten wäre wenn Dominik das ganze mal durchdenkt und seine Meinung dazu sagt. Denke er weiss am besten ob das geht und wo die Fallstricke sind.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 25 Februar 2017, 17:32:04
Seit neuestem in meinem Log zu finden:


2017.02.25 16:48:02 1: PERL WARNING: Can't exec "sox": Datei oder Verzeichnis nicht gefunden at ./FHEM/98_BOSEST.pm line 1120.
2017.02.25 16:48:02 1: PERL WARNING: Can't exec "sox": Datei oder Verzeichnis nicht gefunden at ./FHEM/98_BOSEST.pm line 1139.
mv: der Aufruf von stat für ,,/var/lib/minidlna/tmp_v1_1935247df34ca138fb7223a6c858583f.mp3" ist nicht möglich: Datei oder Verzeichnis nicht gefunden


Hat jemand einen Hinweis für mich?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 26 Februar 2017, 10:49:20
@HansDampfHH, sox und sox-fmt-mp3 (mir fällt der genaue paketname gerade nicht ein) installieren.

@Eisix, kannst du Playlists abspielen? Wie sieht das Format der Playlists aus? Ich habe mal kurz versucht über Playlists direkt http Links abzuspielen, das verweigert die Box aber.

Generell zu "playTrack":
playTrack sucht per DLNA nach dem trackTitle, wenn dieser gefunden wir, wird er abgespielt. Deswegen verwende ich für TTS als Tracktitle MD5 um eindeutig das File zu finden. Leider gibt es keine Schnittstelle die den Ordner spezifiziert. Es ist immer nur eine Suche und die ist nach trackTitle, trackAlbum, trackArtist möglich so wie in der App auch wenn man dort sucht.

Sorry für die späte Antwort, war die letzten Wochen leider verhindert.

Gruß,
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 26 Februar 2017, 20:05:06
Hallo,

Playlisten kann ich nur über die presets abspielen. Format ist .m3u. Es werden einzeilige und extended(2 Zeilen mit Dauer des Titel).
Was ich noch nicht getestet habe ist einen Radiostream aus der playlist zu spielen. Das neue medialist Modul sollte aber somit kompatible Playlisten erzeugen.
Bzgl playtrack: also wird immer die bekannte Titeldatenbank durchsucht somit könnte die playlist den Titel übergeben und alles würde schon funktionieren. Dublikate sollten halt noch ausgeschlossen werden. Weiß aber nicht wie es dann mit dem nächsten Lied weitergeht da das bosesystem in dem Fall ja nichts von der playlist wissen kann.
Anderer Ansatzt wäre die aktuelle playlist jeweils auf einen channel legen und dann die Visualisierung bei jedem Lied updaten.

Also für den Anfang wäre ein
set bose play Titelname

Denke ich nicht schlecht.

Gruß
Eisix

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 26 Februar 2017, 21:22:02
Du kannst das immer über die App vorab probieren. Einfach dort auf die Suche klicken und schauen ob Playlists gefunden und abgespielt werden können. Wenn das geht, dann klappt es auch mit "playTrack".
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 27 Februar 2017, 11:05:00
Hallo,

Ich habe meiner Bose 3 readings dazu gepackt, damit kriege ich den visuellen Teil in FTUI hin.


playlistcollection
Joe_Cocker:sample:Let There Be Rock

Offene Frage, ob man die manuell setzt oder ob man ein "get Bose playlists" einbaut. Sei es über eine Fixen Ordner wo die playlisten drin sind oder über einen kompletten scan nach .m3u Dateien.



playlistinfo
[{"Artist":"Joe Cocker","Title":"Fire It Up","Album":"Fire It Up","Time":"233","File":"Joe Cocker/Fire It Up [Deluxe Edition]/01 Fire It Up.mp3","Track":"1","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"You Love Me Back","Album":"Fire It Up","Time":"235","File":"Joe Cocker/Fire It Up [Deluxe Edition]/03 You Love Me Back.mp3","Track":"3","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"I Come in Peace","Album":"Fire It Up","Time":"260","File":"Joe Cocker/Fire It Up [Deluxe Edition]/04 I Come in Peace.mp3","Track":"4","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"You Don't Need a Million Dollars","Album":"Fire It Up","Time":"237","File":"Joe Cocker/Fire It Up [Deluxe Edition]/05 You Don't Need a Million Dollars.mp3","Track":"5","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"Eye on the Prize","Album":"Fire It Up","Time":"249","File":"Joe Cocker/Fire It Up [Deluxe Edition]/06 Eye on the Prize.mp3","Track":"6","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"Younger","Album":"Fire It Up","Time":"253","File":"Joe Cocker/Fire It Up [Deluxe Edition]/07 Younger.mp3","Track":"7","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"You Don't Know What You're Doing to Me","Album":"Fire It Up","Time":"233","File":"Joe Cocker/Fire It Up [Deluxe Edition]/08 You Don't Know What You're Doing to Me.mp3","Track":"8","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"The Letting Go","Album":"Fire It Up","Time":"210","File":"Joe Cocker/Fire It Up [Deluxe Edition]/09 The Letting Go.mp3","Track":"9","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"I'll Walk in the Sunshine Again","Album":"Fire It Up","Time":"194","File":"Joe Cocker/Fire It Up [Deluxe Edition]/10 I'll Walk in the Sunshine Again.mp3","Track":"10","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"Weight of the World","Album":"Fire It Up","Time":"239","File":"Joe Cocker/Fire It Up [Deluxe Edition]/11 Weight of the World.mp3","Track":"11","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"The Last Road","Album":"Fire It Up","Time":"245","File":"Joe Cocker/Fire It Up [Deluxe Edition]/12 The Last Road.mp3","Track":"12","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"},{"Artist":"Joe Cocker","Title":"Walk Through the World With Me","Album":"Fire It Up","Time":"260","File":"Joe Cocker/Fire It Up [Deluxe Edition]/13 Walk Through the World with Me.mp3","Track":"13","Cover":"http://192.168.1.1:8200/AlbumArt/999-5100.jpg"}]




playlistlength
11



Gebraucht wird noch ein

set Bose playlist

welches die playlistcollection zur Auswahl bietet. Mit Auswahl der Playlist muss dann die playlistinfo und die playlistlength eingelesen und gesetzt werden.
Da gibt es von setstate was hier

https://forum.fhem.de/index.php/topic,53863.0.html

Das muss aber auf Bose angepasst werden was ich noch nicht komplett hin bekommen habe.

Das komplette Handling müßte über Fhem gemacht werden da Bose mit Playlisten nicht wirklich was anfangen kann sondern einfach ein Lied nach dem anderen abspielt.
Generell würde es denke ich Sinn machen die gleichen Kommandos bei Bose, Sonos und MPD zu nutzen.

Gruß
Eisix

PS: DLNArenderer wäre auch noch was wo die Kommandos gleich sein sollten.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: docb am 18 März 2017, 11:18:56
@HansDampf: ich hatte das gleich Problem, das habe ich nach dem Tip von Dominik gelöst - du brauchst
sudo apt-get install sox
und
sudo apt-get install libxox-fmt-mp3

@all: nachdem das Problem gelöst ist, habe ich allerdings immer noch eines: Jetzt habe ich die Fehlermeldung
BOSEST: failed: 500 Internal Server Error
Ich habe es überprüft, die MP3-Files werden erzeugt. Ich tippe auf einen Fehler beim Minidlna -denn über die Soundtouch-App wir der Server zwar angezeigt, ich kann aber nicht darauf zugreifen - wenn ich darauf klicke kommt: "HMM ... Leider konnten wir Ihre Musikbibilothek nicht finden. Stellen Sie sicher, dass ihr Computer oder ... angeschaltet und nicht im Ruhemodus ist. (1607)"

Ich habe den Server so installiert/konfiguriert, wie von Masterciw in Post 384 beschrieben.

Viele Grüße
doc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: gotmoon am 18 März 2017, 11:29:41
Hallo zusammen.
habe nun meine 2 SoundTouch10 endlich zum reden gebracht und es ist wunderbar :-D
Dafür musste zwar der Raspi komplett neu aufgesetzt werden und ich habe ein ganzes Wochenende dazu gebraucht, aber am Ende hat es dann doch geklappt.

Und nun habe ich noch ein kleines Problem: Im Wohnzimmer steht ein SoundTouch 220 (oder Cinemate mit SoundTouch-Modul).
Ich kann die HDMI-Inputs weder in FHEM sehen noch schalten.
Und: Lasse ich sie während gerade ein HDMI-Input gewählt ist per TTS sprechen, dann schaltet sie leider nicht zurück...

Wie kann ich das am besten lösen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: docb am 18 März 2017, 13:42:14
Ha, ich bin der Lösung wohl schon näher gekommen - es funzt allerdings immer noch nicht:
Es liegt an der Version von minidlna, die installiert wird, wenn man auf dem Raspi Masterciw's Anweisungen folgt (minidlna 1.1.2+dfsg-1.1+b1).
Wenn man mit
sudo nano /etc/apt/sources.list.d/raspi.list
dort den Eintrag
deb http://ftp.debian.org/debian jessie-backports main
ergänzt, kann man direkt die neueste Version von minidlna installieren:
zuerst ein apt-get update
dann:
apt-get -t jessie-backports install minidlna
oder eben wenn es schon installiert ist
apt-get -t jessie-backports dist-upgrade
Ich habe zweiteres gemacht - ist aber vermutlich nicht so schlau, da wird nämlich alles auf die neuesten / ggf. unstable Versionen geupdatet. Dabei hat es mir gleich mal meine Netzwerkeinrichtung auf dem Raspi zerschossen. Daher würde ich zu ersterem raten ;-)
Jetzt habe ich die Version minidlna 1.1.5+dfsg-2~bpo8+1 und auch kein Fehler mehr im Log von fhem beim Speak-Kommando, aber es kommt trotzdem keine Sprachausgabe und auch die Soundtouch-App kommt nicht auf den Minidlna (wie im letzten Post von mir beschrieben - wird angezeigt, kommt aber nicht drauf).
Ich habe gerade noch getestet, was beim Aufruf [Raspi-IP]:8200 rauskommt - nämlich leider gar nichts. Der minidlna Status ist allerdings "active (exited)".

Viele Grüße und mit der Bitte um Hilfe
Doc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Hellspawn am 17 April 2017, 09:25:29
Hallo DocB,
ich hatte dasselbe Problem wie Du. Allerdings auf einem Ubuntu 16.04 Server.
Dinge die zu einem funktionierendem System geführt haben :

cd /var/lib
chmod -R 777 minidlna/

editieren der /etc/minidlna.conf


# Specify the user name or uid to run as.
user=minidlna
media_dir=A,/var/lib/minidlna
db_dir=/var/cache/minidlna
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg


zum Schluss ein :
service minidlna restart

danach lief es bei mir.... Ich hatte in irgendeinem anderem Forum gefunden das minidlna wohl definitiv als user "minidlna" laufen muss sonst würde er nichts anzeigen... ob das jetzt wirklich genau die Lösung war, kann ich nicht sagen aber jetzt geht es auf jeden fall...

Hoffe es hilft...

Carsten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: docb am 18 April 2017, 11:25:39
Hi Carsten,
danke für die Hilfe - leider erfolglos ;-)
Einen Versuch war es wert!
Beste Grüße
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 30 April 2017, 00:40:12
Hi Dominik,

es gab mal im DropDown unter SET den Befehl BASS. (ich glaube als Unterrubrik ?) - Ich finde den nicht mehr .
set BOSE_XZYXZY bass [1-10] funktioniert in der FHEM-Console noch.
Wo finde ich diesen im DropDown wieder ?
Oder, sei es der fehlt - würde dieser sich wieder einbringen lassen ?

Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: travelling-man am 03 Juni 2017, 21:50:44
Hallo,

ich habe das Problem das mein SoundTouch zwar in der IOS Home App angezeigt wird, jedoch wird das Gerät bei Neustart der Home App auf dem iPhone immer als eingeschaltet angezeigt, obwohl der SoundTouch nur im Standby Modus ist.

Ist das Problem bekannt?

Des Weiteren habe ich folgende Fehlermeldung im Log gesichtet. TTS wird nicht verwendet.


2017.06.03 21:32:21 1: PERL WARNING: Use of uninitialized value $val in split at ./FHEM/98_BOSEST.pm line 1185, <$fh> line 114.


Eingesetzt wird die aktuelle Version von FHEM 5.8 und BOSE SoundTouch v2.1.0

VG
T-M
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 15 Juni 2017, 07:29:42
Hallo Zusammen,

zuerst vielen Dank für dieses klasse Modul, habe meine ST20 gestern (ohne TTS) eingebunden, funktioniert perfekt!

Ich habe mir im FHEM die möglichen set Befehle angesehen und auch "playTrack" gesehen. Meine Versuche damit sind aber gescheitert. Ich habe gesucht aber auch keine Duku dazu gefunden, was kann ich hier alles angeben und wo dürfen die Tracks liegen? Klasse wäre z.B. auch "Netzwerk-Pfad zum File auf dem NAS" ... ;-)

Vielen Dank für Euere Hinweise schon jetzt
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 29 Juni 2017, 11:29:15
Hallo, ich musste mein Debian-System leider komplett neu aufsetzen.
Dank einiger Backups ging das meiste recht schnell.

Allerdings bekomme im Log folgende Meldung:

2017.06.29 09:50:36 1: PERL WARNING: Can't exec "sox": Datei oder Verzeichnis nicht gefunden at ./FHEM/98_BOSEST.pm line 1139.
mv: der Aufruf von stat für ,,/var/lib/minidlna/tmp_v1_1935247df34ca138fb7223a6c858583f.mp3" ist nicht möglich: Datei oder Verzeichnis nicht gefunden


Minidlna ist installiert und das Verzeichnis /var/lib/minidlna existiert.
Da liegen auch bereits 2 mp3 Dateien, eine davon entspricht auch der ID allerdings ohne den Prefix "tmp_v1_" !?


ls
-rw-r--r-- 1 fhem dialout 28128 Jun 28 14:27 1935247df34ca138fb7223a6c858583f.mp3
-rw-r--r-- 1 fhem dialout 21504 Jun 28 14:27 f431789f130cd51d144f4a128a3bea0a.mp3


Hat da jemand eine Idee was da los ist?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 29 Juni 2017, 11:59:30
Auf die Schnelle : sox installiert?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 29 Juni 2017, 12:44:47
Okay, hatte mich an die Anleitung im 1. Thread gewandt.
Da ist keine Rede von sox.

Nach folgendem Update scheint es zu laufen, bekomme zumindest keinen Eintrag mehr im Log - Hörtest erst nach Feierabend ;-)


apt-get install sox
apt-get install libsox-fmt-mp3


Vorerst vielen Dank für den Hinweis !
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hschuett am 05 Juli 2017, 21:12:53
Das gleiche Problem habe ich ebenfalls seit einiger Zeit. Die Sprachausgaben funktionieren fehlerfrei, trotzdem würde mich interessieren warum die Meldungen im Logfile auftauchen. Hat jemand Ideen oder kennt bereits die Ursache?
mv: der Aufruf von stat für ,,/var/lib/minidlna/tmp_v1_fd160b2f789ebdda908b9ba64b92d727.mp3" ist nicht möglich: Datei oder Verzeichnis nicht gefunden
mv: der Aufruf von stat für ,,/var/lib/minidlna/tmp_v1_e33e4fcdfa57247c110c0771502662aa.mp3" ist nicht möglich: Datei oder Verzeichnis nicht gefunden
mv: das Verschieben von ,,/var/lib/minidlna/tmp_v1_3b02a1b8150b8431f004a9c017957244.mp3" nach ,,/var/lib/minidlna/v1_3b02a1b8150b8431f004a9c017957244.mp3" ist nicht möglich: Datei oder Verzeichnis nicht gefunden


sox ist in der aktuellsten Version installiert bzw. generell seit Monaten in raspbian aktiv.

Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
sox ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
libsox-fmt-mp3 ist schon die neueste Version.
libsox-fmt-mp3 wurde als manuell installiert festgelegt.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


Grüße, Harald
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 21 Juli 2017, 13:07:50
Erledigt:
Keine Ahnung warum, aber es war keine /etc/default/minidlna vorhanden und der Service lief nicht.
Komische Sache, aber gelöst :-)

Nach der installation von Sox hat alles wunderbar funktioniert.

Nun wundere ich mich seit einigen Tagen, dass keine Sprachausgabe mehr erfolgt.
Ein Blick in das Verzeichnis /var/lib/minidlna

Mp3 Dateien werden generiert und können nach einem Download auch angehört werden.
Dateiberechtigungen stimmen (wurde ja auch nichts verändert).

Wieso höre ich nichts?
Es funktioniert kein Befehl: speak oder auch playTrack 26c0616299fb8a1a1d7e265da821f098.mp3
Mit Verbose 5 auch kein Hinweis und im syslog steht auch nichts.

Das normale Schalten funktioniert (Channels, Volume, On, Off).
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 28 August 2017, 10:54:02
Irgendwo in den Beiträgen hatte ich was davon gelesen, dass die Dateien OHNE Dateiendung angegeben werden sollten
mfg
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 28 August 2017, 10:58:53
@swhobby

Sorry, aber das "Erledigt" an meinem Post bezog sich auf alles.
Läuft seit dem wieder 1A, keine Probleme mehr.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 28 August 2017, 16:07:14
@HansDampHH

Sorry hatte ich nicht gelesen. Aber vielleicht kann mir jemand helfen,

gibt es eine Möglichkeit die Senderlogos im Reading "art" im Frontend anzuzeigen. Über stateformat ist es mir schon gelungen den Inhalt anzuzeigen.
Allerdings ist das ja eine externe Webseite. Ich hab keine Ahnung wie ich das Logo darstellen kann.

mfg
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 28 August 2017, 20:39:42
Hallo Zusammen,

nachdem ich meine Soundtouch20 erstmal "normal" angebunden habe, hab ich mich jetzt vor zwei Tagen mal an die TTS Ausgabe gemacht.
Inzwischen hab ich hier sehr viele Einträge gelesen und bin soweit, das wenn ich einen Befehl mit Text eingebe die entsprechende mp3 Datei im Verzeichnis erzeugt wird. Wenn ich sie herunterlade ist auch der richtige Text drinnen ;-)
Meine Soundtouch gibt sie aber nicht aus. im Log taucht kein Eintrag auf... auch direkt mit playTrack klappt es nicht.
Was mir auch noch aufgefallen ist: Wenn ich in der Soundtouch app bin, wird mir der miniDLNA Server auf meinem Raspi angezeigt, klick ich aber drauf bekomme ich eine Fehlermeldung "Leider konnten wir Ihre Musikbibliothek nicht finden....." Wenn ich den minidlna Status checke, wird mir aber angezeigt, dass er gestartet ist...
Zuletzt hab ich noch ins minidlna Logfile geguckt, da sind aber nur Einträge von gestern zu finden....
Irgendwelche Tipps?? Was kann ich noch probieren? Vielen Dank für Euere Unterstützung!!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 28 August 2017, 21:16:15
Attribute für tts gesetzt?
ttsdirectory
ttslanguage
ttsvolume

MfG
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 28 August 2017, 22:09:35
In SoundTouch App (egal ob PC oder Phone) unter Einstellungen => Musikdienste => Musikbibliothek auf XY = Musikbibliothek entfernen
Dann nochmal suchen und Spaß haben, hat bei mir funktioniert hatte beide DLNA Server doppelt drin. Alle gelöscht gesucht fertig geht wieder.
Aber egal wie mit "playTrack" geht nichts!
Egal ob mit oder ohne Dateiendung, ob mit oder ohne Pfad, egal ob mit oder ohne Qute, nix garnix. verbose 5 bringt auch nichts zu Tage
Jemand ne Idee?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 29 August 2017, 06:20:56
Hallo swhobby,

ja, die hab ich gesetzt:
ttsDirectory        /var/lib/minidlna
ttsLanguage     de   
ttsVolume          30
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 29 August 2017, 19:19:15
Guten Abend zusammen,
ich habe gerade noch ein wenig herumprobiert... Zuerst habe ich nochmal einen shutdown restart gemacht, dann habe ich mit sudo service minidlna status den Status abgefragt. Darauf habe ich folgende Antwort erhalten: minidlna.service - LSB: Start minidlna at boot time
   Loaded: loaded (/etc/init.d/minidlna)
   Active: active (exited) since Sun 2017-08-27 21:36:51 CEST; 1 day 21h ago
  Process: 484 ExecStart=/etc/init.d/minidlna start (code=exited, status=0/SUCCESS)

Mich hat dann das exited verwundert, und ich habe daraufhin den Service gestoppt und wieder gestartet... ich habe dann mal wieder eine Sprachausgabe versucht - klappte nicht, aber es gab wieder Einträge in den beiden Logfiles
bei /log/minidlna.log:
[2017/08/29 19:38:36] minidlna.c:1004: warn: Starting MiniDLNA version 1.1.2.
[2017/08/29 19:38:36] minidlna.c:356: warn: New media_dir detected; rescanning...
[2017/08/29 19:38:36] minidlna.c:1043: warn: HTTP listening on port 8200
[2017/08/29 19:38:36] scanner.c:702: warn: Scanning /var/lib/minidlna
[2017/08/29 19:38:36] scanner.c:789: warn: Scanning /var/lib/minidlna finished (8 files)!
[2017/08/29 19:38:36] playlist.c:125: warn: Parsing playlists...
[2017/08/29 19:38:36] playlist.c:256: warn: Finished parsing playlists.
[2017/08/29 19:38:37] inotify.c:198: warn: WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [2] and I do not have permission to increase this limit.  Please do so manually by writing a higher value into /proc/sys/fs/inotify/max_user_watches.
       

Edit: Nach einigem Nachlesen bei Freund Google habe ich die 8192 in 65568 abgeändert und diese Warnung verschwindet beim Restart... Abgespielt wird trotzdem nix....

und im FHEM-Log:
2017.08.29 19:40:23 3: BOSEST: failed: 500 Internal Server Error
2017.08.29 19:40:25 3: BOSEST: failed: 500 Internal Server Error


Könnt Ihr damit was anfangen und mir weiterhelfen wie ich das zum Laufen bekomme??
Vielen Dank schon im Voraus!!!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 30 August 2017, 09:58:16
@Parador
mal versucht über http:<ipdlnaserver>:8200 auf den Server zu zu greifen.
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 30 August 2017, 13:19:57
erster Versuch: keine Antwort, dann mit sudo service minidlna restart bekomme ich eine Antwort vom DLNAServer, eine Seite auf der mir angezeigt wird ich hätte 8 AudioDateien und auch wer verbunden ist, wird angezeigt...
Komisch dabei ist, das im Verzeichnis var/lib/minidlna gerade nur 4 Dateien liegen...
Sobald ich eine Sprachausgabe versuche und einen 500er Fehler bekomme, ist der miniDLNA wieder aus...
Ergänzung: Ich habe wieder Freund Google befragt, wie ich einen Rescan veranlassen kann... per sudo minidlnad -R klappt das.. Bzw. sollte ich habe zwei Fehlerhinweise bekommen...
a) die files.db lies nicht auf Grund eines Rechteproblems nicht schreiben <= erledigt, und
b) ich erhalte die nachricht, dass die /etc/minidlna.conf in Zeile 53: tivo_discovery=bonjour nicht geparsed werden kann...
die sieht bei mir wie folgt aus:
# port for HTTP (descriptions, SOAP, media transfer) traffic
port=8200

# network interfaces to serve, comma delimited
#network_interface=eth0

# specify the user account name or uid to run as
#user=jmaggard

# set this to the directory you want scanned.
# * if you want multiple directories, you can have multiple media_dir= lines
# * if you want to restrict a media_dir to specific content types, you
#   can prepend the types, followed by a comma, to the directory:
#   + "A" for audio  (eg. media_dir=A,/home/jmaggard/Music)
#   + "V" for video  (eg. media_dir=V,/home/jmaggard/Videos)
#   + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures)
#   + "PV" for pictures and video (eg. media_dir=PV,/home/jmaggard/digital_camera)
media_dir=/var/lib/minidlna

# set this to merge all media_dir base contents into the root container
# note: the default is no
#merge_media_dirs=no

# set this if you want to customize the name that shows up on your clients
#friendly_name=My DLNA Server

# set this if you would like to specify the directory where you want MiniDLNA to store its database and album a$
#db_dir=/var/cache/minidlna

# set this if you would like to specify the directory where you want MiniDLNA to store its log file
#log_dir=/var/log

# set this to change the verbosity of the information that is logged
# each section can use a different level: off, fatal, error, warn, info, or debug
#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn

# this should be a list of file names to check for when searching for album art
# note: names should be delimited with a forward slash ("/")
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg
album_art_names=AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg
album_art_names=Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg

# set this to no to disable inotify monitoring to automatically discover new files
# note: the default is yes
inotify=yes

# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO
enable_tivo=no

# set this to beacon to use legacy broadcast discovery method
# defauts to bonjour if avahi is available
tivo_discovery=bonjour

# set this to strictly adhere to DLNA standards.
# * This will allow server-side downscaling of very large JPEG images,
#   which may hurt JPEG serving performance on (at least) Sony DLNA products.
strict_dlna=no

# default presentation url is http address on port 80
#presentation_url=http://www.mylan/index.php

# notify interval in seconds. default is 895 seconds.
notify_interval=900

# serial and model number the daemon will report to clients
# in its XML description
serial=6812244
model_number=1

# specify the path to the MiniSSDPd socket
#minissdpdsocket=/var/run/minissdpd.sock

# use different container as root of the tree
# possible values:
#   + "." - use standard container (this is the default)
#   + "B" - "Browse Directory"
#   + "M" - "Music"
#   + "V" - "Video"
#   + "P" - "Pictures"
#   + Or, you can specify the ObjectID of your desired root container (eg. 1$F for Music/Playlists)
# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root
#root_container=.

# always force SortCriteria to this value, regardless of the SortCriteria passed by the client
#force_sort_criteria=+upnp:class,+upnp:originalTrackNumber,+dc:title

# maximum number of simultaneous connections
# note: many clients open several simultaneous connections while streaming
#max_connections=50

# set this to yes to allow symlinks that point outside user-defined media_dirs.
#wide_links=no


ich denke hier habe ich nur die Veränderungen vorgenommen die auch beschrieben waren....
Was ist falsch?

Ein Restart klappt Fehler-Hinweis-frei und nun werden auch nur die 4 Dateien angezeigt
Der Versuch einer Sprachausgabe ergibt aber wieder einen Fehler 500 (und ein restart ist erforderlich)
Auch wenn ich auch der minidlna-Seite als verbundenen Client die Soundtouch-Ip sehe, kann ich aus der Soundtouch-App nicht auf die 4 Dateien zugreifen.. und nachdem ich es versucht habe ist minidlna auch schon wieder aus..und braucht einen restart
na gut ich hab nochwas ausprobiert... ich habe den Windows Media Player mal aufgemacht und er findet den Raspi miniDLNA Server und auch die Dateien drauf... er kann auch zugreifen...und abspielen...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 30 August 2017, 19:39:41
@Parador
Ich habe mal unsere minidlna.conf verglichen. Bis auf Modelnummer und serial sind sie gleich. Modelnummer ist auskommentiert und serial steht auf 681....(ist wohl default)
Dann habe ich noch den friendly_name gesetzt, muss aber wohl nicht.
Da ich auch am Anfang Probleme hatte mit minidlna, habe ich mich mal an dieser Anleitung orientiert. 
https://www.htpcguides.com/install-readymedia-minidlna-1-1-4-raspberry-pi/

Danach hat es bei mir auf Anhieb funktioniert.

mfh
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 30 August 2017, 19:55:19
Hallo Heinz-Rolf,
danke für Deine Hilfe - ich habe es jetzt mal mit Deinem Link probiert - und auch wenn ich nochmal einen 500er Fehler im Log hatte - jetzt klappts!! Ich bin begeistert ;-) Danke!!!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 30 August 2017, 20:29:05
@Parador
Ich habe eine Wave Soundtouch IV.

An alle eine Frage: wir dieses Thema eigendlich von Dominik noch weiter betreut?
mfg
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 30 August 2017, 21:30:53
@Parador
Freut mich das es funktioniert hat. Bis Du denn sicher, dass der 500-Fehler von dem Modul kam?
mfg
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 30 August 2017, 21:52:47
2017.08.30 20:16:38 3: BOSEST: failed: 500 Internal Server Error     - ja, ich glaube schon...
denke es kam vom Versuch eine bestehende mp3 Datei mit einem Sound aufzurufen...
war in dem Moment kein tts sondern ein playTrack... werde das morgen nochmal probieren

Normale tts Ausgaben klappen jetzt gut..!!!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: swhobby am 02 September 2017, 11:49:56
@Dominik @MCXCII

Ich habe nach Euren Beispielen es jetzt auch geschafft, das Senderlogo anzuzeigen. Wie schaffe ich es aber jetzt, dass sich das Logo bei einem Senderwechsel aktualisiert. Im Moment muss ich die Seite neu laden.

mfg
Heinz-Rolf
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 03 September 2017, 09:21:12
Guten Morgen swhobby,

ich hab grad mal nachgesehen - ich nutze FTUI und dort kann ich mittels folgender Zeilen, viele Infos angezeigt bekommen:
            <li class="semitransparent" data-row="1" data-col="1" data-sizex="10" data-sizey="7">
            <header><div data-type="label" class="white large">Bose SoundTouch</div></header>
                <div>
                   <div class="newline"><div data-type="image" data-device="BOSE_000C8A9BDAA5" data-get="art"              data-height="320" data-width="320"></div></div>
                   <div class="inline"><div data-type="label"  data-device="BOSE_000C8A9BDAA5" data-get="stationName"      class=""></div></div>
                   <div class="inline"><div data-type="label"  data-device="BOSE_000C8A9BDAA5" data-get="stationLocation"  class=""></div></div>
                   <div class="inline"><div data-type="label"  data-device="BOSE_000C8A9BDAA5" data-get="artist"           class=""></div></div>
                   <div class="inline"><div data-type="label"  data-device="BOSE_000C8A9BDAA5" data-get="album"            class=""></div></div>
                   <div class="inline"><div data-type="label"  data-device="BOSE_000C8A9BDAA5" data-get="track"            class=""></div></div>
                </div>

ich hab jetzt leider nicht gelesen wo Du was angezeigt bekommen haben willst... aber vielleicht hilft Dir das ja schon...
Der InfoWechsel z.B. bei Liedwechsel kann je nach Verbindung bei schon mal 2 Sekunden dauern...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: ChiliApple am 21 Oktober 2017, 17:42:35
Hallo,

welche Soundtouch unterstützen TTS? ich habe einen Portable, das Modul läuft soweit, ich habe auch den minidlna konfiguriert und im Verzeichnis liegen die Sprachdateien nach dem SET Befehl, Sprache wird jedoch keine ausgegeben ...

danke & Grüße Udo
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 21 Oktober 2017, 20:02:51
@swhobby
ist zwar schon etwas her aber vielleicht brauchst du es noch. data-refresh und nocache sollten helfen.

                        <div data-type="image"
                                data-device="SB_PLAYER_192.168.1.112"
                                data-get="coverarturl"
                                data-refresh="30"
                                data-size='140'
                                class="nocache"
                        ></div>


Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: ChiliApple am 22 Oktober 2017, 13:50:37
habs´s hin bekommen, der minidlna Server muss im Bose_xxxxxxx Device eingetragen sein ... geht also auch mit der Portable
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Nanouk am 31 Oktober 2017, 11:41:32
Hallo in die Runde,

nach einigem ausprobieren, installieren, deinstallieren und wieder installieren, habe ich es geschafft das auch bei mir eine Spachausgabe erfolgt.
Ist es irgendwie möglich die Ausgabe auf allen Bose ST auszugeben? Also in der ganzen Gruppe/Zone?

Viele Grüße,
Nanouk

Geht auf einmal. Von jetzt auf gleich.
Habe nichts geändert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mcj0in am 07 November 2017, 14:38:01
Hallo zusammen,

erstmal ein Daumen hoch, für die schöne Arbeit. Ich hatte das Modul bereits vor einem Jahr ausprobiert und war begeistert, mehr aus SoundTouch machen zu können, als die Bose Apps es wirklich zulassen. Beruflich war ich aber so eingebunden, dass ich mich bis heute nicht um die "Spielereien" kümmern konnte.

Am vergangenen Wochenende habe ich mir endlich mal die Zeit genommen, Raspbian Stretch mit FHEM 5.8 neu aufzusetzen. Und natürlich habe ich als erstes dieses Modul definieren wollen. Bei den normalen SoundTouchs hat es auch seine Arbeit bestens gemeistert. Bei dem Soundbar "Lifesyle 135 Serie III" kam das Erstaunen. Denn letztes Jahr wurde auch dieses Gerät direkt erkannt. Bei dem aktuellen Versuch taucht das Gerät in die Auflistung nicht auf.

Ist vielleicht das Problem schon bekannt, bzw. existiert es schon ein Workaround hierfür?

Mit besten Grüßen

mcJ
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 18 November 2017, 20:55:14
@mcj0in, verwendest du die SoundTouch Adapter? Hab mir das System kurz im Web angesehen und das dürfte nur mit Adapter kompatibel sein. Wird es in der App angezeigt?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 30 November 2017, 18:30:37
Nachdem ich mir jetzt ein paar der Bose-Teile zugelegt habe, wurden sie natürlich sofort eingebunden.

Zum Modul: Gute Arbeit, Danke auch von meiner Seite.

Dokumentation des Moduls (räusper): Die Anleitung für die TTS-Installation im ersten Post des Threads ist ein wenig mager, und das Lesen aller 32 Seiten hat mein heutiges Zeitbudget etwas überschritten.


Edit: Nach ordnungsgemäßer Installation des miniDLNA macht TTS gar keine Probleme - und die Bose Soundtouch ist perfekt in mein Sprachausgabenetzwerk eingebunden (diverse wandhängende Tablets).


Einzig verbleibendes Problem ist noch, dass nach einem Neustart (bzw. dem nächtlichen Ausschalten) meiner NAS diese als "INVALID_SOURCE" erscheint - das wurde vor ca. 10 Seiten hier schon diskutiert, ohne dass es eine Lösung gegeben hat.


Mit dem Twonkyserver als DLNA-Server ist das jedenfalls so - und der hat den Vorteil, dass ich extern erzeugte Playlists im m3u-Format abspielen kann. Derzeit versuche ich das mit dem Plex Server zu umgehen, kann aber noch kein Resultat berichten.


LG

pah

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Dezember 2017, 20:38:59
Hi,
seit ein paar Tagen hat BOSE nun eine "Audio Notification API" mit der man angeblich jeglichen http Content abspielen kann. Ich werde das Modul also noch umbauen, dann erspart man sich minidlna und die ganze Einrichtung :)

Wie spielst du .m3u Playlisten ab? Das hat bislang bei mir nie funktioniert.

Gruß
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2017, 02:20:07
Der Twonky-Server (ist bei mir optionaler Bestandteil der NAS-Software) erkennt m3u, und diese werden von der Soundtouch-App wunderbar unter "Wiedergabelisten" angezeigt. Sie sind auch Presetable, aber werden nach dem NAS-Neustart eben erst dann wiedergefunden, wenn man sie einmal in der App aufgerufen hat. Vorher als "INVALID_SOURCE" bezeichnet.

Das scheint aber kein Problem des Moduls zu sein. Denn auch mit den Hardware-Preset-Tasten am Gerät kann ich sie sie speichern, der Aufruf scheitert aber nach einem NAS-Neustart genauso, wenn die App nicht vorher angeworfen wurde.

Wen ich mir das genau ansehe, liegt das möglicherweise an der Art der Speicherung. Beim Plex-Server (ebenfalls optionaler Bestandteil der NAS) wird ein Musikstück auf den Presettasten beispielsweise als
ZitatLife In A Beautiful Light||0fa5917685fb00d5fd86|STORED_MUSIC|412fb986-b8f2-2a6d-6872-bb2bc5bed07f/0
gespeichert. Beim Twonkyserver wird eine Playlist beispielsweise als
ZitatWeckmusik||0$1$9$5881|STORED_MUSIC|55076f6e-6b79-1d65-a4eb-000000000509/0
abgelegt. Wofür stehen die Dollarzeichen ? Möglicherweise für einen Hinweis auf die Ebenen der Navigationsstruktur - und die muss offenbar erst geladen werden (aber wie ?)

Die Playlisten kann der Twonkyserver übrigens auch nicht selbst erstellen. Die habe ich extern mit einem Editor  zusammengebaut, Das ist ganz einfach, aber Fleißarbeit. Beim Plex-Server werden diese nicht erkannt, das entsprechende Playlistenformat kenne ich noch nicht und weiß auch nicht, wo die stehen.


LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2017, 11:36:12
Ich antworte mir mal selbst: Stimmt mit den Dollarzeichen. Ich habe nämlich noch einen dritten DLNA-Server ausprobiert, den MinimServer http://minimserver.com/

Hat erstens den Vorteil, dass er für alle Systeme frei verfügbar ist.

Zweiter Vorteil: Erkennt m3u Playlists und präsentiert diese in der Soundtouch App zur Auswahl - und sie sind "Presetable". Wenn man sie dann abspielt, werden die Metadaten korrekt im FHEM-Device angezeigt - und mit savechannel wird dann z.B., abgelegt:
ZitatWeckmusik||0$playlists$*p2|STORED_MUSIC|196abad4-673d-4149-9bba-ede06ae1cf86/0

Dritter Vorteil - ich bin ganz hin und weg: Sowohl mit den Hardware-Presettasten, als auch mit dem FHEM-Device lassen sich diese Playlists auch nach einem NAS-Neustart abspielen, ohne dass man erst die App bemüht.


Also nochmal die Erkenntnis: Als Speicherort meldet der Twonkyserver so etwas wie 0$1$9$5881 , und der Minimserver 0$playlists$*p2. Die Dollarzeichen stehen demanch wirklich für die Ebenen der Navigationsstruktur - und die ist beim Twonkyserver erst nach einem Aufruf der App vorhanden.

Der Plex-Server erkennt weder die m3u-Playlists, noch erkennt die Soundtouch-App die Plex-eigenen Playlists. Damit fliegt der Plex-Server gerade wieder herunter.

Für diejenigen, die nicht wissen, wie man von Hand eine m3u Playlist erstellt: Ganz einfach mit einem Texteditor die Dateinamen (nicht Songtitel) und Unterverzeichnisse eintragen. Beispiel:
#Weckmusik

Klassik/Johann Sebastian Bach/Italienisches Konzert/01_Allegro.mp3

Filmmusik/John_Carpenter__Starman.mp3



Sehr zufrieden in Moment.


LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 10 Dezember 2017, 11:56:39
Und noch ein dritter Post in Folge: Der smarte Wecker bekommt erst einmal testweise ein DOIF:


define Wecker_Bose DOIF
([[timeProfileC:wakeup]])
(set BOSE_50338B343509 volume 20)
(set BOSE_50338B343509 channel 20)
(set BOSE_50338B343509 volume 25)
(set BOSE_50338B343509 volume 30)
(set BOSE_50338B343509 volume 35)
(set BOSE_50338B343509 volume 40)

timeProfileC:wakeup ist ein Reading, in den die Weckzeit eingetragen wird. Dieses DOIF steigert die Lautstärke über 20 Sekunden von 20 auf 40. Achtung: Weil die Hardware aussteigt, wenn zwei Kommandos zu schnell hintereinander kommen, ist die gesamte Kommandosequenz in Teile zerlegt. Mit dem Attribut
attr Wecker_Bose wait 0,2,5,5,5,5
wird der zweite Teil um 2 Sekunden verzögert, der 3. und alle Weiteren um 5 Sekunden.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 10 Dezember 2017, 13:03:06
Hallo,

Habe das am Anfang mit den Playlisten auch so gemacht das ich sie mit save Channel gespeichert habe.
Mittlerweile bin ich aber für Musik auf den Logitech Mediaserver umgestiegen und hänge die Bose Box auf den Stream über DLNA.
Sieht dann momentan aus wie im Anhang.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Dezember 2017, 21:15:18
Ich habe heute mal die neue SoundTouch Audio Notification API ausprobiert. Damit ist TTS nun problemlos ohne minidlna möglich :)

Einzige zukünftige Einschränkung ist, dass damit sind nur "kurze" (max. 100 Zeichen) TTS Nachrichten möglich. Ich werde das Modul also so umbauen, dass kurze Nachrichten per Audio Notification API laufen und für längere Nachrichten weiterhin minidlna möglich ist.

Damit entfällt endlich die mühsame Einrichtung :)

Doorbell oder sowas wäre damit auch möglich, muss nur per http verfügbar sein.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Dezember 2017, 21:59:07
Anbei eine erste Testversion mit der Bitte um Test.

Kein minidlna erforderlich für speak < 100 Zeichen.

Das Attribut ttsLanguage sollte auf "de" gesetzt werden damit Google Translate die deutsche Aussprache nutzt (Default: en).
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: travelling-man am 11 Dezember 2017, 20:20:57
Guten Abend,

erste Tests waren erfolgreich.
 
Super Arbeit, vielen Dank!

Wie kommt die Beschränkung von 100 Zeichen zustande?

VG
Basti
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: docb am 18 Dezember 2017, 09:02:59
Guten Morgen, bei mir funktioniert die neue Version mit dem TTS auch einwandfrei! Tip Top, vielen Dank!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 18 Dezember 2017, 22:53:44
100 Zeichen Beschränkung liegt daran, dass Google nicht mehr unterstützt.

Neue Version gerade eingecheckt :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Supadone am 19 Dezember 2017, 13:45:27
Hallo, nachdem jetzt ja kein minidlna mehr notwendig ist hab ich mich auch mal an TTS gewagt. Das Modul läuft sonst schon seit einem Jahr problemlos, danke dafür :)
Leider bekomme ich aber bei dem speak Befehl folgende Meldung bei verbose 5 im Log, hören tut man natürlich auch nichts:

BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>

Hab ich irgendwo etwas vergessen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Supadone am 25 Dezember 2017, 19:54:31
Zwecks meiner Fehlermeldung hab ich festgestellt dass das Problem nur bei Modellen der Series II besteht. Bei Geräten der Series III klappt alles einwandfrei. Die installierte Firmware ist bei beiden Versionen identisch, solltest du für irgendwas eventuell einen Log benötigen stell ich mich zum testen natürlich zur Verfügung  ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: geforce28 am 28 Dezember 2017, 01:14:16
Hallo Zusammen.

Erstmal vielen Dank für das tolle Modul.
Ich steige noch nicht ganz dahinter, wie ich folgendes Umsetzen kann:

1) Ist es möglich eine Datei (oder alle Dateien in einem Ordner) direkt abzuspielen, wie eine MP3, FLAC, etc. mit Angabe des Pfads ?

2) Kann ich direkt, ohne Auswahl von Channels einen bestimmten Track, Radiosender, etc abspielen lassen ?

3) Wie kann ich an den Anfang eines Albums springen (1. Track) ?

Habt ihr Ideen ? Oder habe ich Funktionen übersehen ?

Vielen Dank im Voraus ! :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 04 Januar 2018, 12:38:27
Ich habe mit der neuen Version so meine Probleme. TTS ging mit sauber installiertem minidlna problemlos - jetzt aber geht gar nichts mehr. Hier das Log mit verbose 5 bei set .. speak "Test"

2018.01.04 12:31:01 5: BOSEST: run mojo loop
2018.01.04 12:31:01 5: BOSEST: finished mojo loop
2018.01.04 12:31:02 5: BOSEST: run mojo loop
2018.01.04 12:31:02 5: BOSEST: finished mojo loop
2018.01.04 12:31:02 5: BOSEST: run mojo loop
2018.01.04 12:31:02 5: BOSEST: finished mojo loop
2018.01.04 12:31:03 5: BOSEST: run mojo loop
2018.01.04 12:31:03 5: BOSEST: finished mojo loop
2018.01.04 12:31:04 5: BOSEST: run mojo loop
2018.01.04 12:31:04 5: BOSEST: finished mojo loop
2018.01.04 12:31:05 5: BOSEST: run mojo loop
2018.01.04 12:31:05 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:05 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'header' => {
                               'request' => {
                                            'msgType' => 'RESPONSE',
                                            'requestID' => '1',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          },
                               'deviceID' => '50338B343509',
                               'method' => 'GET',
                               'url' => 'webserver/pingRequest'
                             },
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           }
                 }
        };

2018.01.04 12:31:05 5: BOSEST: finished mojo loop
2018.01.04 12:31:05 5: BOSEST: run mojo loop
2018.01.04 12:31:05 5: BOSEST: finished mojo loop
2018.01.04 12:31:06 5: BOSEST: run mojo loop
2018.01.04 12:31:06 5: BOSEST: finished mojo loop
2018.01.04 12:31:07 5: BOSEST: run mojo loop
2018.01.04 12:31:07 5: BOSEST: finished mojo loop
2018.01.04 12:31:07 5: BOSEST: run mojo loop
2018.01.04 12:31:07 5: BOSEST: finished mojo loop
2018.01.04 12:31:08 5: BOSEST: run mojo loop
2018.01.04 12:31:08 5: BOSEST: finished mojo loop
2018.01.04 12:31:09 5: BOSEST: run mojo loop
2018.01.04 12:31:09 5: BOSEST: finished mojo loop
2018.01.04 12:31:09 5: BOSEST: run mojo loop
2018.01.04 12:31:09 5: BOSEST: finished mojo loop
2018.01.04 12:31:10 5: BOSEST: run mojo loop
2018.01.04 12:31:10 5: BOSEST: finished mojo loop
2018.01.04 12:31:11 5: BOSEST: run mojo loop
2018.01.04 12:31:11 5: BOSEST: finished mojo loop
2018.01.04 12:31:12 5: BOSEST: run mojo loop
2018.01.04 12:31:12 5: BOSEST: finished mojo loop
2018.01.04 12:31:12 4: BOSEST: set /speaker => <play_info><app_key>Ml7YGAI9JWjFhU7D348e86JPXtisddBa</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Test</url><service>Test</service><volume>40</volume></play_info>
2018.01.04 12:31:13 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><status>/speaker</status>
2018.01.04 12:31:13 5: BOSEST: run mojo loop
2018.01.04 12:31:13 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:13 5: BOSEST: processXml:
$VAR1 = {
          'userActivityUpdate' => {
                                  'deviceID' => '50338B343509'
                                }
        };

2018.01.04 12:31:13 4: BOSEST: Unknown event, please implement:
$VAR1 = {
          'userActivityUpdate' => {
                                  'deviceID' => '50338B343509'
                                }
        };

2018.01.04 12:31:13 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:13 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '50338B343509',
                       'nowPlayingUpdated' => {
                                              'nowPlaying' => {
                                                              'artist' => 'Test',
                                                              'track' => {},
                                                              'album' => {},
                                                              'deviceID' => '50338B343509',
                                                              'playStatus' => 'BUFFERING_STATE',
                                                              'skipEnabled' => {},
                                                              'skipPreviousEnabled' => {},
                                                              'stationName' => {},
                                                              'source' => 'NOTIFICATION',
                                                              'sourceAccount' => '',
                                                              'art' => {
                                                                       'artImageStatus' => 'SHOW_DEFAULT_IMAGE'
                                                                     }
                                                            }
                                            }
                     }
        };

2018.01.04 12:31:13 5: BOSEST: parseAndUpdateNowPlaying
2018.01.04 12:31:13 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:13 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '50338B343509',
                       'volumeUpdated' => {
                                          'volume' => {
                                                      'targetvolume' => '40',
                                                      'actualvolume' => '40',
                                                      'muteenabled' => 'false'
                                                    }
                                        }
                     }
        };

2018.01.04 12:31:13 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:13 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '50338B343509',
                       'nowPlayingUpdated' => {
                                              'nowPlaying' => {
                                                              'artist' => 'Test',
                                                              'track' => {},
                                                              'album' => {},
                                                              'deviceID' => '50338B343509',
                                                              'playStatus' => 'PLAY_STATE',
                                                              'skipEnabled' => {},
                                                              'skipPreviousEnabled' => {},
                                                              'stationName' => {},
                                                              'source' => 'NOTIFICATION',
                                                              'sourceAccount' => '',
                                                              'art' => {
                                                                       'artImageStatus' => 'SHOW_DEFAULT_IMAGE'
                                                                     }
                                                            }
                                            }
                     }
        };

2018.01.04 12:31:13 5: BOSEST: parseAndUpdateNowPlaying
2018.01.04 12:31:13 5: BOSEST: finished mojo loop
2018.01.04 12:31:14 5: BOSEST: run mojo loop
2018.01.04 12:31:14 5: BOSEST: finished mojo loop
2018.01.04 12:31:15 5: BOSEST: run mojo loop
2018.01.04 12:31:15 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:15 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '50338B343509',
                       'nowPlayingUpdated' => {
                                              'nowPlaying' => {
                                                              'album' => {},
                                                              'deviceID' => '50338B343509',
                                                              'playStatus' => 'STOP_STATE',
                                                              'skipEnabled' => {},
                                                              'artist' => 'Test',
                                                              'track' => {},
                                                              'art' => {
                                                                       'artImageStatus' => 'SHOW_DEFAULT_IMAGE'
                                                                     },
                                                              'skipPreviousEnabled' => {},
                                                              'stationName' => {},
                                                              'source' => 'NOTIFICATION',
                                                              'sourceAccount' => ''
                                                            }
                                            }
                     }
        };

2018.01.04 12:31:15 5: BOSEST: parseAndUpdateNowPlaying
2018.01.04 12:31:15 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:15 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'nowPlayingUpdated' => {
                                              'nowPlaying' => {
                                                              'deviceID' => '50338B343509',
                                                              'source' => 'STANDBY',
                                                              'ContentItem' => {
                                                                               'isPresetable' => 'true',
                                                                               'source' => 'STANDBY'
                                                                             }
                                                            }
                                            },
                       'deviceID' => '50338B343509'
                     }
        };

2018.01.04 12:31:15 5: BOSEST: parseAndUpdateNowPlaying
2018.01.04 12:31:15 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:15 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'deviceID' => '50338B343509',
                       'volumeUpdated' => {
                                          'volume' => {
                                                      'muteenabled' => 'false',
                                                      'actualvolume' => '40',
                                                      'targetvolume' => '40'
                                                    }
                                        }
                     }
        };

2018.01.04 12:31:15 5: BOSEST: BOSE_50338B343509, received message.
2018.01.04 12:31:15 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                       'nowPlayingUpdated' => {
                                              'nowPlaying' => {
                                                              'deviceID' => '50338B343509',
                                                              'ContentItem' => {
                                                                               'isPresetable' => 'true',
                                                                               'source' => 'STANDBY'
                                                                             },
                                                              'source' => 'STANDBY'
                                                            }
                                            },
                       'deviceID' => '50338B343509'
                     }
        };

2018.01.04 12:31:15 5: BOSEST: parseAndUpdateNowPlaying
2018.01.04 12:31:15 5: BOSEST: finished mojo loop
2018.01.04 12:31:15 5: BOSEST: run mojo loop
2018.01.04 12:31:15 5: BOSEST: finished mojo loop


LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 06 Januar 2018, 17:33:58
Hi pah,
danke für das Log. Der Fehler bei dir ist, dass die "&" nicht durch "&amp;" ersetzt werden. Damit hat BOSE leider noch Probleme - Bug ist denen bereits bekannt.

Eigentlich wird das bei mir im Modul in folgender Zeile gefixed:
$translateUrl =~ s/\&/\&amp\;/g;
Hast du vielleicht irgendeine spezielle Version von perl oder sonst was besonderes?

Gruß
Dominik
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 06 Januar 2018, 20:54:29
Äh - nö. Vielleicht finde ich morgen Zeit, das mal zu überprüfen.

Noch ein Hinweis: Amazon Polly hat als TTS-Service nicht nur die bessere Stimmenauswahl (z.B. "Marlene", früher bei Ivona). Sondern auch keine Längenbeschränkung. Und zusätzlich kann man die Sprechweise durch Markup verändern.

Polly ist  kostenlos, solange man unter 5 Millionen Zeichen pro Monat bleibt.

https://aws.amazon.com/de/polly/


LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Alex76 am 16 Januar 2018, 14:18:14
Hallo,

hab versucht das Modul zum Laufen zu bekommen und stehe vor dem Problem, dass die Soundtouch nicht im gleichen Subnetz liegen, wie der FHEM Server.

Nun stellt sich die Frage, wie ich diese ohne Autodiscovery selbst definieren kann. Die IPs dafür hab ich ja im DHCP fixiert.

Vielleicht hat da jemand ein paar zeilen code für mich? ;)

danke

Alex
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: geforce28 am 16 Januar 2018, 19:44:09
Zitat von: Alex76 am 16 Januar 2018, 14:18:14
Hallo,

hab versucht das Modul zum Laufen zu bekommen und stehe vor dem Problem, dass die Soundtouch nicht im gleichen Subnetz liegen, wie der FHEM Server.

Nun stellt sich die Frage, wie ich diese ohne Autodiscovery selbst definieren kann. Die IPs dafür hab ich ja im DHCP fixiert.

Vielleicht hat da jemand ein paar zeilen code für mich? ;)

danke

Alex

Wie wärs denn mit attr Bose static IPs x.x.x.x
+ attr Bose userattr staticIPs
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: LuBeDa am 27 Januar 2018, 10:16:08
Hallo,

die neue Notification API ermöglicht es URLs von Mediendateien einfach abzuspielen. Z.B. beim speak Befehl wird für kurze Texte direkt die Google URL übergeben.

Vielleicht könnte der Maintainer einen neuen Befehl playURL o.ä einbinden der eine URL abspielt.

Damit könnte man sehr einfach fertig MP3s abspielen z.B. für eine Türklingel.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 20 März 2018, 14:04:51
Hallo,

zur info: Wenn ihr AMAD und BOSEST einsetzt kann dies zu Problemen (Soundtouch stürzt nach ein paar Minuten ab) führen.

AMAD nutz Port 8090 als Server Port und Bose zur Kommunikation zwischen den Geräten.

Das Problem läßt sich beheben indem man AMAD mit einem anderen Server Port konfiguriert.

Hier der Link mit den Details meines Problems
https://forum.fhem.de/index.php/topic,85946.0.html

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 22 März 2018, 10:13:57
Hallo,

da ich gerade am Monitoren bin wegen der anderen Geschichte mit AMAD ist mir noch folgendes aufgefallen.


2018.03.22 09:55:27.803 1: [Freezemon] myFreezemon: possible freeze starting at 09:55:26, delay is 1.801 possibly caused by: BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC)
2018.03.22 10:01:32.077 1: [Freezemon] myFreezemon: possible freeze starting at 09:55:57, delay is 335.075 possibly caused by: BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC)
2018.03.22 10:01:32.702 2: hub: disconnect
2018.03.22 10:01:34.572 3: BOSEST: BOSE_689E196304AC, new IP (192.168.10.112)
2018.03.22 10:01:34.853 3: hub: connected
2018.03.22 10:01:36.082 3: hub: new config
2018.03.22 10:06:01.767 1: [Freezemon] myFreezemon: possible freeze starting at 10:01:39, delay is 262.765 possibly caused by: BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC) BOSEST_checkWebSocketConnection(BOSE_689E196304AC) HttpUtils_Err(N/A) BlockingKill(N/A)


Währenddessen ist FHEM komplett blockiert. Gibt es die Möglichkeit das Non-Blocking auszuführen?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 18 April 2018, 14:37:47
Hab da auch mal eine Frage.

Die Einbindung und Steuerung der Bose Soundtouch 10 hat dank des Moduls und den Tipps hier prima geklappt.
Auch TTS funktioniert etc.

Allerdings kommt es vor, dass die Soundtouch in FHEM irgendwann als "offline" angezeigt wird und egal was ich in FHEM dann noch versuche, ich kann sie nicht mehr in den online-Status bekommen.

Per Schalter an der Box, per Fernbedienung und auch per App ist die Box zu dieser Zeit problemlos bedienbar.
Nur FHEM bekommt davon nichts mehr mit.

Einzig ein "rereadcfg" oder "shutdown/restart" von FHEM löst das Problem. Bis zum nächsten offline 1 oder 2 Tage später.

Kennt das jemand, bzw. ist eine Lösung bekannt?

WLAN Signalstärke ist ausreichend vorhanden, sonst würde sie auch per App nicht mehr erreichbar sein, denke ich.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 20 April 2018, 10:26:56
ich bin immer noch auf der Suche nach dem Problem, dass die Bose10 bei mir fast täglich in FHEM auf offline geht und nicht mehr bedienbar ist über FHEM (nur noch app und FB, siehe einen Beitrag drüber)

Habe das Device von der Bose nun mal auf Verbose 5 gestellt. Im Log tauchen nun "unzählige" Einträge dieser Art auf:
2018.04.20 10:21:47 5: BOSEST: run mojo loop
2018.04.20 10:21:47 5: BOSEST: finished mojo loop
2018.04.20 10:21:48 5: BOSEST: run mojo loop
2018.04.20 10:21:48 5: BOSEST: finished mojo loop
2018.04.20 10:21:48 5: BOSEST: run mojo loop
2018.04.20 10:21:48 5: BOSEST: finished mojo loop
2018.04.20 10:21:49 5: BOSEST: run mojo loop
2018.04.20 10:21:49 5: BOSEST: finished mojo loop
2018.04.20 10:21:50 5: BOSEST: run mojo loop
2018.04.20 10:21:50 5: BOSEST: finished mojo loop
2018.04.20 10:21:50 5: BOSEST: run mojo loop
2018.04.20 10:21:50 5: BOSEST: finished mojo loop
2018.04.20 10:21:51 5: BOSEST: run mojo loop
2018.04.20 10:21:51 5: BOSEST: finished mojo loop
2018.04.20 10:21:52 5: BOSEST: run mojo loop
2018.04.20 10:21:52 5: BOSEST: finished mojo loop
2018.04.20 10:21:53 5: BOSEST: run mojo loop
2018.04.20 10:21:53 5: BOSEST: finished mojo loop
2018.04.20 10:21:53 5: BOSEST: run mojo loop
2018.04.20 10:21:53 5: BOSEST: finished mojo loop
2018.04.20 10:21:54 5: BOSEST: run mojo loop
2018.04.20 10:21:54 5: BOSEST: finished mojo loop
2018.04.20 10:21:55 5: BOSEST: run mojo loop
2018.04.20 10:21:55 5: BOSEST: finished mojo loop
2018.04.20 10:21:55 5: BOSEST: run mojo loop
2018.04.20 10:21:55 5: BOSEST: finished mojo loop
2018.04.20 10:21:56 5: BOSEST: run mojo loop
2018.04.20 10:21:56 5: BOSEST: finished mojo loop
2018.04.20 10:21:57 5: BOSEST: run mojo loop
2018.04.20 10:21:57 5: BOSEST: finished mojo loop
2018.04.20 10:21:58 5: BOSEST: run mojo loop
2018.04.20 10:21:58 5: BOSEST: finished mojo loop
2018.04.20 10:21:58 5: BOSEST: run mojo loop
2018.04.20 10:21:58 5: BOSEST: finished mojo loop
2018.04.20 10:21:59 5: BOSEST: run mojo loop
2018.04.20 10:21:59 5: BOSEST: finished mojo loop
2018.04.20 10:22:00 5: BOSEST: run mojo loop
2018.04.20 10:22:00 5: BOSEST: finished mojo loop
2018.04.20 10:22:00 5: BOSEST: run mojo loop
2018.04.20 10:22:00 5: BOSEST: finished mojo loop
2018.04.20 10:22:01 5: BOSEST: run mojo loop
2018.04.20 10:22:01 5: BOSEST: finished mojo loop
2018.04.20 10:22:02 5: BOSEST: run mojo loop
2018.04.20 10:22:02 5: BOSEST: BOSE_0CBXXXX719F7, received message.
2018.04.20 10:22:02 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'header' => {
                               'url' => 'webserver/pingRequest',
                               'method' => 'GET',
                               'request' => {
                                            'requestID' => '1',
                                            'msgType' => 'RESPONSE',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          },
                               'deviceID' => '0CB2BXXXXXX7'
                             },
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           }
                 }
        };

2018.04.20 10:22:02 5: BOSEST: finished mojo loop
2018.04.20 10:22:03 5: BOSEST: run mojo loop
2018.04.20 10:22:03 5: BOSEST: finished mojo loop
2018.04.20 10:22:03 5: BOSEST: run mojo loop
2018.04.20 10:22:03 5: BOSEST: finished mojo loop
2018.04.20 10:22:04 5: BOSEST: run mojo loop
2018.04.20 10:22:04 5: BOSEST: finished mojo loop
2018.04.20 10:22:05 5: BOSEST: run mojo loop
2018.04.20 10:22:05 5: BOSEST: finished mojo loop
2018.04.20 10:22:05 5: BOSEST: run mojo loop
2018.04.20 10:22:05 5: BOSEST: finished mojo loop
2018.04.20 10:22:06 5: BOSEST: run mojo loop
2018.04.20 10:22:06 5: BOSEST: finished mojo loop
2018.04.20 10:22:07 5: BOSEST: run mojo loop
2018.04.20 10:22:07 5: BOSEST: finished mojo loop
2018.04.20 10:22:07 5: BOSEST: run mojo loop
2018.04.20 10:22:07 5: BOSEST: finished mojo loop
2018.04.20 10:22:08 5: BOSEST: run mojo loop
2018.04.20 10:22:08 5: BOSEST: finished mojo loop
2018.04.20 10:22:09 5: BOSEST: run mojo loop
2018.04.20 10:22:09 5: BOSEST: finished mojo loop
2018.04.20 10:22:10 5: BOSEST: run mojo loop
2018.04.20 10:22:10 5: BOSEST: finished mojo loop
2018.04.20 10:22:10 5: BOSEST: run mojo loop
2018.04.20 10:22:10 5: BOSEST: finished mojo loop
2018.04.20 10:22:11 5: BOSEST: run mojo loop
2018.04.20 10:22:11 5: BOSEST: finished mojo loop
2018.04.20 10:22:12 5: BOSEST: run mojo loop
2018.04.20 10:22:12 5: BOSEST: finished mojo loop


usw. usw.

Ist das normal? Eine Seite zuvor hier im Thread sah ein Log auch so aus.
Ich lasse es nun einmal so laufen, vielleicht kann man etwas sehen wenn das Modul auf offline geht ...

Habe dazu ein kleines DOIF laufen, was mich per telegram informiert, wenn das Modul auf offline schaltet

hier noch die Lists der Box und des Moduls:
Internals:
   CHANGED   
   DEF        0Cxxxxxxx7
   DEVICEID   0Cxxxxxxx7
   NAME       BOSE_0Cxxxxxxx7
   NR         1049
   STATE      online
   TYPE       BOSEST
   READINGS:
     2018-04-20 09:39:47   IP              192.168.123.235
     2018-04-20 10:14:03   source          STANDBY
     ...
     2018-04-20 09:39:48   volume          44
   helper:
     IP         192.168.123.235
     airplaySupport 0
     auxSupport 1
     bluetoothSupport 1
     bosewebsocket 0bd217b827fdf1c445b9bac14fc26407
     dlnaServers nas,NI-tank-xupnpd,Philips_hue,hd1-ng-xupnpd,AVM_FRITZ!Mediaserver
     dt_counter 1
     dt_lastChange 0
     dt_nowSelectionUpdatedCH 5
     dt_nowSelectionUpdatedTS 1524211541.2584
     lastSpokenChannel
     mojoping   d48dcd51bc1b4bb0d98928e29c75af14
     requestId  1
     sent_off   1
     sent_on    0
     supportedBassCmds
     supportedSourcesCmds aux,bluetooth,bt-discover
     switchSource
     wsconnected 1
     sources:
       HASH(0x4c59328)
       HASH(0x53aa448)
       HASH(0x563eed8)
       HASH(0x5646d10)
       HASH(0x5643068)
       HASH(0x564be78)
       HASH(0x563f790)
       HASH(0x562d588)
       HASH(0x562d090)
       HASH(0x5649e88)
       HASH(0x5457690)
       HASH(0x5646c50)
       HASH(0x564b1e8)
       HASH(0x564b4d0)
       HASH(0x5649c18)
       HASH(0x564b548)
       HASH(0x53a9f20)
       HASH(0x53aa220)
       HASH(0x562db28)
     stateCheck:
       actionActive 0
       enabled    0
Attributes:
   alias      SoundTouch 10
   room       Bose,Multimedia
   speakChannel 7-9
   ttsDirectory /opt/fhem/tts
   ttsLanguage de
   ttsVolume  60
   userattr   autoZone channel_07 channel_08 channel_09 channel_10 channel_11 channel_12 channel_13 channel_14 channel_15 channel_16 channel_17 channel_18 channel_19 channel_20 ignoreDeviceIDs speakChannel ttsDirectory ttsLanguage ttsSpeakOnError ttsVolume
   verbose    5
   


Internals:
   DEVICEID   0
   NAME       Soundtouch
   NR         1048
   STATE      initialized
   TYPE       BOSEST
   helper:
     dlnaServers
     supportedBassCmds
     supportedSourcesCmds
     DISCOVERY_PID:
       abortArg   
       abortFn   
       arg        Soundtouch|HASH(0x3f53868)
       bc_pid     196
       finishFn   BOSEST_finishedDiscovery
       fn         BOSEST_Discovery
       pid        DEAD:12331
       terminated 1
       timeout   
Attributes:
   room       Bose
   staticIPs  192.168.123.235
   userattr   autoAddDLNAServers staticIPs

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 20 April 2018, 14:21:03
also hier ist es wieder passiert.
Zwischen den ganzen Log-Ausgaben taucht das hier einmal auf wenn die Box auf offline geht:

2018.04.20 14:17:50 5: BOSEST: finished mojo loop
2018.04.20 14:17:51 5: BOSEST: run mojo loop
2018.04.20 14:17:51 5: BOSEST: finished mojo loop
2018.04.20 14:17:51 5: BOSEST: run mojo loop
2018.04.20 14:17:51 5: BOSEST: finished mojo loop
2018.04.20 10:17:51 3: BOSEST: BOSE_0CxxxxxxxxxF7, WebSocket connection dropped - try reconnect.
2018.04.20 14:17:52 5: BOSEST: run mojo loop
2018.04.20 14:17:52 5: BOSEST: finished mojo loop
2018.04.20 14:17:53 5: BOSEST: run mojo loop
2018.04.20 14:17:53 5: BOSEST: finished mojo loop


einen reconnect kann man ja nicht selbst auslösen, also bleibt nur fhem rereadcfg oder restart. Danach läuft es wieder bis zum nächsten Problem.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: kaputt am 20 April 2018, 17:05:47
Ja das kenne ich, eine der 4 war sporadisch nicht zu erreichen.
Ich habe mir deswegen ein Device angelegt "define bosesuch BOSEST" fertig.
Seit dem ist Ende mit offline. Kann dir aber nicht sagen ob dies eine Lösung ist aber zumindest ein Workaround.
Eigentlich bin da eher zufällig darüber gestolpert.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 28 April 2018, 07:26:52
Ohne etwas geändert zu haben ist das Problem seit über 1 Woche nicht mehr aufgetreten.

Mal beobachten. Sieht aber ganz gut aus und jetzt können die nächsten Soundtouch Boxen einziehen :)

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elektro_rainer am 01 Juni 2018, 15:42:59
hat jemand schon mal versucht eine bose 650 in's ftui zu bekommen?

... an, aus, lautstärke kein problem, läuft easy,.... aber wie bekomme ich einen drückbaren "sender" button?
(wenn ich auf ein n-joj icon drücke soll das channel preset für n-joy gespielt werden usw.....?)

danke und grüße,
rainer
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 03 Juni 2018, 13:40:28
Hy nicht so wie du das willst aber

<div data-type="switch" data-device="BOSE_XXXXX" data-icon="fa-music" data-get="state" data-get-on="playing" data-get-off="online" data-set="power "class="small"></div>
<div data-type="select" data-device="BOSE_XXXXX" data-items='["1","2","3","4","5","6"]' data-get="channel" data-set="channel" class="top-space-1x"></div>


habe ich das laufen
2x Soundtouch 10, 1x Soundtouch 520
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elektro_rainer am 03 Juni 2018, 17:04:00
danke, das passt  ;-)
ich hab gerade noch den alias entdeckt und das ganze so eingebaut:
<div data-type="select" data-device="BOSE_XXXX" data-items='["1","2","3","4","5"]' data-alias='["Sunshine Live", "Antenne Bayern", "Bayern 3", "N-Joy", "Gong 96.3"]' data-get="channel" data-set="channel" class="top-space-1x"></div>
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: GabbaGundolf 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.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning 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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: GabbaGundolf 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.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Hellspawn 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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: GabbaGundolf 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

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 13 Juni 2018, 15:32:42
Oh, bei mir läuft das auf einer ST10 problemlos. Was sagt denn das Log ?

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein 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.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Schoebie700 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

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning 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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein 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?

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning 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

Zitatpython 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

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Carstenb 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
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 17 August 2018, 16:04:42
evtl. setzt Du die Befehle zu schnell hintereinander ab. Ich habe eine solche Befehlskette in einem DOIF (Wecker). Und da lasse ich zwischen den Befehlen mit dem Attribut Wait 3 Sekunden Pause.

also so wie hier:
Zitat von: Prof. Dr. Peter Henning am 10 Dezember 2017, 11:56:39
Und noch ein dritter Post in Folge: Der smarte Wecker bekommt erst einmal testweise ein DOIF:


define Wecker_Bose DOIF
([[timeProfileC:wakeup]])
(set BOSE_50338B343509 volume 20)
(set BOSE_50338B343509 channel 20)
(set BOSE_50338B343509 volume 25)
(set BOSE_50338B343509 volume 30)
(set BOSE_50338B343509 volume 35)
(set BOSE_50338B343509 volume 40)

timeProfileC:wakeup ist ein Reading, in den die Weckzeit eingetragen wird. Dieses DOIF steigert die Lautstärke über 20 Sekunden von 20 auf 40. Achtung: Weil die Hardware aussteigt, wenn zwei Kommandos zu schnell hintereinander kommen, ist die gesamte Kommandosequenz in Teile zerlegt. Mit dem Attribut
attr Wecker_Bose wait 0,2,5,5,5,5
wird der zweite Teil um 2 Sekunden verzögert, der 3. und alle Weiteren um 5 Sekunden.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 17 August 2018, 16:16:02
Zitat von: Prof. Dr. Peter Henning am 20 Juli 2018, 15:55:27
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.


und mit welchem Befehl kann man eine solche MP3 über die Url an die Soundtouch übergeben?
set BOSE_08DF1F0711233322  ??? http://IP_ADRESSE FHEM:8083/sounds/tmp/IRGENDEINE UUID.mp3  ?!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 18 August 2018, 22:48:12
Hallo Zusammen,

eigentlich hatte ich meinen Soundtouch schon zum Sprechen gebracht, doch seit einiger Zeit bleibt er stumm...
Über die Soundtouch-Software finde ich den minidlna-Server und kann die Mp3's dort auch abspielen. Es scheinen aber keine neuen Dateien erzeugt zu werden...

Heute hatte ich Zeit mich dem Problem etwas zu widmen...
Ich habe mit
Zitatset <BOSE_000....> speak "Guten Morgen" 35 de
versucht ihn zum sprehen zu bewegen, aber leider passierte nix.
Dann habe ich das VerboseLevel auf 5 gesetz und es nochmal probiert... und folgende Meldunge im Log gefunden:
2018.08.18 5: BOSEST: run mojo loop
2018.08.18 5: BOSEST: finished mojo loop
2018.08.18 4: BOSEST: set /speaker => <play_info><app_key>fürsForumentnommen</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Guten%20Morgen</url><service>Guten Morgen</service><volume>35</volume></play_info>
2018.08.18 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>
2018.08.18 5: BOSEST: run mojo loop


und bin nun irritiert warum hier ein 403'er fehler kommt. An dem Rechner an dem ich gerade sitze kann ich die URL problemlos aufrufen, da der Raspi auf dem FHEM läuft auch ständig andere Dinge aus dem Netz abfragt, geht dort grundsätzlich auch die Internetverbindung.
Kommt die Rückmeldung mit dem 403'er evtl. nicht vom ST sondern von Google's Translate??  Bzw. woran kann es noch liegen?

Vielen Dank für Euere Ideen und Hilfe bereits im Voraus!

VG
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: santa0912 am 27 August 2018, 18:21:23
Hallo zusammen,

ich habe heute erfolgreich bosest zusammen mit einem BOSE SoundTouch 10 in Betrieb genommen. TTS, Musik usw. funktioniert ohne Probleme.
Was ich bislang nicht rausbekommen habe (ähnlich wie fred_feuerstein) ist, wie man lokale MP3´s (zB als Gong) abspielt.

Ich habe folgenden Befehl (mit play und playTrack) probiert, jedoch ohne Soundausgabe:

set WZ_Lautsprecher play "http://192.168.xxx.yyy:8083/fhem/sounds/gong.mp3"
Die Datei ist vorhanden und mit anderer Software auch erreichbar.

Im Log findet sich folgendes:
2018.08.27 18:13:25 5: BOSEST: WZ_Lautsprecher, received message.
2018.08.27 18:13:25 5: BOSEST: processXml:
$VAR1 = {
          'msg' => {
                   'header' => {
                               'deviceID' => 'C4F312B91212',
                               'method' => 'GET',
                               'request' => {
                                            'requestID' => '1',
                                            'msgType' => 'RESPONSE',
                                            'info' => {
                                                      'type' => 'new'
                                                    }
                                          },
                               'url' => 'webserver/pingRequest'
                             },
                   'body' => {
                             'pingRequest' => {
                                              'pong' => 'true'
                                            }
                           }
                 }
        };

2018.08.27 18:13:25 5: BOSEST: finished mojo loop


Hat jemand einen Tipp, wie man MP3´s abspielt? Aus dem Log werde ich leider auch nicht schlau...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: thumu am 28 August 2018, 22:08:24
Lokale MP3s abspielen geht meines Wissens noch nicht, dies ist hier schon mehrfach als Feature Request genannt worden.
Es gibt aber einen Workaround über ein externes Python-Script (habe ich selber noch nicht ausprobiert, steht aber auf meiner ToDo-Liste).
Sieh Dir am besten mal den Post #520 aus diesem Thread an, dort gibt es einige Anregungen.

VG
thumu
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 30 August 2018, 12:51:55
Ich habe ein gewaltiges Problem, weil das Modul einen meiner Raspberrys immer wieder temporär einfriert. Freezemon zeigt als Quelle dafür

Zitattmr-BOSEST_checkWebSocketConnection(BOSE_xxxx)

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: santa0912 am 30 August 2018, 16:35:11
Danke thumu,

ich habe es jetzt letztlich über Docker mit einem miniDLNA Server gelöst. Schöner wäre es zwar direkt mp3 abszuspielen, aber so geht es auch für meine Zwecke.

Ich würde gerne einen Dummy mit einer Nachricht befüllen und dann per notify einen Gong abspielen, gefolgt von der Durchsage per tts.
Der Gong funktioniert soweit, nur bekomme ich die Variable in perl nicht aufgerufen, da ich den Inhalt bei speak ja in "..." übergeben muss.

An der Stelle meckert der Editor schon und ohne "" funktioniert es nicht.





Audiomessage:.*
{my $text = Value("Audiomessage");
fhem("set WZ_Lautsprecher playTrack gong");
fhem("sleep 4");
fhem("set WZ_Lautsprecher speak [b]"[/b]$text[b]"[/b]");
#}


Hat jemand dazu einen Tipp?

Danke,

Claus
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 30 August 2018, 19:16:48
Klar doch. Regeln für Anführungszeichen lernen.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 31 Oktober 2018, 09:25:11
ich muss noch einmal auf das Problem mit den Abbrüchen zurückkommen.


Ich habe jetzt im Log wirklich laufend solche Nettigkeiten:

2018.10.31 09:15:21 3: BOSEST: BOSE_50338B343509, new IP (192.168.0.105)
2018.10.31 09:15:21 3: BOSEST: BOSE_C4F312DD64C7, new IP (192.168.0.104)
2018.10.31 09:15:22 3: BOSEST: BOSE_C4F312DD64C7, WebSocket connection succeed.
2018.10.31 09:15:22 3: BOSEST: BOSE_50338B343509, WebSocket connection succeed.


Allerdings kann es sich nicht um das WLAN handeln - eines der beiden Systeme ist über Kabel angeschlossen.

LG

pah

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: docb am 17 November 2018, 13:52:15
Servus,
sagt Mal hat jemand zufällig das Modul schon mit der Soundbar 700 getestet? Die läuft ja nicht mehr als Soundtouch und hat eine eigene App. Überlege nämlich gerade ob ich mir die hole, will die aber natürlich wie zB. meinen ST10 in dem einbinden.
Viele Grüße
doc
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: FHEM_Starter am 18 November 2018, 16:29:38
Hallo,

nach dem Lesen von 36 Seiten habe ich keinen Lösungsansatz und bitte um Eure Hilfe: ich habe in 6 verschiednenen Räumen Bose LÖausprecher installiert, 5 SoundTouch 10 und eine SoundBar (Cinemate). Annahme : auf diesen spielen unterschiedliche Sender oder sind aus und ich möchte aus FHEM eine TTS vorlesen lassen.

Wenn ich mit playEverywhere arbeite und das Device aus war, schaltet sich zuerst der letzte Sender ein, bevor der Text vorgelesen wird. Das ist aber nicht gewünscht. Zumal ein stopPlayEverywhere die Devices ausschaltet, was auch so nicht gewollt ist.
Ziel ist es, den Text vorlesen zu lassen und dann den letzten Zustand wieder einzunehmen. Was muss ich tun, um das zu erreichen?

Danke und Gruß
Wolfgang
Titel: BOSE hat Internetradio gestoppt, nur noch TuneIn
Beitrag von: Brice am 19 November 2018, 13:29:52
Hat es schon jemand bemerkt?

Nachdem meine Frau heute vergeblich den Hampelmann vor dem Bewegungsmelder in der Wohnküche gemacht hat und die Bose Soundtouch 10 nur fröhlich vor sich hingeblinkt hat, aber der progammierte Sender nicht abgespielt wurde, habe ich mich mal auf die Suche gemacht: Bose hat den Dienst Internetradio abgeschaltet, es läuft jetzt über TuneIn (https://community.bose.com/t5/SoundTouch-Lautsprecher/ST-10-und-ST-20-verbinden-sich-pl%C3%B6tzlich-nicht-mehr-mit-dem/m-p/158279#).

Also habe ich meine Routinen über
attr <BoseDevice> saveChannel x
geändert. Anleitung gibt es hier (https://forum.fhem.de/index.php/topic,46838.msg460305.html#msg460305)

Stefan
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Supadone am 19 November 2018, 13:50:42
Super, vielen Dank! Hab auch schon den Auftrag bekommen zu schauen was da los ist  ;D
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Herr Paschulke am 20 November 2018, 19:28:05
Nachdem Bose für das Internetradio das Verzeichnis von vTuner auf tune-in umgestellt hat, fehlen leider einige Stationen, die tune-in aus seinen Listen in der Vergangenheit gelöscht hat. Darunter alle radionomy-Stationen.
Gibt es eine Möglichkeit, Streaming-URL's direkt als Preset abzuspeichern? Offensichtlich gibt es hier [1, 2] einen Ansatz dazu, wie man ohne DLNA (?) Dateien wiedergeben kann.

[1] https://www.symcon.de/forum/threads/29922-Bose-SoundTouch-Modul/page6
[2] http://www.appproject.de/Hausautomatisierung/FunkGong/BoseSoundTouchHomematicFunkGong.html
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Pulsar07 am 26 November 2018, 08:47:04
Habe eben mein 3 Bosesysteme mittels BOSEST zum Laufen bekommen. Was mir in der https://fhem.de/commandref.html#BOSEST gefehlt hat, war das Attribut
staticIPs.
Das Suchen danach war aufwendig und es ist ja ein offizelles Feature von BOSEST.
Folgender Eintrag in der commandref würde meines Erachtens hier helfen:
attr bosesystem staticIPs <IP-Adresse>[,IP-Adresse] - possibilty to configure BOSE systems if autodiscover fails (several subnets on server, subnet not directly connected, ...)

Wer könnte das veranlassen?

Gruß Rainer
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 26 November 2018, 11:54:33
Datei MAINTAINERS.txt => Maintainer mit PM kontaktieren.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: bmwfan am 29 November 2018, 21:36:29
Hallo,
auch ich bin nun Besitzer einer Bose ST. Nach der Anleitung im ersten Thread habe ich nach einem Upgrade des Raspi die ersten Libraries installiert. Hat fehlerfrei funktioniert.
Dann wollte ich das TTS installieren, bekomme aber folgende Meldungen:

pi@Raspi03:~ $ sudo apt-get install libexif-dev libjpeg-dev libflac-dev libvorbis-dev libsqlite3-dev libavformat-dev libid3tag0-dev
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket libexif-dev kann nicht gefunden werden.
E: Paket libjpeg-dev kann nicht gefunden werden.
E: Paket libflac-dev kann nicht gefunden werden.
E: Paket libvorbis-dev kann nicht gefunden werden.
E: Paket libsqlite3-dev kann nicht gefunden werden.
E: Paket libid3tag0-dev kann nicht gefunden werden.


Als jemand ohne große Kenntnisse von Linux interpretiere ich das so, dass der Pfad zu den Libraries nicht gefunden wird. Wie behebe ich das Problem?

Gruß Jürgen
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 29 November 2018, 21:52:12
Hi Jürgen,

schau mal ob Du in der Datei /etc/apt/sources.list die ,,dev" als Installationsmedien frei gegeben hast.
Ggf. sind die dort mit # auskommentiert.

Das # entfernen und anschließend die Quellen neu einlesen.
sudo apt-get update
sudo apt-get upgrade

Gruß
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: bmwfan am 02 Dezember 2018, 14:11:53
Hallo Treibhaus,
die sources.list schaut so aus:
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi


Da steht nichts von dev.
Gruß Jürgen
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: bmwfan am 02 Dezember 2018, 14:51:20
Habe auch den minidlna nach Anleitung im Post 384 installiert. Bekomme aber beim Teststring diese Meldung und im angegebenen Verzeichnis ist keine Datei. Loglevel 5.
2018.12.02 14:45:40.451 3: BOSEST: BOSE_2C6B7DF973AD, new IP (192.168.178.77)
2018.12.02 14:45:43.144 3: BOSEST: BOSE_2C6B7DF973AD, WebSocket connection succeed.
.
.
.
2018.12.02 14:47:15.106 4: BOSEST: set /speaker => <play_info><app_key>Ml7YGAI9JWjFhU7D348e86JPXtisddBa</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Dies%20ist%20ein%20Test</url><service>Dies ist ein Test</service><volume>40</volume></play_info>
2018.12.02 14:47:15.109 3: BOSEST: failed: 500 No Host option provided


Wo kann der Fehler liegen?
Gruß Jürgen
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: mi.ke am 10 Dezember 2018, 19:31:15
Hi
zunächst . .  .vielen Dank für das Modul.

mal ne kurze Frage:

Bekomme im Log immer mal wieder folgende Meldung:
2018.12.10 18:00:34 3: BOSEST: BOSE_60640540xxxx, new IP (192.168.1.xx)

Diese Meldung scheint LogLevel 3 zu haben.

Aber die Meldung kommt immer, auch wenn verbose 0 gesetzt ist.
Ist das gewollt?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Parador am 27 Dezember 2018, 17:56:05
Hallo Zusammen,

sorry ich poste das nochmal -> eigentlich hatte ich meine Soundtouch 20 schon zum Sprechen gebracht, doch seit einiger Zeit bleibt er stumm...
Über die Soundtouch-Software finde ich den minidlna-Server und kann die Mp3's dort auch abspielen. Auch kann ich mit <RaspiIP>:8200 darauf zugreifen, Rechte am Verzeichnis habe ich geprüft. Es scheinen aber keine neuen Dateien erzeugt also am Raspi gespeichert zu werden...

Ich habe mit
Zitatset <BOSE_000....> speak "Test" 40 de
versucht ihn zum sprechen zu bewegen, aber leider passierte nix.
Dann habe ich das VerboseLevel auf 5 gesetz und es nochmal probiert... und folgende Meldunge im Log gefunden:
Code: [Auswählen]

2018.12.27 17:50:52 5: BOSEST: run mojo loop
2018.12.27 17:50:52 5: BOSEST: finished mojo loop
2018.12.27 17:50:52 4: BOSEST: set /speaker => <play_info><app_key>Ml7YGAI9JWjFhU7D348e86JPXtisddBa</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Test</url><service>Test</service><volume>40</volume></play_info>
2018.12.27 17:50:52 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>
2018.12.27 17:50:53 5: BOSEST: run mojo loop
2018.12.27 17:50:53 5: BOSEST: finished mojo loop


und bin nun irritiert warum hier ein 403'er fehler kommt. An dem Rechner an dem ich gerade sitze kann ich die URL problemlos aufrufen, da der Raspi auf dem FHEM läuft auch ständig andere Dinge aus dem Netz abfragt, geht dort grundsätzlich auch die Internetverbindung. Über ping vom Raspi aus komme ich auch zu translate.google.com..
Kriegt man raus, wer hier die Rückmeldung mit dem 403'er gibt?
Bzw. woran kann es noch liegen? Habe gelesen, dass evtl. kein minidlna mehr benötigt würde, ist das inzwischen "schädlich"?

Vielen Dank für Euere Ideen und Hilfe bereits im Voraus!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: XxX_Cobra_XxX am 30 Dezember 2018, 18:54:42
Kann mir bitte jemand helfen und zwar: weiß jemand mit welchem Befehl man zur TV- Source am Soundtouch 300 schalten kann?

Ich habe leider nur folgende Auswahlmöglichkeiten bei dem set source Befehl:

-->bluetooth
-->bt-discovbershuffle:off
-->off

Bitte helft mir ich bräuchte das unbedingt und hab schon stundenlang im FHEM-Forum und bei google gesucht und nichts dazu gefunden.   :-\

Liebe Grüße

Daniel
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 05 Januar 2019, 10:05:36
Zitat von: Schoebie700 am 01 Juli 2018, 22:38:35
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");

Falls Du noch nicht weiter bist, versuche mal in der FHEM Eingabezeile folgendes:

set BOSE_B0D5CC18E620 createZone B0D5CC18E620
set BOSE_985DAD2B4EFC addToZone B0D5CC18E620


Da es egal ist, an welches device Du den addToZone-Befehl sendest, sollte auch folgendes funktionieren:

set BOSE_B0D5CC18E620 createZone B0D5CC18E620
set BOSE_B0D5CC18E620 addToZone B0D5CC18E620
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 05 Januar 2019, 11:44:30
Zitat von: Malc am 13 Februar 2017, 16:29:42
Ich teste weiter mit dem tollen Modul, mit der Zonenerstellung komme ich noch klar.
Habe ich das richtig verstanden das es immer eine Zone geben kann?

Ich starte eine Preset: set Bose.EZ channel 2

Dann lege ich eine Zone an:
set BoseSystem createZone Bose.EZ
(Bose.EZ ist hier der Name der Box im Esszimmer, ich könnte aber einen beliebigen Namen nehmen?

und füge ich weitere Geräte hinzu:
set BoseSystem addToZone Bose.KU
set BoseSystem addToZone Bose.HA


so geht es:

set Bose.EZ createZone 1234567890AB
set Bose.KU addZone 1234567890AB
set Bose.KU addZone 1234567890HA


Als Zonenname muss die deviceID (statt 1234567890AB) deines Masters (statt 1234567890AB) verwendet werden. Die findest Du unter "internals" deines Soundtouch devices. (Du musst das Gerät Bose.EZ anklicken, dann in der ersten Tabelle)

mfG
Dirk
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Wagrier am 12 Januar 2019, 19:14:12
Hi allesamt.

Tolles Modul - Allerdings pralle ich bzgl der Multiraumbenutzung gegen die Wand.

Ich habe zwei ST: 
WZ_ST20  (Soundtouch20)
EZ_ST10   (Soundtouch 10)

Diese möchte ich nun so per FHEM schalten, dass wenn WZ_ST20 per Fernbedienung aktiviert wird automatisch EZ_ST10 gestartet wird und automatisch  eine Zone mit EZ_ST10 erzeugt wird.

Gut währe auch, wenn die Volumeeinstellungen der WZ_ST20 an die EZ_ST10 weitergereicht werden.

Ist dies irgendwie möglich (Ich kann zwar über die define xx notify per web die Geräte schalten - Allerdings nicht über die FB.

Anscheinend schlägt hier irgendwie die indirekte Nutzung fehl!

Beste Gruesse
Jörg
 
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 12 Januar 2019, 20:11:13
Multiroom kanst Du aktivieren, indem du innerhalb einer sekunde zweimal einen Present drückst.

Das mit der Lautstärke müsste über ein notify gehen, dass auf das reading zoneMaster reagiert.
Aber frag mich nicht, wie man das programiert. Wenn Du das hinbekommst, poste bitte hier, wie man das macht.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: XxX_Cobra_XxX am 13 Januar 2019, 03:30:50
Zitat von: XxX_Cobra_XxX am 30 Dezember 2018, 18:54:42
Kann mir bitte jemand helfen und zwar: weiß jemand mit welchem Befehl man zur TV- Source am Soundtouch 300 schalten kann?

Ich habe leider nur folgende Auswahlmöglichkeiten bei dem set source Befehl:

-->bluetooth
-->bt-discovbershuffle:off
-->off

Bitte helft mir ich bräuchte das unbedingt und hab schon stundenlang im FHEM-Forum und bei google gesucht und nichts dazu gefunden.   :-\

Liebe Grüße

Daniel

Kann mir niemand helfen? Funktioniert das vielleicht aus technischen Gründen gar nicht?  :(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Wagrier am 13 Januar 2019, 17:52:22
Zitat von: Wagrier am 12 Januar 2019, 19:14:12
Hi allesamt.

Tolles Modul - Allerdings pralle ich bzgl der Multiraumbenutzung gegen die Wand.

Ich habe zwei ST: 
WZ_ST20  (Soundtouch20)
EZ_ST10   (Soundtouch 10)

Diese möchte ich nun so per FHEM schalten, dass wenn WZ_ST20 per Fernbedienung aktiviert wird automatisch EZ_ST10 gestartet wird und automatisch  eine Zone mit EZ_ST10 erzeugt wird.

Gut währe auch, wenn die Volumeeinstellungen der WZ_ST20 an die EZ_ST10 weitergereicht werden.

Ist dies irgendwie möglich (Ich kann zwar über die define xx notify per web die Geräte schalten - Allerdings nicht über die FB.

Anscheinend schlägt hier irgendwie die indirekte Nutzung fehl!

Beste Gruesse
Jörg


Bin nun etwas weiter:
Hi,

Multiroom Zone erzeugen geht indem der folgende Befehl abgesetzt wird

set WZ_ST20 createZone B0D5CC15xxxx,C4F312C4xxxx

Dabei ist der WZ_ST20  der Zonemaster ist mit den beiden Mitgliedern (Seviceid - Kommasepariert)

Ein nachträgliches Ändern würde also wie folgt aussehen (immer aus der Sicht des ZoneMasters)

set WZ_ST20 addToZone C4F312C4xxxx


Das mit dem Reading auf zonemaster muss ich mir anlesen!

Danke
Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Hembo am 23 Januar 2019, 09:11:08
Hallo zusammen,
Ich nutze seid letzter Woche das Bose Soundtouch Wireless Link.
Es wird vom Modul erkannt und stellt die selben Einstellungen wie bei der Soundtouch 10 zur verfügung.
Jedoch funktioniert die set Source Reihe nicht. Ich kann also kein aux und Bluetooth per Fhem aktivieren.
Ausschalten, Volume, Channel und Play everywhere funktioniert super.
Gibt es da eine Möglichkeit das zu beheben? Bose Soundtouch Wireless link soll sich bei mir automatisch auf Aux stellen sobald mein TV den State on liefert. Das ist Mit der kleinen 10er möglich. Wäre also super wenn das irgendwie gefixt werden könnte dass es auch auf dem Link funktioniert.

Besten Dank im Voraus ! (:
Andreas
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: terkens am 02 Februar 2019, 23:03:34
Lässt sich mit dem Modul auch der Bose Home Speaker 500 steuern?

Gruß
Tom
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Miami am 03 Februar 2019, 18:17:13
Hallo,

ich habe mal wieder (mit besten Wissen und Gewissen) die HTML-Hilfe aktualisiert. Diesmal ist auch eine deutsche Übersetzung dabei.
Da ich kann nicht alles testen kann (z.B. TTS), könnte es sein, dass nicht alles korrekt ist.

Wenn es so passt, kann es gerne wieder im Modul aktualisiert werden.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: flipse am 07 Februar 2019, 20:29:08
Hallo zusammen,
seit heute findet Fhem meine Bose Soundtouchs nicht mehr.
Ich habe die Libs nochmal alle aktualisiert, aber leider hat sich nichts getan.
Wie kann ich noch prüfen?
Manuelle IP Adresse (staticIps) hilft, aber mir wäre schon lieber, wenn es von selbst gefunden würde

Das hier kam gerade im Log

2019.02.07 19:26:27 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:26:27 5: BOSEST: finished discovery
2019.02.07 19:27:36 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:27:36 5: BOSEST: finished discovery
2019.02.07 19:28:45 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:28:45 5: BOSEST: finished discovery
2019.02.07 19:29:54 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:29:54 5: BOSEST: finished discovery
2019.02.07 19:31:04 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:31:04 5: BOSEST: finished discovery
2019.02.07 19:32:13 3: BOSEST: Discovery failed with: Can't connect to  192.168.178.42:8090

Name or service not known at /usr/share/perl5/LWP/Protocol/http.pm line 49.

2019.02.07 19:32:13 5: BOSEST: finished discovery


Ok, das kam nur, wenn ich staticIps vergeben habe.
Wenn nicht kommt nur:

2019.02.07 19:39:26 5: BOSEST: finished discovery

Aber die Bose Systeme stehen weiteren lediglich auf initialized
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 09 Februar 2019, 23:04:25
Zitat von: Miami am 03 Februar 2019, 18:17:13
Hallo,

ich habe mal wieder (mit besten Wissen und Gewissen) die HTML-Hilfe aktualisiert. Diesmal ist auch eine deutsche Übersetzung dabei.
Da ich kann nicht alles testen kann (z.B. TTS), könnte es sein, dass nicht alles korrekt ist.

Wenn es so passt, kann es gerne wieder im Modul aktualisiert werden.

Danke dir vielmals fuer das Update! Ich habe es eben im SVN commitet.


@flipse, der Dienst kann beim Discovery auf deine Lautsprecher nicht connecten ('can't connect to ...:8090'). Hast du vielleicht mehrere Subnetze. Das macht bei einigen Probleme beim Discovery.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: flipse am 10 Februar 2019, 07:54:31
Zitat von: dominik am 09 Februar 2019, 23:04:25
Danke dir vielmals fuer das Update! Ich habe es eben im SVN commitet.


@flipse, der Dienst kann beim Discovery auf deine Lautsprecher nicht connecten ('can't connect to ...:8090'). Hast du vielleicht mehrere Subnetze. Das macht bei einigen Probleme beim Discovery.

Hi. Ne habe ich nicht. Das war ein Fehler bei der static ip. Habe ich wieder rausgenommen. Aber nun wird die SoundTouch 10 nicht mehr gefunden. Nur  die Lifestyle, die ich mit static in angegeben habe
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2019, 10:08:26
Wenn du mit staticIP schon einen Fehler bekommst, kann discovery nicht funktionieren. Lt. Fehler kann dein Rechner nicht zur Bose Box verbinden. Da passt entweder was im Netz nicht, oder du hast am FHEM Rechner irgendwelche Restriktionen gesetzt.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: flipse am 10 Februar 2019, 10:23:31
Zitat von: dominik am 10 Februar 2019, 10:08:26
Wenn du mit staticIP schon einen Fehler bekommst, kann discovery nicht funktionieren. Lt. Fehler kann dein Rechner nicht zur Bose Box verbinden. Da passt entweder was im Netz nicht, oder du hast am FHEM Rechner irgendwelche Restriktionen gesetzt.

Das konnte ich beheben. Mit static funktionieren beide. Aber ohne leide nicht
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dominik am 10 Februar 2019, 10:42:55
Das Discovery wird mit Bonjour/mDNS gemacht. Such mal ein Linux Tool mit dem du das auf der Commandline testen kannst. Der Name fuers Discovery lautet 'soundtouch'. Damit solltest du dann vielleicht schneller den Fehler eingrenzen koennen. Eventuell Routerkonfiguration?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 05 März 2019, 15:42:58
OK, minidlna selbst compiliert, dann ging es.

Frage: Warum ist der minidlna-Support komplett aus dem Modul geflogen ? Die SoundTouch300 kann ohne den minidlna keine Sprache wiedergeben.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: twinFHEM am 09 März 2019, 00:20:41
Hi all, hi dominik,

ein sehr cooles Modul! Nice job!!! :)

Gibt es Erfahrungen bzgl. TTS auf der Lifestyle 600, der Soundtouch SA-5 und den Soundtouch Wireless-Adaptern?
Wäre total klasse, wenn auf diesen Geräten der einfache speak bzw. speakOff-Befehl funktionieren würde.

Viele Grüße!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 25 März 2019, 16:56:28
In diesem Thread hier habe ich die aktuelle Version des Python-Programms gepostet, mit dem ich TTS via Amazon Polly mache: https://forum.fhem.de/index.php/topic,98925.0.html

Ist u.a. deshalb gut, weil ich da per SSML eine ein-sekündige Pause vor dem Text einfügen kann, ohne erst MP3s zu bearbeiten. Außerdem habe ich endlich eine Möglichkeit gefunden, das Caching des miniDLNA auszuhebel, so dass eine neue Datei auch abgespielt wird.

Nach wie vor habe ich keine Möglichkeit gefunden, der ST300 direkt eine URL zum Abspielen zu geben - das kann sie wohl nicht.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: twinFHEM am 30 März 2019, 10:03:27
Guten Morgen zusammen,

da ich wegen eines Satzes keine weiteren Module installieren wollte, zumal die Frage ist, ob es dann überhaupt funktioniert, habe ich folgende Lösung gefunden.
Ich habe eine MP3 mit einer netten Stimme erstellt und diese in ein Medienverzeichnis meines NASs kopiert (der auch über die Soundtouch-App erreichbar ist, hier: QNAP).

Da das BOSEST-Modul ganze 20 Kanäle speichern kann, habe ich das Verzeichnis mit der MP3 auf einen der ungenutzten Kanäle gespeichert, den ich bei Bedarf via
'set <bose> channel <Nr>' aufrufe.

Falls jemand eine relativ schnelle Lösung gebrauchen kann... :-)


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 30 März 2019, 20:07:14
Überflüssig. Wenn die NAS als DLNA-Server in der Bose-Kiste registriert ist, genügt ein "set BOSE_xxxxxxx playTrack <Name der Datei>". Ist genauso schnell oder langsam, und nicht auf 20 Sätze begrenzt.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: twinFHEM am 31 März 2019, 07:56:45
Hallo pah,

das stimmt, so geht es natürlich schneller.
Allerdings hatte ich hier anfangs immer längere Verzögerungen oder teilweise gar keine Wiedergabe.
Habe gerade nochmal beide Varaianten gestestet und konnte dies nicht mehr feststellen.

Viele Grüße & einen schönen Sonntag!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: flipse am 07 April 2019, 12:44:07
Hallo zusammen,

ich habe mir eine "HouseStatusCheck" Sub erstellt, die zu regelmäßigen Zeitpunkten aufgerufen wird und zum Beispiel die Garage schließt, bzw. Zisternenpumpe ausschaltet etc.
Jetzt möchte ich, dass, wenn ich zu Hause bin, nicht nur die Ergebnisse per E-Mail verschickt, sondern auch auf meiner Bose ausgegeben werden.

Ich bekomme die Ausgabe soweit auch gut hin mit tts, aber es wird immer ein wenig am Anfang abgeschnitten, weil die Bose ja erstmal eingeschaltet wird. Wie habt ihr das gelöst? wie kann ich ca. 1 Sekunde Pause vorschalten?

Außerdem wäre es toll, wenn die Bose vorher eingeschaltet war, dass sie danach auch wieder eingeschaltet ist und die Musik weiterspielt.
Gestern Abend hat die nette Stimme die Musik unterbrochen, ihren Text aufgesagt und danach war die Bose aus.
Gibt es da eine Möglichkeit, dies einzubinden?


Vielen Dank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 08 April 2019, 14:20:04
Nicht Google verwenden, sondern Amazon Polly. Und per SSML eine einsekündige Pause einbauen.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 12 April 2019, 22:00:16
Sehe ich das richtig, dass man die Bose Soundtouch Gerät aus einem anderen Subnetz nicht auf Port 8090 erreichen kann? Ich habe meine zwei (Soundtouch 10 und 300) in ein anderes VLAN umgezogen und nur innerhalb dieses VLANs sind sie auf Port 8090 erreichbar.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 13 April 2019, 16:55:26
Das scheint mir eine Frage der Einstellungen der VLANs zu sein, nicht eine Frage der Bose-teile.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 13 April 2019, 17:10:55
Hallo,

Attribut staticIP angegeben?

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 23 April 2019, 19:42:21
Also ich wüsste nicht, was ich machen soll. Hat auch eigentlich nichts mit FHEM zu tun:

Aus dem gleichen Netz:
telnet 192.168.20.61 8090
Trying 192.168.20.61...
Connected to 192.168.20.61.
Escape character is '^]'.
^]
telnet> Connection closed.

Aus einem anderen Netz:
telnet 192.168.20.61 8090
Trying 192.168.20.61...

Auf dem Port 8090 bekomme ich nichts zu hören.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 25 April 2019, 17:54:21
Ich fluche auch mal wieder über meine SoundTouch 300.

Auf der Seite https://wiki.fhem.de/wiki/Text2Speech#Sprachausgabe_per_Bluetooth-Lautsprecher_unter_Raspbian_Jessie

ist eine Anleitung zu finden, Bluetooth Audio zu streamen. Funktioniert aber in der Form nicht. Eines der auftretenden Probleme ist, dass ich die ST300 zwar pairen kann, aber ein BT connect geht immer schief. Hat jemand das hinbekommen ?

LG

pah
Titel: Lautstärke beim Einschalten des Multiroom Betriebs
Beitrag von: Miami am 29 April 2019, 20:59:01
Hallo,

ich habe mehrere ST10 und eine ST300. Wie viele andere habe ich das Problem, dass für den Fernsehbetrieb eine deutlich höhere Lautstärke benötigt wird, als zum Radio hören.
Wenn ich morgens einfach per "Doppelklick" an einem ST10 den Multiroom Betrieb mit einem Webradio starte, brüllt mich die ST300 aus dem Wohnzimmer an.
Ich habe mir nun gedacht, dass ich einfach abfrage, ob die ST300 einen zoneMaster eingetragen hat.
Nach mehreren Stunden Try and Error habe ich folgendes funktionierende notify herausgefunden:
#ST300 Soundbar Multiroom Lautstärke
define notify_ST300_in_Zone notify BOSE_1234567890AB:zoneMaster:.* {\
  Log 2, "ST300 MultiRoom-Modus: $EVENT";; \
  { fhem ("Set BOSE_1234567890AB volume 16") } ;; \
}

Wer es kürzer haben will, kann auch folgendes verwenden:
define notify_ST300_in_Zone notify BOSE_1234567890AB:zoneMaster:.* Set BOSE_1234567890AB volume 16

BOSE_1234567890AB musst Du natürlich an deine Installation anpassen.
Dass das notify auch ausgelöst wird, wenn der zoneMaster gelöscht oder geändert wird, scheint kein Problem zu sein:

Vlt. nutzt das ja auch jemand anderem.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dudngretl am 15 Mai 2019, 20:03:15
Hallo Zusammen,

ich wollte das auch eben einmal testen, erhalte jedoch den Fehler:
root@raspberrypi:~# sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl libdigest-perl-md5-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libdigest-perl-md5-perl


Und wo führe ich dann das hier aus?
define bose_system BOSEST

Wenn ich dass einfach so in FHEM eingebe kommt: Cannot load module BOSEST (dachte wäre schon in den neuen FHEM Installationen drin?)

Danke euch und Grüße
Frank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dudngretl am 15 Mai 2019, 20:28:57
Zitat von: dudngretl am 15 Mai 2019, 20:03:15
Hallo Zusammen,

ich wollte das auch eben einmal testen, erhalte jedoch den Fehler:
root@raspberrypi:~# sudo apt-get install libwww-perl libmojolicious-perl libxml-simple-perl libnet-bonjour-perl libev-perl libdigest-perl-md5-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libdigest-perl-md5-perl


Und wo führe ich dann das hier aus?
define bose_system BOSEST

Wenn ich dass einfach so in FHEM eingebe kommt: Cannot load module BOSEST (dachte wäre schon in den neuen FHEM Installationen drin?)
Also zumindest ist die "98_BOSEST.pm" im Verzeichnis im Pi (/opt/fhem/FHEM).

Danke euch und Grüße
Frank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 16 Mai 2019, 03:56:15
Hy du must nach ner Alternativen Quelle suchen, bose ist mit drin aber ohne perl funktioniert es nicht.

Gesendet mit Tapatalk

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dudngretl am 16 Mai 2019, 06:29:55
Hi,

ich bin leider noch ein ziemlicher Beginner  :-\

Könntest du mir bitte sagen wie ich dass suchen kann oder was ich eingeben muss?

Dankschön
Frank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 16 Mai 2019, 06:45:59
Mir geht es da nicht anders aber google hatte fast immer eine Lösung, wenn nicht habe ich hier gefragt.

Aber was ich dir sagen kann ist das er aufgrund fehlerhafter internet Verbindung oder einer fehlerhaften packet liste nicht weis wo er es herbekommt oder laden kann.

Gesendet mit Tapatalk

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 16 Mai 2019, 08:38:44
Zitatgoogle hatte fast immer eine Lösung, wenn nicht habe ich hier gefragt.

Der richtige Weg ist aber: Doku lesen. Dann noch einmal lesen. Und dann erst fragen.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gasmast3r am 16 Mai 2019, 12:39:21
Zitat von: Prof. Dr. Peter Henning am 16 Mai 2019, 08:38:44
Der richtige Weg ist aber: Doku lesen. Dann noch einmal lesen. Und dann erst fragen.

LG

pah
Dazu müßte die Doku auch für normalsterbliche Menschen verständlich geschrieben werden,

Gesendet mit Tapatalk

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: dudngretl am 16 Mai 2019, 16:01:39
Zitat von: Gasmast3r am 16 Mai 2019, 12:39:21
Dazu müßte die Doku auch für normalsterbliche Menschen verständlich geschrieben werden,

Gesendet mit Tapatalk

sehe ich auch so. ich breche dass nun ab, komme nicht weiter  :(
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 16 Mai 2019, 16:24:46
ZitatDazu müßte die Doku auch für normalsterbliche Menschen verständlich geschrieben werden
Och nee, eine Prüfung auf unsterbliche Göttlichkeit ist Voraussetzung für die Benutzung von FHEM.

Von den 20773 Mitgliedern des Forums haben schon 20771 diese Prüfung bestanden - ihr schafft das auch noch. Nur Mut !

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 03 September 2019, 22:22:47
Serwus zusammen ;)

ich hätte mal ne Frage zur Soundtouch 300. Die hat ja eigentlich auch einen HDMI-IN Eingang der per "AUX" Taste auf der Fernbedienung aktiviert werden kann. Leider sehe ich aux nicht in FHEM als mögliche Source.
Bei einer ST 10 kann ich mittels set source aux auf den Klinkenanschluss wechseln.

Kann man das evtl. ergänzen? Oder wird das von der BOSE API nicht unterstützt?

Edit: https://developer.bose.com/content/updated-api - hier steht was von HDMI, mittels /select und HDMI_1

Ich schaue mir die Tage das Module gerne selber mal an. Das müsste ich eigentlich schaffen, aber wenn jemand mehr Zeit hat, gerne mal bescheid sagen :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 04 September 2019, 06:45:29
Hm, noch jemand hadert mit seiner 300er...

Ich habe auf meiner 300er jetzt eine gute Text-To-Speech-Lösung mit Amazon Polly realisiert, interessiert?

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 04 September 2019, 18:27:20
Hört sich gut an, zeig mal her ;-)

Wobei ich aktuell überlege MPD, Logitech Squeeze oder ähnliches einzuführen.
Das Bose Zeug ist einfach unzuverlässig. Nicht das FHEM Module, einfach die ganze Software.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 04 September 2019, 18:48:53
Okay also via curl hab ich genau was ich brauche.
Auf die HDMI Quelle umschalten:

curl \
--request POST \
--header "Content-Type: text/xml" \
--data '
<ContentItem source="PRODUCT" sourceAccount="HDMI_1">
    <itemName>HDMI_1</itemName>
</ContentItem>
' \
http://st-wohnzimmer:8090/select


@dominik: Würdest du das ins Module einbauen? Ich sehe zwar du nutzt den /select endpoint bereits, aber für andere Dinge glaube ich. Wenn du keine Zeit hast, wäre ein kurze Info nett dann versuche ich mal am Wochenende einen Patch zu erstellen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 04 September 2019, 19:19:50
Dafür ist die Soundqualität besser als bei Sonos...

Aber die Software von Bose ist wirklich eine Unverschämtheit - wird nur noch durch den Support unterboten.

"Zeig mal her", soso.

Da ich im Moment wenig Zeit habe, poste ich den ganzen Kram mal ohne Erklärungen (Kommentare sind drin). Einige der darin enthaltenen Codezeilen sind schon in das Modul Text2Speech eingeflossen.

#############################################################################
#
#  Restore previous state after speech command
#
#############################################################################
 
sub BOSERepsas($){ 
  my ($bid) = @_;
 
  my ($cur,$cha,$src,$acc,$trk,$vol,$cmd);
  $cmd = "";
  #-- current state
  $cur = ReadingsVal($bid,"state","unknown");
  $cha = ReadingsVal($bid,"channel","");
  $src = ReadingsVal($bid,"contentItemSource","");
  $acc = ReadingsVal($bid,"contentItemSourceAccount","");
  $trk = ReadingsVal($bid,"track","");
  $vol = ReadingsVal($bid,"volume","");
 
  if( $cur eq "playing" ){
    if( $src =~ /STORED.*/ ){
      $cmd = "set $bid volume $vol;; set $bid channel $cha";
    }elsif( $cha ne "" || $src =~ /TUNEIN.*/ ){
      $cmd = "set $bid volume $vol;; set $bid channel $cha";
    }elsif( $src eq "PRODUCT" && $acc eq "TV" ){
      $cmd = "set $bid volume $vol;; set harmony_55418949 InputTv";
    }else{
      $cmd = "set $bid volume $vol;; set $bid off";
    }
  }else{
    $cmd = "set $bid volume $vol;; set $bid off";
  }
  fhem("setreading $bid restorecmd $cmd");
  return $cmd;
}
 
##############################################################################
#
#  Sprachausgabe
#
##############################################################################

my %ttsPhrases = (
"001_jeanniehilfe" => "Hallo, ich bin Jeannie. Wie kann ich Dir helfen?",
"011_hoftuer_sichern" => "Die Hoftür wird gesichert.",
"012_hoftuer_gesichert" => "Die Hoftür ist gesichert.",
"013_hoftuer_entsichern" => "Sicherung der Hoftür aufgehoben.",
"014_hoftuer_ungesichert" => "Die Hoftür ist nicht gesichert.",
"015_haustuer_sichern" => "Die Hauseingangstür wird gesichert.",
"016_haustuer_gesichert" => "Die Hauseingangstür ist gesichert.",
"017_haustuer_entsichern" => "Sicherung der Hauseingangstür aufgehoben.",
"018_haustuer_ungesichert" => "Die Hauseingangstür ist ungesichert.",
"019_haustuer_offen" => "Die Hauseingangstür ist offen.",
"020_badezimmerfenster" => "Das Badezimmerfenster ist offen.",
"021_kellerfenster" => "Ein Kellerfenster ist offen.",
"022_terrassentuer" => "Die Terrassentür ist offen.",
"023_hoftuer" => "Die Hoftür ist offen.",
"024_vorratskeller" => "Die Tür zum Vorratskeller ist offen.",
"025_garagebew" => "Das Garagentor wird bewegt.",
"026_dominiczimmerfenster" => "Das Fenster in Dominics Zimmer ist offen.",
"027_schlafzimmertuer" => "Die Balkontür im Schlafzimmer ist offen.",
"030_bewaus" => "Die Bewässerung wurde ausgeschaltet.",
"031_bewvorgarten" => "Die Bewässerung im Vorgarten läuft.",
"032_bewterrasse" => "Die Bewässerung rund um die Terrasse läuft.",
"033_bewhecke" => "Die Bewässerung der Hecke läuft.",
"034_bewrasen" => "Die Rasenbewässerung läuft.",
"049_alarmverz" => "Alarmanlage wird verzögert scharf geschaltet.",
"050_alarmscharf" => "Alarmanlage scharf geschaltet.",
"051_alarmunscharf" => "Alarmanlage unscharf geschaltet.",
"052_stoerung" => "Achtung, Systemstörung!",
"053_feuchtebad" => "Achtung, hohe Feuchtigkeit im Bad.",
"054_feuchtekeller" => "Achtung, hohe Feuchtigkeit im Keller.",
"055_zirkulation" => "Warmwasserzirkulationspumpe für 5 Minuten eingeschaltet.",
"059_widerruf" => "Alarm widerrufen.",
"061_haus_sichern" => "Das Hau swird in Kürze gesichert.",
"062_haus_gesichert" => "Das Haus ist gesichert.",
"063_haus_entsichern" => "Sicherung des Hauses aufgehoben.",
"064_haus_ungesichert" => "Das Haus ist nicht gesichert.",
"065_zutrittsversuch" => "Achtung, unerlaubter Zutrittsversuch.",
"066_zutrittbewohner" => "Ein Bewohner betritt das Haus.",
"067_willkommen" => "Willkommen zu Hause.",
"069_posteinwurf" => "Bitte wwerfen Sie das richtig ein!",
"081_teewasser" => "Bitte an das Teewasser denken.",
"100_gutenachtmeister" => "Gute Nacht, Meister!",
"101_gutenachtjac" => "Gute Nacht, Jacqueline!",
"102_gutenacht" => "Gute Nacht!",
"103_gutenmorgenmeister" => "Guten Morgen, Meister!",
"104_gutenmorgenjac" => "Guten Morgen, Jacqueline!",
"105_gutenmorgen" => "Guten Morgen!",
"106_hausschonnacht" => "Das Haus ist schon im Nachtzustand.",
"107_hausschontag" => "Das Haus ist schon im Tagzustand.",
"108_hausschonentsichert" => "Das Haus ist schon entsichert.",
"109_hausschongesichert" => "Das Haus ist schon gesichert.",
"110_hausgeschuetzt" => "Das Haus ist jetzt geschützt.",
"111_hausueberwacht" => "Das Haus wird jetzt überwacht.",
"113_dndeingesch" => "Nicht-Stören-Modus eingeschaltet",
"114_partieingesch" => "Partimodus eingeschaltet.",
"115_abweseingesch" => "Abwesenheitsmodus eingeschaltet.",
"116_dndbeendet" => "Nicht-Stören-Modus beendet.",
"117_partibeendet" => "Partimodus beendet.",
"118_abwesbeendet" => "Abwesenheitsmodus beendet.",
"119_dachf_wind" => "Die Dachfenster werden wegen starken Windes geschlossen.",
"120_dachf_regen" => "Die Dachfenster werden wegen Regen geschlossen.",
"121_dachfoffen" => "Mindestens ein Dachfenster ist offen."
);

sub tts_allnew(){
  my $polly = Paws->service('Polly', region=>'eu-central-1');
 
  foreach my $file (keys %ttsPhrases) {
    my $converter = Text::Iconv->new("utf-8", "iso-8859-1");
    my $text = $converter->convert($ttsPhrases{$file});
    my $ssmltext="<speak>$text</speak>";
 
    #-- obtain speechlet 
    my $res = $polly->SynthesizeSpeech(
       VoiceId => 'Marlene',
       TextType=> 'ssml',
       Text => $ssmltext,
       OutputFormat => 'mp3');
     
    #-- write stream
    my $mp3;
    open($mp3, '>', "/home/fhem/ttsNew/".$file.".mp3");
    binmode($mp3);
    print $mp3 $res->AudioStream;
    close($mp3);
  }
}
 
#my %ttsMaxChar      = ("Google"     => 100,
#                       "VoiceRSS"   => 300,
#                       "SVOX-pico"  => 1000,
#                       "Amazon-Polly" => 3000
#                       );


my @ttsFiles=();
                                       
sub speak($$){
  my ($name,$text) = @_;
 
  #-- Telegram text, therefore local
  if($name =~ /Telegram.*/){
    telegramRecognition('botreply: ".$text."');
  #-- Bose, therefore local
  }elsif($name =~ /Sound.*/){
    # $text =~ s/ä/ae/g;
    # $text =~ s/ö/oe/g;
    # $text =~ s/ü/ue/g;
    # $text =~ s/Ä/Ae/g;
    # $text =~ s/Ö/Oe/g;
    # $text =~ s/Ü/Ue/g;
    # $text =~ s/ß/ss/g;
    speakBose($name,$text,"p");
  #-- Tablet, therefore distant
  }elsif($name =~ /(Tablet)|(GalaxyTab)|(MediaPad)/){   
    speakTablet($name,"$text");
  #-- HTC,SZ therefore reroutable ==> check here
  }elsif($name =~ /(HTC)|(SZ)/){
    if( (ReadingsVal("houseProfileC","housephase","") eq "daytime") && (Value("Bose_State") eq "On") ){
      speakBose("SoundTouch1.OG","$text","p");
    }else{
      speakTablet("HTC.OG","$text");
    }
  #-- WZ,MSG therefore reroutable ==> check in 193
  }elsif($name =~ /(WZ)|(MSG)|(Msg)/){
    if( Value("BOSE_XXXXXXXXXXXX") eq "playing" ){
      speakBose("SoundTouch.EG","$text","p");
    }else{
      speakTablet("GalaxyTab1.EG","$text");
    }
  }else{
    Log 1,"[speak] Error, Device $name unknown";
  }
}

sub speakTablet{
  my ($name,$text) = @_;
 
  #-- make it sound better
  $text =~ s/(\d)\.(\d)/$1,$2/g;
  $text =~ s/Jeannie/dschini/;
  $text =~ s/Jacqueline/dschacklihn/;
 
  #-- settings
  my $ttspath    = "/home/fhem";
  my $ttsDir     = "/home/fhem/tts/";
 
  fhem194Cmd("setreading SPEAK $name.out ".substr($text,0,12));
 
  #-- obtain list of prerecorded files
  opendir (DIR, $ttsDir);
  while (my $ttsFile = readdir(DIR)) {
    next if ($ttsFile !~ m/\.mp3$/);
      push(@ttsFiles,$ttsFile);
    }
  closedir(DIR);
 
  #-- combining prerecorded files and free text does not yet work
  #-- free text
  if( $text !~ /^\:(.*)\:$/ ){
    if( $name =~ /MediaPad.*/){
      fhem194Cmd("set $name ttsMsg ".$text);
    }else{
      fhem194Cmd("set $name ttsSay ".$text);
    }
  #-- prerecorded file
  }else{
    my $fname   = $1;
    my $ttsPFile = "";
    foreach my $k (@ttsFiles){
      if( $k =~ /$fname/ ){
        $ttsPFile = $k;   
        last;
      }
    }
    if($ttsPFile ne ""){
      Log 5,"[speakTablet] Filename $fname resolved as ".$ttsDir.$ttsPFile;
    }else{
      Log 5,"[speakTablet] Filename $fname not resolved";
    }
    if( $name =~ /MediaPad.*/){
      fhem194Cmd("set $name notifySndFile ".$ttsPFile);
    }else{
      fhem194Cmd("set $name audioPlay /mnt/sdcard/Notifications/".$ttsPFile);
    }
  }
}

sub speakBose{
  my ($name,$text,$ttsResource) = @_;
  my ($bid,$vol,$cmd,$bosecmd);
 
  #-- default voice
  $ttsResource = "p"
    if(!defined($ttsResource));
  my $ttsMaxChar = 3000;
 
  #-- default output EG
  if($name eq "SoundTouch.EG"){
    $bid = "BOSE_XXXXXXXXXXXXXXX";
    $vol = 25; 
  }elsif($name =~ /SoundTouch.?.OG/){
    $bid = "BOSE_XXXXXXXXXXXXXX";
    $vol = 25;
  }else{
    #$bid = "BOSE_XXXXXXXx";
    $bid = "BOSE_XXXXXXXXXXX";
    $vol = 25;
    $text= $name;
  }
 
  #-- command to restore old state
  $bosecmd = BOSERepsas($bid);
 
  #-- make it sound better
  $text =~ s/(\d)\.(\d)/$1,$2/g;
  $text =~ s/Jeannie/dschini/;
  $text =~ s/Jacqueline/dschacklihn/;
 
  fhem194Cmd("setreading SPEAK $name.out ".substr($text,0,12));
 
  #-- settings
  my $joiner     = "mp3wrap";
  my $ttspath    = "/home/fhem";
  my $ttsDir     = "/home/fhem/tts/";
  my $ttsCDir    = "/home/fhem/ttsCache/";
  my $ttsTarget  = "speech";
 
  #-- delete old file to outsmart miniDLNA caching
  unlink $ttsDir.$ttsTarget.".mp3";
  Log 1, "[speakBose] File ".$ttsDir.$ttsTarget.".mp3 could not be deleted"
    if(-e $ttsDir.$ttsTarget.".mp3");
 
  #-- obtain list of prerecorded files
  opendir (DIR, $ttsDir);
  while (my $ttsFile = readdir(DIR)) {
    next if ($ttsFile !~ m/\.mp3$/);
      push(@ttsFiles,$ttsFile);
    }
  closedir(DIR);
 
  #{Dumper(Text2Speech_SplitString(["Das ist ein Test"],10," ",0,"al"))}
  #{Dumper(Text2Speech_SplitString(["Das ist ein Test, in dem ein kleiner Teil <amazon:effect name=\"whispered\">geflüstert</amazon:effect> wird"],10," ",0,"al"))}
  #-- split text at word boundaries
  my @words      = split(' ', $text);
  my @speechlets = ();
  my $speechlet;
   
  my $i=0;
  my $j=0;
  while($i<int(@words)){
    last
      if( !$words[$i] );
    #-- word does not contain prerecorded filename, simply append words
    if( $words[$i] !~ /^\:(.*)\:$/ ){
      $speechlet="";
      while( (length($speechlet) + length($words[$i])) < $ttsMaxChar && $i<int(@words) ){
        $speechlet .= $words[$i]." ";
        $i++;
      }
      push(@speechlets,$speechlet);
      $j++;
      my $ttsKey   = md5_hex($ttsResource."|".$speechlet);
      my $ttsCFile = $ttsTarget."_".$ttsKey;
      my $found    = tts_dblog($ttsKey,$speechlet);

      #-- check if already exists     
      #if( -e $ttsCDir.$ttsCFile.".mp3" ) {
      if( $found == 1 ){
        Log 1,"[speakBose] Speechlet '".$speechlet."' already in cache as ".$ttsCDir.$ttsCFile.".mp3";
      }else{
        if( $ttsResource =~ /p.*$/ ){
          tts_polly($speechlet,$ttsCDir.$ttsCFile);
        }else{
          tts_google($speechlet,$ttsCDir.$ttsCFile);
        }
        Log 1,"[speakBose] Speechlet '".$speechlet."' obtained as ".$ttsCDir.$ttsCFile.".mp3";
      }
      $cmd .= $ttsCDir.$ttsCFile.".mp3 ";
     
    #-- word is prerecorded filename
    }else{
      my $name   = $1;
      my $ttsPFile = "";
      foreach my $k (@ttsFiles){
        if( $k =~ /$name/ ){
          $ttsPFile = $k;   
          last;
        }
      } 
      if($ttsPFile ne ""){
        $cmd .= $ttsDir.$ttsPFile." ";
        Log 5,"[speakBose] Filename $name resolved as ".$ttsDir.$ttsPFile;
      }else{
        Log 5,"[speakBose] Filename $name not resolved";
      }
      $i++; 
    }
  }
 
  #-- join speechlets and auxiliary files
  if( $joiner eq "sox" ){
    $cmd = "sox ".$ttsDir."silence_48_22050_1.mp3 ".$cmd." ".$ttsDir.$ttsTarget.".mp3" ;
  }elsif( $joiner eq "mp3wrap" ){
    $cmd = "mp3wrap ".$ttsDir.$ttsTarget.".mp3 ".$ttsDir."silence_48_22050_1.mp3 ".$cmd." > /dev/null";
    system($cmd);
    $cmd = "mv ".$ttsDir.$ttsTarget."_MP3WRAP.mp3 ".$ttsDir.$ttsTarget.".mp3";
  }else{
    Log 1,"[speakBose] No MP3 joiner defined, playing ".substr($cmd,0,index($cmd,' '));
    #-- todo: take out first file as filename and copy to speech.mp3
    $cmd = "cp ".substr($cmd,0,index($cmd,' '))." ".$ttsDir.$ttsTarget.".mp3";
  }
  Log 1,"[speakBose] duration of final file ".tts_duration($ttsDir.$ttsTarget.".mp3");
  system($cmd);

  #-- play it
  fhem("set $bid volume $vol;set $bid playTrack speech");
 
}

sub tts_dblog($$){
  my ($key,$text) = @_;
  #-- Create database by
  #  sqlite3 tts.db "CREATE TABLE tts (key INTEGER PRIMARY KEY, count INT, time INT, content TEXT);"
  #  chown fhem:dialout tts.db
  #--
  my $path = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);
 
  #-- check existence
  my ($res) = $dbh->selectrow_array("SELECT EXISTS ( SELECT 1 FROM tts WHERE key='".$key."')");
  #-- exists
  if( $res == 0 ){
    #-- insert a line
    $dbh->do("INSERT INTO tts (key,count,time,content) VALUES ('".$key."','1','".time()."','".$text."');");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  #-- does not exist
  }else{
    #-- modify
    $dbh->do("UPDATE tts SET count = count + 1 WHERE key='".$key."';");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }
  $dbh->commit();
  $dbh->disconnect();
  return $res;
}

sub tts_dbshow(){
  #--
  my $path   = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh    = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);
  my $ret    = "";

  #-- print rows
  my $res = $dbh->selectall_arrayref("SELECT key,count,time,content FROM tts;");
  foreach my $row (@$res) {
    my ($keyr,$countr,$timer,$textr) = @$row;
    $ret .= sprintf("%s %d %d %s\n",$keyr,$countr,$timer,$textr);
  }
  $dbh->disconnect();
  return $ret;
}

sub tts_dbpurge($$){
  my ($deltime,$mincount) = @_;
  #--
  my $path   = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh    = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);

  if( defined($deltime) && $deltime > 0){
    my $earliest = time() - 86400*$deltime;
    $dbh->do("DELETE from tts where time < ".$earliest.";");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }elsif( defined($mincount) && $mincount > 0){
    $dbh->do("DELETE from tts where count < ".$mincount.";");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }
  $dbh->disconnect();
}

sub tts_polly($$){
  my ($texti,$file) = @_;
    #-- we may have problems with umlaut characters
  my $converter = Text::Iconv->new("utf-8", "iso-8859-1");
  my $text = $converter->convert($texti);
 
  #<break time="1s"/>
  my $ssmltext = '<speak>'.$text.'</speak>';
 
  #-- obtain speechlet
  my $polly = Paws->service('Polly', region=>'eu-central-1');
  my $res = $polly->SynthesizeSpeech(
     VoiceId => 'Marlene',
     TextType=> 'ssml',
     Text => $ssmltext,
     OutputFormat => 'mp3');

  #-- write stream
  my $mp3;
  open($mp3, '>', $file.".mp3");
  binmode($mp3);
  print $mp3 $res->AudioStream;
  close($mp3);
}

sub tts_google($$){
  my ($text,$file) = @_;
  #-- obtain speechlet
  system("wget -q --user-agent='Mozilla/5.0' \'http://translate.google.de/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=$text\' -O $file.mp3");


sub tts_duration($) {
  my $time;
  my ($file) = @_;
  eval {
    use MP3::Info;   
    my $tag = get_mp3info($file);
    if ($tag && defined($tag->{SECS})) {
  $time = int($tag->{SECS}+0.5);
    }
  };
  if ($@) {
    return undef;
  }
  return $time;
}


Bei Gelegenheit gibt es auch noch eine Anleitung dazu. Wer schon einsteigen will: paws installieren und einen Amazon-Account beantragen - oder über google gehen.

LG

pah

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 05 September 2019, 11:03:13
Hallo,

habe aus meine Soundtouch 10  auch eine Squeezebox gemacht. Hab eine Raspi Zero mit Max2Play drauf am AUX. Das funktioniert wenigstens ohne Probleme. Leider reicht die Leistung am USB-Wartungsport nicht um den Raspi vernünftig zu betreiben.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 05 September 2019, 21:07:18
Zitat von: Eisix am 05 September 2019, 11:03:13
Hallo,

habe aus meine Soundtouch 10  auch eine Squeezebox gemacht. Hab eine Raspi Zero mit Max2Play drauf am AUX. Das funktioniert wenigstens ohne Probleme. Leider reicht die Leistung am USB-Wartungsport nicht um den Raspi vernünftig zu betreiben.

Gruß
Eisix

Ach schade auch nicht für den Zero? Alles probiert?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 06 September 2019, 10:02:21
Hallo,

hab es mit eine Zero W probiert und das war bei mir nicht stabil. Da der Zero keine Klinke hat habe ich einen HiFi DAC HAT drauf gesetzt und dann war die Leistungsaufnahme zu hoch für den Port. In der Bose Doku steht der Port liefert 0,5 A. Vielleicht gibt der Port der 300 mehr her. Zusammengefaßt Zero W ohne alles am Port lief bei mir aber mit HAT geht nicht.
Was vielleicht noch machbar ist ohne HAT wäre über Bluetooth zu verbinden.

Gruß
Eisix

PS: Sorry für Off Topic
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 28 September 2019, 06:11:56
Seit einigen Tagen - mutmaßlich seit dem letzten Update - habe ich das Problem, dass das BOSEST-Modul die Verbindung zu den Bose-Geräten verliert, und diese auch nicht wiederfindet. Lediglich ein Restart von FHEM findet sie dann erfolgreich wieder. Beobachtet das sonst noch jemand ?

Edit: Das ist kein WLAN-Problem - meine ST300 ist via Ethernet angebunden. Handelt sich also um einen Fehler in BOSEST.
EditEdit: Noch keine Lösung dieses Problems gefunden - irgendein Problem in den Bibliotheken, mit denen BOSEST kommuniziert.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 18 Oktober 2019, 07:32:44
Das gleiche Problem habe ich hier auch mit den 4 bose Geräten in fhem.
Nur restart von fhem hilft.
Kam früher nur hin und wieder mal vor. Seit ein paar Wochen recht häufig...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 31 Oktober 2019, 07:54:25
Ich bin dem Problem auf der Spur. Offenbar hat Bose im letzten Software-Update etwas eingebaut, das die Verbindungen nach einiger Zeit lahmlegt. Das betrifft sowohl die generelle Verbindung zum Netz, als auch den Websocket zum BOSEST-Modul.

Das erste Problem kann man ganz einfach beheben: Ein PRESENCE-Device mit lan-ping alle 120 Sekunden sorgt dafür, dass die Bose-Box sich nicht komplett aus dem WLAN verabschiedet. Jetzt muss ich nur noch das BOSEST-Modul dazu bringen, ebenfalls in regelmäßigen Abständen eine Statusanfrage an die Box zu senden.

LG

pah

Edit: Derzeit bin ich skeptisch, ob mit dem eingesetzten Mojolicious Framework dieser Fehler beseitigt werden kann. Möglicherweise muss man das mit einem schlankeren Websocket-Client neu aufsetzen.

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 04 November 2019, 07:37:35
Würde es was bringen, wenn man alle 2 bis 3 Minuten genauso als workaround über BOSEST die volume um +1 und - 1 abwechselnd verändert? Klar, wäre nur ein workaround, aber so käme immer eine Abfrage vom Modul zur Box. Und +1 - 1 würde man eher kaum merken.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 04 November 2019, 07:43:54
k.A., ausprobieren. Stehen die IP-Adressen der Boxen im "staticIP" Attribut?

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 04 November 2019, 12:00:47
die automatische Erkennung funktioniert eigentlich bei mir. Deshalb habe ich das Attribut wie im commandref steht noch nicht probiert.
Hast Du das bei Dir gesetzt?

Werde mal ein DOIF auf die Bose-Boxen loslassen, was alle paar Minuten mal die Lautstärke regelt. Mal schauen ob es damit besser wird.

Edit:
So, also habe die Bose-Boxen per Presence lan-ping alle 120 Sekunden dabei und ausserdem wird alle 120 Sekunden die Lautstärke per set abwechseln +1 und -1 geregelt.
Nun gilt es abwarten, ob das Problem noch auftritt...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Supadone am 04 November 2019, 14:48:00
Ich hatte die letzten Tage auch immer wieder das Problem dass sich die Bose Lautsprecher nicht über Fhem steuern ließen. Hab heute Mojolicious auf 8.260 geupdatet, seit dem läufts bisher ohne Probleme
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 05 November 2019, 15:44:30
Sieh an, ein neues Mitglied - und landet gleich einen Treffer, gratuliere.

Erklärt das Problem zwar nicht, aber scheint es zu beheben.

Wobei ich auch die IP-Adressen meiner Bose-Geräte aus dem Attribut entfernt habe, das verhindert nämlich den "Discover"-Prozess über das Bonjour-Framework.


LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 06 November 2019, 19:44:38
Nochmal ergänzend zur dem workaround.

Seit der PRESENCE Abfrage und dem zyklischen volume schalten hatte ich das Problem auch nicht mehr.
Das scheint auch zu funktionieren.

//edit
nun auch auf 8.26 aktualisiert. Dann schalte ich mal die Abfragen alle wieder ab und teste.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 13 November 2019, 15:13:40
nach ein paar Tagen mit dem Mojolicious 8.260 hatte ich gestern wieder meine 4 Bose Lautsprecher als offline in fhem...

Werde nun also doch wieder die Presence Abfragen und pseudo volume schaltungen aktivieren.
Mal sehen.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 01 Dezember 2019, 10:10:44
Hallo zusammen,

gabs wegen den TImeouts eigentlich eine Lösung?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 01 Dezember 2019, 12:31:28
Ich habe seit dem Update keine Probleme mehr.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 01 Dezember 2019, 14:27:50
Also hier passiert es trotz Update noch. Evtl. nicht mehr so häufig.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 01 Dezember 2019, 17:52:43
Habt ihr die IP-Adressen aus dem Attribut "staticIPs" herausgenommen? Wenn nicht, bitte unbedingt nachholen - nur dann wird die Verbindung beim Abbruch schnell wieder aufgebaut.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Supadone am 01 Dezember 2019, 18:26:10
Bei mir gibts seitdem auch keine Probleme mehr.
Vor ein paar Tagen gabs auch noch ein Firmware Update für die Lautsprecher, vielleicht wurde dadurch noch etwas behoben.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 01 Dezember 2019, 21:35:42
Wenn es jetzt noch vorkäme, dass die SoundTouch-App auf einem meiner Mobilgeräte länger als 30 Sekunden ohne Absturz läuft, wäre mein Zorn auf Bose etwas besänftigt.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elektro_rainer am 04 Dezember 2019, 20:32:35
Seit kurzem schaltet das Modul meine lifestyle 650 immer wieder sporadisch auf source Bluetooth,.... und ich kann das weder auf der Fernbedienung noch im FHEM zurück auf eine andere source (tv) stellen.... einzig ein reset  der kompletten Anlage hilft....
im Modul steht der Status auf ,,invalid"....
hat jemand von euch das auch beobachtet und ggf. schon einen workaround?

Vg, Rainer
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 08 Dezember 2019, 09:59:40
Hier ist zumindest das Problem des Absturzes der BOSE App erkannt worden:

https://forum.fhem.de/index.php/topic,106103.0.html

LG

pah
Titel: SoundTouch und MinimServer
Beitrag von: Prof. Dr. Peter Henning am 08 Dezember 2019, 11:44:45
Ich versuche gerade herauszufinden, nach welchen Kriterien die "Channel" in dem Modul abgespeichert werden.

Auf meiner NAS läuft (wie bei Vielen) ein MinimServer.

Wenn ich mir in der SoundTouch App unter "Artists" die alte "Creedence Clearwater Revival" anhören will, gibt es dort sowohl Alben, als auch Items. Je nachdem, was ich abspiele, lautet die Kanalbezeichnung
ZitatWilly and the Poor Boys||0$=Artist$85$albums$*a394|STORED_MUSIC|1677cdb1...
Zitat5 items||0$=Artist$85$items|STORED_MUSIC|1677cdb1...

Die total verrockten Weihnachtslieder der Roten Rosen (Toten Hosen) als
ZitatWir warten auf's Christkind||0$=Artist$369$*a398|STORED_MUSIC|1677cdb1...

Ein alter Song von Adam Lambert kommt als
ZitatJust The Best 01/1999 CD 2||0$=Artist$1663|STORED_MUSIC|1677cdb1...

Wenn meine Frau gerne "ABBA", und darunterliegend das Album "Abba Gold Anniversary Edition" hören will,  spielt das Modul
ZitatAbba Gold Anniversary Edition||0$=Artist$1127$*a7|STORED_MUSIC|1677cdb1...

0 steht für den ersten DLNA-Server in der Liste
$ ist dasTrennzeichen
=Artist ist die Sortierung nach Künstlern
$ ist dasTrennzeichen
Dann kommt die Codierung des Künstlers:
ABBA=1127
Adam Lambert=1663
Creedence Clearwater Revival=85
Die Roten Rosen=369
Nach einem weiteren Trennzeichen dann weitere Sortierkriterien, wie Album, "Item" etc.

Preisfrage: Wie lautet der Code für Künstler X?

Ich habe schon eine einigermaßen intelligente Suche implementiert - wenn ich jetzt noch dafür sorgen könnte, dass meine BOSE-Systeme mitgeteilt bekommen, wie sie diesen (sagen wir mal) Künstler auf der NAS finden können, wäre ich fertig.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hermann1514 am 18 Dezember 2019, 10:50:12
Hi,
ich habe mir nun eine Bose Soundbar 500 gekauft.

Das Modul findet diese aber nicht. Einen Fehler im LOG - auch bei Verbose 5 - kann ich nicht erkennen.
Es wird immer im LOG

BOSEST: finished discovery

geschrieben, aber es werden keine Player gefunden.

Ist die 500'er überhaupt kompatible?

Mojolicious habe ich auch bereits auf die aktuelle Version aktualisiert.


Danke.
Gruß
Hermann



Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 18 Dezember 2019, 13:50:05
Natürlich nicht, die Soundbar 500 ist ja viel billiger  8)

Ernsthaft: Nein, ist nicht kompatibel. BOSE hat das "alte" SoundTouch-System zwar noch im Programm, ersetzt das aber durch neue Modelle. Merke: Mit dem BOSEST-Modul lassen sich alle BOSE-Modelle finden und bedienen, die mit der SoundTouch App (das ist die, die immer abstürzt...) bedient wird.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: hermann1514 am 18 Dezember 2019, 14:12:28
Schade.....:-(
Aber Danke für die Info ;-)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 19 Dezember 2019, 12:29:35
Im ersten Post ist eine Anleitung zur Übersetzung von minidlna enthalten sowie der Hinweis, dass Fehler bitte gepostet werden sollen. Mache ich hiermit:
Zitatmake[3]: Verzeichnis ,,/root/minidlna/minidlna-git/po" wird betreten
rm -f da.gmo && : -c --statistics --verbose -o da.gmo da.po
mv: der Aufruf von stat für 't-da.gmo' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
Makefile:131: die Regel für Ziel ,,da.gmo" scheiterte
make[3]: *** [da.gmo] Fehler 1
make[3]: Verzeichnis ,,/root/minidlna/minidlna-git/po" wird verlassen
Makefile:168: die Regel für Ziel ,,stamp-po" scheiterte
make[2]: *** [stamp-po] Fehler 2
make[2]: Verzeichnis ,,/root/minidlna/minidlna-git/po" wird verlassen
Makefile:639: die Regel für Ziel ,,all-recursive" scheiterte
make[1]: *** [all-recursive] Fehler 1
make[1]: Verzeichnis ,,/root/minidlna/minidlna-git" wird verlassen
Makefile:461: die Regel für Ziel ,,all" scheiterte
make: *** [all] Fehler 2

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 23 Februar 2020, 20:07:09
Hallo zusammen,
ich baue mir momentan meine Tabletoberfläche zusammen und habe das Problem , dass ich über FTUI keine Sprachausgabe für meine Bose Box hinbekomme.
Die Sprachausgabe über die Fhem Seite funktioniert (bei dieser Box zumindest). Die Sprachausgabe fordert ja Anführungszeichen. Dies habe ich durch &ldquo; und &rdquo; gelöst. Ist das richtig?

Diese Varianten habe ich leider erfolglos versucht.

<div data-type="push" data-device="BOSE_XYZ" data-cmd="set speak" data-set-on="&ldquo;Das ist ein Test&rdquo;"></div>
<div data-type="push" data-device="BOSE_XYZ" data-cmd="set" data-set-on="speak&ldquo;Das ist ein Test&rdquo;"></div>
<div data-type="push" data-device="BOSE_XYZ" data-fhem-cmd="set BOSE_XYZ speak &ldquo;Das ist ein Test&rdquo;"></div>


Hat jemand vielleicht einen Tipp?

Besten Dank im voraus.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 26 Februar 2020, 07:24:32
Hast du es mal mit    
&quot;
als Maskierung vor und nach dem Text probiert?

Bin auch nicht sicher, ob das so funktioniert.


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 26 Februar 2020, 13:39:24
Top! Das war es. Besten Dank! ;D
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 26 Februar 2020, 16:12:42
und welcher Deiner PUSH Widgets aus deinen Versuchen auf der vorigen Seite hat vom Aufbau her funktioniert?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 26 Februar 2020, 17:24:21
Der hier funktioniert.
<div data-type="push" data-fhem-cmd="set BOSE_XYZ speak &quot;Das ist ein Test&quot;"></div>

Allerdings nur bei den Soundtouch 20 und 30. Die portable reagiert gar nicht auf den speak Befehl.

            
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 26 Februar 2020, 17:25:24
Und um auch den Grund zu nennen, warum das mit dem &quot; funktioniert: &ldquo; und &rdquo; sind typografische Anführungszeichen, die verwendet man in Code _in der Regel nicht_.

Noch mal zum Thema der disconnects: Ich habe mit
define c_Bose_Find cmdalias Bose_Find AS {my $hash=$defs{'BOSEST'};;delete($hash->{helper}{DISCOVERY_PID});;BOSEST_startDiscoveryProcess($hash)}
ein FHEM-Kommando namens Bose_Find definiert. Das wird mittels eines DOIF
define ST.EG.N2 DOIF ([BOSE_C4F312DD64C7:state] eq "offline") (Bose_Find)
aufgerufen und führt dann die entsprechende Funktion aus dem dem BOSEST-Modul aus (Achtung: BOSEST ist bei mir auch der Devicename für das Hauptdevice).

Zum Thema Sprachausgabe: Ich habe das sehr komfortabel gelöst, auf allen meinen Endgeräten (Tablets und BOSE-Kisten) mit derselben Stimme (Marlene von Amazon Polly) und komfortablem Caching ebenso wie vordefinierten Audiodateien. Irgendwann schreibe ich mal einen lägeren Wiki-Artikle darüber - derzeit steht das nur im FHEM-Buch.


LG

pah

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 26 Februar 2020, 19:33:30
Das mit der Ausgabe klingt sehr interessant :)

Ansonsten wegen den disconnects und deinem Hinweis, dass dein hauptdevice auch BOSEST heisst. Also hast du eine bose Box mit Namen BOSEST? (Also mal mit: define BOSEST BOSEST... angelegt?) oder wie meinst du das?

Ich würde es nämlich gerne mal mit deiner Lösung probieren. Bin aber nicht sicher was ich an dem hash Befehl ändern muss bei mir.
Habe aktuell 4 bose Geräte.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 26 Februar 2020, 20:11:08
Zitatdefine BOSEST BOSEST
Ja

define c_Bose_Find cmdalias Bose_Find AS {my $hash=$defs{<devicename>};;delete($hash->{helper}{DISCOVERY_PID});;BOSEST_startDiscoveryProcess($hash)}

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 27 Februar 2020, 13:04:17
Ok. Danke.
Habs eingerichtet. Mal sehen wie es sich verhält bzgl. Disconnects :)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 18 März 2020, 10:17:34
Also das mit dem bose_find funktioniert prima.

Ich habe das DOIF bei mir nur geändert, damit egal welche Bose-Box (habe 4 Soundtouch Geräte) offline geht, das DOIF greift.
Ausserdem ein wait-Attribut auf 180s gesetzt. Damit auch genügend Zeit abgewartet wird, bis erneut das DOIF bei offline auslöst.

Klappt prima! Danke, Peter.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 18 März 2020, 19:14:26
Muss ich irgendwie noch unter Codeschnipsel ins Wiki einstellen. Ersaufe derzeit aber als Experte für Technologiegestütztes Lernen in Supportanfragen...

LG

pah

Edit: Done. https://wiki.fhem.de/wiki/BOSE_SoundTouch_offline_vermeiden
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 03 April 2020, 14:27:26
Bonjour, et désolé mais je ne parle pas bien allemand  :-[

J'ai un soundtouch 30 series 1 et une barre de son soundtouch 300, et je n'arrive pas à faire fonctionner le TTS sur les 2 produits :

success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>

Hi and sorry but i don't speak german !!

i own a soundtouch 30 séries 1 and a soundbar 300, and didn't succeed in having a working TTS ...

Can you help ??
Thanks

8)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 03 April 2020, 15:22:08
English, or French then - choose.

SoundTouch 30 should work, Soundbar 300 needs a different approach because BOSE did not put in the API.

To get it working with the 300:

- You need a DLNA Server, like miniDLNA.
- You need a few lines of code (which I can give you) that send the text to Google or Amazon, and collect the returning MP3 file
- This mp3 file needs to be placed in the proper directory of the miniDLNA as file speech.mp3, and one has to trick the miniDLNA as to avoid caching
- The 300 gets the command "play speech.mp3"

The whole process takes a few seconds, 7 at least - but works nicely

Regards

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 03 April 2020, 15:39:26
Thanks !!
soundtouch 30 and 300 same error ...

i'm interested about your proposal ;)

i just don't succeed to install minidlna ... try a lot of tutos and none of them works !!

;D
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 03 April 2020, 16:00:42
Try a simple
apt-get install minidlna
apt-get install sox
apt-get install mp3wrap

and post the output here.

Regards

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 03 April 2020, 16:15:51
hello and thanks for the help ;)
everything is installed withour errors !!
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 03 April 2020, 18:02:14
OK,next step.

Define a directory for miniDLNA where the "Music" files reside, and let your BOSE box find the miniDLNA.

Then, store a file called "speech.mp3" in this directory.

Where do you get this file? Well, for the moment we try a simple approach, and fetch this from Google. Enter into your 99_myUtils.pm the code


##############################################################################
#
#  Obtain a speechlet file from Google
#
##############################################################################

sub tts_google($$){
  my ($text,$file) = @_;
  #-- obtain speechlet
  system("wget -q --user-agent='Mozilla/5.0' \'http://translate.google.de/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=$text\' -O $file.mp3");

and then from your FHEM command line excute
{tts_google("This is my first test of speech on BOSE","<directoryname>/speech")}
This should write the speech.mp3 into that directory.

Note added in proof: In the code above you should replace tl=de by the language you want to have, say tl=fr or tl=en

You might have trouble in the beginning, maybe because the directory is not writable from FHEM, or maybe mniDLNA is not configured properly yet. Later on, I'll give you a code to control miniDLNA from FHEM - for the moment it should be enough to start a miniDLNA rescan by hand, simply by restarting the miniDLNA process. If then, on your server, you look at http://<ip-address>:8200 you should see the miniDLNA running and showing at least one audio file - your speech.mp3

If everything is ok, the following things should apply:

1. speech,mp3 has been obtained from google, and it contains the voice transcript of your sentence (check !)
2. speech.mp3 is found by miniDLNA
3. miniDLNA is found by the BOSe boxes
4. By issueing "set <BOSE Box> playTrack speech" to FHEM, you should hear the Google voice.

Regards

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 03 April 2020, 18:57:48
ok, minidlna is running, there is one audio file in it, and i can play it with the soundtouch app !!!
everything for you list from 1 to 4 is ok ;)
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 03 April 2020, 20:58:13
Fine. Next step is to set up code that take a longer text, splits it into chunks, passes these to Google (i prefer Amazon Polly), assembles them together, puts them into miniDLNA, caches them (such that the second identical message is not passed to Google or Amazon) or rather looks up the cache if the speechlet is already present. And then play it.

Also, this allows to put a string :3-digit-number: into any text. This string is replaced automatically by one of the predefined speech messages (I call them phrases) - they may be obtained by the subroutine tts_allnew() Note: They should be obtained from Google in your case.

Right now I have other things to do, so I post the code without commenting on it. MAybe I'll be back online tomorrow afternoon


Regards

pah



use Paws; # only for Polly
use Text::Iconv;
use MP3::Info;
use DBI;


my @ttsFiles=();

##############################################################################
#
#  TTS phrases
#
##############################################################################

my %ttsPhrases = (
"001_jeanniehilfe" => "Hallo, ich bin Jeannie. Wie kann ich Dir helfen?",
"002_ok" => "Ookeh",
"003_tml" => "Es tut mir leid, das habe ich nicht verstanden",
"011_hoftuer_sichern" => "Die Hoftür wird gesichert.",
"012_hoftuer_gesichert" => "Die Hoftür ist gesichert.",
"013_hoftuer_entsichern" => "Sicherung der Hoftür aufgehoben.",
"014_hoftuer_ungesichert" => "Die Hoftür ist nicht gesichert.",
"015_haustuer_sichern" => "Die Hauseingangstür wird gesichert.",
"016_haustuer_gesichert" => "Die Hauseingangstür ist gesichert.",
"017_haustuer_entsichern" => "Sicherung der Hauseingangstür aufgehoben.",
... several more lines of this type
"121_dachfoffen" => "Mindestens ein Dachfenster ist offen."
);

##############################################################################
#
#  Obtain new speechlets for all phrases
# aws_access_key_id=xxxxxxxxxxxxxxxxxxxxxxxxxx
# aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxxxxx
#
##############################################################################

sub tts_allnew(){
  my $polly = Paws->service('Polly', region=>'eu-central-1');
 
  foreach my $file (keys %ttsPhrases) {
    my $converter = Text::Iconv->new("utf-8", "iso-8859-1");
    my $text = $converter->convert($ttsPhrases{$file});
    my $ssmltext="<speak>$text</speak>";
 
    #-- obtain speechlet 
    my $res = $polly->SynthesizeSpeech(
       VoiceId => 'Marlene',
       TextType=> 'ssml',
       Text => $ssmltext,
       OutputFormat => 'mp3');
     
    #-- write stream
    my $mp3;
    open($mp3, '>', "/home/fhem/ttsNew/".$file.".mp3");
    binmode($mp3);
    print $mp3 $res->AudioStream;
    close($mp3);
  }
}
 
#my %ttsMaxChar      = ("Google"     => 100,
#                       "VoiceRSS"   => 300,
#                       "SVOX-pico"  => 1000,
#                       "Amazon-Polly" => 3000
#                       );

#############################################################################
#
#  speak as the central output routine
#
#############################################################################
                                       
sub speak($$){
  my ($name,$text) = @_;
 
  fhem("setreading SPEAK $name.out ".substr($text,0,12));
  fhem("setreading SPEAK lastoutput $name");
  fhem("setreading SPEAK length ".length($text));
  fhem("setreading SPEAK duration ".length($text)/9);
 
  #-- Telegram, therefore distant
  if($name =~ /Telegram.*/){
    fhem193Cmd("{telegramRecognition('botreply: ".$text."')}");
    fhem("setreading SPEAK Telegram.out ".substr($text,0,12));
  #-- Digital Audio Device
  }elsif($name =~ /(^RPI)|(^Rpi)|(Sound)/){
    speakDAD($name,$text,"p");
  #-- Tablet
  }elsif($name =~ /(^Tab)|(HTC)/){   
    speakTablet($name,$text);
  #-- HTC,SZ therefore reroutable ==> check here
  }elsif($name =~ /SZ/){
    if( Value("BOSE_50338B343509") eq "playing" ){
      speakDAD("SoundTouch1.OG",$text,"p");
    }else{
      speakTablet("HTC.OG",$text);
    }
  #-- WZ,MSG therefore reroutable ==> check in 193
  }elsif($name =~ /(WZ)|(MSG)|(Msg)/){
    if( Value("BOSE_C4F312DD64C7") eq "playing" ){
      speakDAD("SoundTouch.EG",$text,"p");
    }else{
      speakTablet("Tab1.EG",$text);
    }
  }else{
    Log 1,"[speak] Error, Device $name unknown (text=$text)";
  }
}


#############################################################################
#
#  speak for digital audio devices
#
#############################################################################

sub speakDAD{
  my ($name,$text,$ttsResource) = @_;
  my ($daddev,$vol,$cmd);
  my $dadtype="";
 
  #-- default voice
  $ttsResource = "p"
    if(!defined($ttsResource));
  my $ttsMaxChar = 3000;
 
  #-- output device
  if($name =~ /R(P|p)(I|i).*DG/){
    $dadtype = "RPI";
    $daddev  = "RpiAudio.DG";
    $vol     = 25;
  }elsif($name =~ /R?(P|p)(I|i).*Meson/){
    $dadtype = "RPI";
    $daddev  = "RpiAudio.Meson";
    $vol     = 25;
  }elsif($name eq "SoundTouch.EG"){
    $dadtype = "BOSE";
    $daddev  = "BOSE_C4F312DD64C7";
    $vol     = 25; 
  }elsif($name eq "SoundTouch.EZ"){
    $dadtype = "BOSE";
    $daddev  = "BOSE_2C6B7D4B53A4";
    $vol     = 25;
  }elsif($name =~ /SoundTouch.?.OG/){
    $dadtype = "BOSE";
    $daddev  = "BOSE_50338B343509";
    $vol     = 25;
  #-- unknown DAD
  }else{
    $dadtype = "unknown";
    $daddev  = "";
    $vol     = 0;
    Log 1,"[speakDAD] called with unknown device name $name (text=$text)";
    return;
  }
 
  #-- make it sound better
  $text =~ s/(\d)\.(\d)/$1,$2/g;
  $text =~ s/Hallo, ich bin Jeannie. Wie kann ich Dir helfen\?/:001:/;
  $text =~ s/^OK$/:002:/;
  $text =~ s/^Es tut mir leid, das habe ich nicht verstanden$/:003:/;
  $text =~ s/Jeannie/dschini/;
  $text =~ s/Jacqueline/dschacklihn/;
  $text =~ s/^OK/Ookeeh/;
  $text =~ s/\:P\:/<break time="1s"\/>/g;
 
  fhem("setreading SPEAK $name.out ".substr($text,0,12));
 
  #-- settings
  #my $joiner     = "sox";
  my $joiner     = "mp3wrap";
  my $ttspath    = "/home/fhem";
  my $ttsDir     = "/home/fhem/tts/";
  my $ttsCDir    = "/home/fhem/ttsCache/";
  my $ttsTarget  = "speech";
 
  #-- delete old file to outsmart miniDLNA caching
  unlink $ttsDir.$ttsTarget.".mp3";
  Log 1, "[speakDAD] File ".$ttsDir.$ttsTarget.".mp3 could not be deleted"
    if(-e $ttsDir.$ttsTarget.".mp3");
 
  #-- obtain list of prerecorded files
  opendir (DIR, $ttsDir);
  while (my $ttsFile = readdir(DIR)) {
    next if ($ttsFile !~ m/\.mp3$/);
      push(@ttsFiles,$ttsFile);
    }
  closedir(DIR);
 
  #{Dumper(Text2Speech_SplitString(["Das ist ein Test"],10," ",0,"al"))}
  #{Dumper(Text2Speech_SplitString(["Das ist ein Test, in dem ein kleiner Teil <amazon:effect name=\"whispered\">geflüstert</amazon:effect> wird"],10," ",0,"al"))}
  #-- split text at word boundaries
  my @words      = split(' ', $text);
  my @speechlets = ();
  my $speechlet;
   
  my $i=0;
  my $j=0;
  while($i<int(@words)){
    last
      if( !$words[$i] );
    #-- word does not contain prerecorded filename, simply append words
    if( $words[$i] !~ /^\:(.*)\:$/ ){
      $speechlet="";
      while( (length($speechlet) + length($words[$i])) < $ttsMaxChar && $i<int(@words) ){
        $speechlet .= $words[$i]." ";
        $i++;
      }
      push(@speechlets,$speechlet);
      $j++;
      my $ttsKey   = md5_hex($ttsResource."|".$speechlet);
      my $ttsCFile = $ttsTarget."_".$ttsKey;
      my $found    = tts_dblog($ttsKey,$speechlet);

      #-- check if already exists     
      #if( -e $ttsCDir.$ttsCFile.".mp3" ) {
      if( $found == 1 ){
        Log 1,"[speakDAD] Speechlet '".$speechlet."' already in cache as ".$ttsCDir.$ttsCFile.".mp3";
      }else{
        if( $ttsResource =~ /p.*$/ ){
          tts_polly($speechlet,$ttsCDir.$ttsCFile);
        }else{
          tts_google($speechlet,$ttsCDir.$ttsCFile);
        }
        Log 1,"[speakDAD] Speechlet '".$speechlet."' obtained as ".$ttsCDir.$ttsCFile.".mp3";
      }
      $cmd .= $ttsCDir.$ttsCFile.".mp3 ";
     
    #-- word is prerecorded filename
    }else{
      my $name   = $1;
      my $ttsPFile = "";
      foreach my $k (@ttsFiles){
        if( $k =~ /$name/ ){
          $ttsPFile = $k;   
          last;
        }
      } 
      if($ttsPFile ne ""){
        $cmd .= $ttsDir.$ttsPFile." ";
        Log 5,"[speakDAD] Filename $name resolved as ".$ttsDir.$ttsPFile;
      }else{
        Log 5,"[speakDAD] Filename $name not resolved";
      }
      $i++; 
    }
  }
 
  #-- join speechlets and auxiliary files
  if( $joiner eq "sox" ){
    $cmd = "sox ".$ttsDir."silence_48_22050_1.mp3 ".$cmd." ".$ttsDir.$ttsTarget.".mp3" ;
    system($cmd);
    #-- write MP3 tags
    $cmd ="id3tag -sfhemspeech -aFHEM -Cdesc -Aalbum ".$ttsDir.$ttsTarget.".mp3 > /dev/null";
    system($cmd);
  }elsif( $joiner eq "mp3wrap" ){
    $cmd = "mp3wrap ".$ttsDir.$ttsTarget.".mp3 ".$ttsDir."silence_48_22050_1.mp3 ".$cmd." > /dev/null";
    system($cmd);
    #-- write MP3 tags
    $cmd ="id3tag -sfhemspeech -aFHEM -Cdesc -Aalbum ".$ttsDir.$ttsTarget."_MP3WRAP.mp3 > /dev/null";
    system($cmd);
    #-- move file to final location
    $cmd = "mv ".$ttsDir.$ttsTarget."_MP3WRAP.mp3 ".$ttsDir.$ttsTarget.".mp3";
    system($cmd);
  }else{
    Log 1,"[speakDAD] No MP3 joiner defined, playing ".substr($cmd,0,index($cmd,' '));
    #-- todo: take out first file as filename and copy to speech.mp3
    $cmd = "cp ".substr($cmd,0,index($cmd,' '))." ".$ttsDir.$ttsTarget.".mp3";
    system($cmd);
  }
  #-- get duration
  Log 1,"[speakDAD] duration of final file is ".tts_duration($ttsDir.$ttsTarget.".mp3")." s";

  #-- play it
  if( $dadtype eq "BOSE" ){
    BOSERepsas($daddev);
    fhem("set $daddev volume $vol");
    fhem("set $daddev playTrack fhemspeech");
  }elsif( $dadtype eq "RPI" ){
    fhem("set $daddev volume $vol");
    fhem("set $daddev origin speech");
  } 
}

##############################################################################
#
#  Write into speechlet database
#
##############################################################################

sub tts_dblog($$){
  my ($key,$text) = @_;
  #-- Create database by
  #  sqlite3 tts.db "CREATE TABLE tts (key INTEGER PRIMARY KEY, count INT, time INT, content TEXT);"
  #  chown fhem:dialout tts.db
  #--
  my $path = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);
 
  #-- check existence
  my ($res) = $dbh->selectrow_array("SELECT EXISTS ( SELECT 1 FROM tts WHERE key='".$key."')");
  #-- exists
  if( $res == 0 ){
    #-- insert a line
    $dbh->do("INSERT INTO tts (key,count,time,content) VALUES ('".$key."','1','".time()."','".$text."');");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  #-- does not exist
  }else{
    #-- modify
    $dbh->do("UPDATE tts SET count = count + 1 WHERE key='".$key."';");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }
  $dbh->commit();
  $dbh->disconnect();
  return $res;
}

##############################################################################
#
#  Display speechlet database
#
##############################################################################

sub tts_dbshow(){
  #--
  my $path   = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh    = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);
  my $ret    = "";

  #-- print rows
  my $res = $dbh->selectall_arrayref("SELECT key,count,time,content FROM tts;");
  foreach my $row (@$res) {
    my ($keyr,$countr,$timer,$textr) = @$row;
    $ret .= sprintf("%s %d %d %s\n",$keyr,$countr,$timer,$textr);
  }
  $dbh->disconnect();
  return $ret;
}

##############################################################################
#
#  Purge speechlet database
#
##############################################################################

sub tts_dbpurge($$){
  my ($deltime,$mincount) = @_;
  #--
  my $path   = "/home/fhem";
  my $dbargs = {AutoCommit => 0, PrintError => 1};
  my $dbh    = DBI->connect("dbi:SQLite:dbname=".$path."/tts.db", "", "", $dbargs);

  if( defined($deltime) && $deltime > 0){
    my $earliest = time() - 86400*$deltime;
    $dbh->do("DELETE from tts where time < ".$earliest.";");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }elsif( defined($mincount) && $mincount > 0){
    $dbh->do("DELETE from tts where count < ".$mincount.";");
    if ($dbh->err()) {
      Log 1,"[tts_dblog] $DBI::errstr";
    }
  }
  $dbh->disconnect();
}

##############################################################################
#
#  Obtain a speechlet file from Amazon Polly
#
##############################################################################

sub tts_polly($$){
  my ($texti,$file) = @_;
    #-- we may have problems with umlaut characters
  my $converter = Text::Iconv->new("utf-8", "iso-8859-1");
  my $text = $converter->convert($texti);
 
  #<break time="1s"/>
  my $ssmltext = '<speak>'.$text.'</speak>';
 
  #-- obtain speechlet
  my $polly = Paws->service('Polly', region=>'eu-central-1');
  my $res = $polly->SynthesizeSpeech(
     VoiceId => 'Marlene',
     TextType=> 'ssml',
     Text => $ssmltext,
     OutputFormat => 'mp3');

  #-- write stream
  my $mp3;
  open($mp3, '>', $file.".mp3");
  binmode($mp3);
  print $mp3 $res->AudioStream;
  close($mp3);
}

##############################################################################
#
#  Obtain a speechlet file from Google
#
##############################################################################

sub tts_google($$){
  my ($text,$file) = @_;
  #-- obtain speechlet
  system("wget -q --user-agent='Mozilla/5.0' \'http://translate.google.de/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=$text\' -O $file.mp3");


##############################################################################
#
#  Determine duration of speech file
#
##############################################################################

sub tts_duration($) {
  my $time;
  my ($file) = @_;
  eval {
    use MP3::Info;   
    my $tag = get_mp3info($file);
    if ($tag && defined($tag->{SECS})) {
  $time = int($tag->{SECS}+0.5);
    }
  };
  if ($@) {
    return undef;
  }
  return $time;
}
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 04 April 2020, 18:05:23
hello and thank you for your time !
unfortunately i really don't know where and how i can use your code  ;D
i have a question before ... is this piece of code will have the same fonctionality as the module ?? for example : send speech or recorded speech, with or without a gong before or after, and will pause the actual source and play the same source after the speech ??

;D
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: elmattt am 30 April 2020, 20:02:21
Hi ! any news ??
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 27 Mai 2020, 15:13:11
Hallo zusammen,

ich habe mir ein Musikplayer widget für die Bose Soundtouch erstellt.
Leider erscheint immer nur ein (Reading) Cover, wenn die Soundtouch an ist.
Ist die Soundtouch aus, gibt es kein Cover....
Gibt es die Möglichkeit einen Platzhalter (ein anderes Bild) für das Cover zu setzen, wenn sie aus ist?
So sieht es momentan aus. Es geht um das reading "art"

<div data-type="image" data-device="BOSE_08DF1FXXXXX" data-get="art" data-size="100px" data-refresh="5" class="top-space"></div>

Danke.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 28 Mai 2020, 10:04:19
Hallo Mad,

ich habe mir ein userreading erstellt welches das reading art anzeigt oder wenn da keins ist mein default icon anzeigt.
Sobald ich wieder an min system komme kann ich dir das schicken.

Gruß
Eisix
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Eisix am 28 Mai 2020, 11:35:37
ist von einer squeezebox


ftuicoverarturl:coverarturl.*|power.* {if(ReadingsVal('SB_PLAYER_b227eb45865e','power','on') eq 'on') {return ReadingsVal('SB_PLAYER_b227eb45865e'','coverarturl','')} else {return '/fhem/images/Senderlogo.jpg'}}
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 01 Juni 2020, 21:52:48
Besten Dank.

Habe es nun so gelöst

Platzhalter {if(ReadingsVal("BOSE_68C90BXXXXX","art","n.a.") eq ""){return "../images/bose.png"}else{return ReadingsVal("BOSE_68C90BXXXXX","art","../images/bose.png")}}
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 06 Juni 2020, 21:06:10
Gibt es mittlerweile die Möglichkeit MP3 Dateien abzuspielen? Fange gerade an mich mit dem Alarm Modul zu befassen und würde gerne die Bose Anlage dazu nutzen..
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 07 Juni 2020, 10:33:17
Aber ja. Ich habe weiter oben Code dazu gepostet:

- Entweder vorgefertigte MP3-Dateien, oder
- frisch mit Amazon Polly oder dem Sprachservice von Google geholte MP3-Dateien oder
- eine Kombination von beidem.

werden als Datei "fhemspeech.mp3" auf einen miniDLNA geschoben, und die BOSE-Kisten mit einem FHEM-Befehl
playTrack fhemspeech
abgespielt. Inklusive Caching von Sprachdateien.

Beispielsweise gibt es eine Datei "023_hoftuer.mp3" mit dem Inhalt "Die Hoftür ist offen". Auf allen meinen FHEM-Systemen wird durch den Perl-Befehl
speak("SoundTouch.EG",":023: , mach sie bitte zu")
bewirkt, dass meine BOSE SoundTouch 300 im Erdgeschoss die Nachricht "Die Hoftür ist offen, mach sie bitte zu" abspielt.

Dabei wird das Speechlet ", mach sie bitte zu" live von Amazon erzeugt und mit der vorhandenen Datei zusammengefügt, danach abgespielt. Dauert wegen der Latenz und der nötigen Anlaufzeit der BOSE 300 (ca. 1 Sekunde) insgesamt etwa 3 Sekunden vom Absetzen des Befehls bis zum Ertönen der Durchsage.

Und falls mit dem etwas informationsfreien Post gemeint war, ob man denn Musikdateien abspielen kann: Das ging schon immer.

LG

pah


Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 07 Juni 2020, 10:56:32
Vielen Dank für die Antwort.
Um meinen ursprünglichen Post mit etwas mehr Informationen zu füllen :-)
Ist es möglich MP3 Dateien, die ich auf dem Raspi ablege (auf dem auch Fhem läuft), abzuspielen? Also ohne DLNA.
Das ganze würde ich gern mit dem Alarm Modul verknüpfen....

Ich konnte es aber jetzt über die Fritzbox (fritznas) schon mal realisieren. Mit dem Befehl
playTrack <Dateiname>
funktioniert es!

In dem Zusammenhang habe ich auch versucht die Dateien von der Fritzbox als "channel" zu hinterlegen. Leider erfolglos.
Zu Testzwecken habe ich bereits vorhandene channels ausgelesen und übernommen, auch ohne Erfolg.
Sah dann z.B. so aus
attr BOSE_000C8A8XXXX channel_18 1 LIVE|/v1/playback/station/s25260|TUNEIN

In diesem Fall war das reading "contentItemSourceAccount" leer.

Was mach ich da falsch?


Besten Dank
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 07 Juni 2020, 18:01:56
ZitatIst es möglich MP3 Dateien, die ich auf dem Raspi ablege (auf dem auch Fhem läuft), abzuspielen? Also ohne DLNA.
Nein.

FritzBox ist eben MIT DLNA. Und ich habe keine Ahnung, wie man den FB-DLNA zum Rescan bewegen kann. Dieser Rescan ist nötig, wenn man eine Datei überschreibt.

Tipp: Etwas abspielen, dann den Channel mit einer Nummer > 6 im Modul sichern und sich den Attributwert ansehen. Da steht dann z.B. so etwas:

Willy and the Poor Boys||0$=Artist$85$albums$*a394|STORED_MUSIC|1677cdb1-d452-43c6-bf7a-49ed4d92c89f/0

Ich habe noch nicht herausgefunden, wie man "manuell" einen solchen Channeleintrag erzeugen könnte, um ein Musikstück auszusuchen.

Bei mir geht das deshalb über Playlists. Wenn ich ein bestimmtes Stück spielen will, trage ich das (via gepatchtes MediaList-Modul) in eine Playlist ein, die mit einem der Channel verbunden ist und somit einfach abgespielt werden kann.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 09 Juni 2020, 21:38:51
Danke für die Antwort.
Solange es über die FB läuft, reicht mir das dann. Mit Rescan ist aber nicht die Indizierung gemeint, die man über die Bose App anstoßen kann?
Gruß zurück
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 10 Juni 2020, 14:34:14
Der Rescan wird vom DLNA-Server ausgeführt, um ggf. Veränderungen in den Dateien zu erkennen. Ich wüsste nicht, dass der auf der FB durch die BOSE-App angestoßen werden kann??

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Mad am 10 Juni 2020, 23:44:11
Bevor wir evtl. aneinander vorbeireden, hier ein screenshot :-)
Grüße
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: rakete123 am 14 Juni 2020, 09:02:11
@dominik: Ich würde heute die Möglichkeit benötigen, die Soundtouch 300 auf HDMI per FHEM umzuschalten. Hast du meinen Post #586 hier gesehen? Hättest du Zeit sowas einzubauen oder soll ich mich mal an einem Patch versuchen?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Treibhaus am 10 November 2020, 21:59:11
Zitat von: Parador am 18 August 2018, 22:48:12
Hallo Zusammen,

eigentlich hatte ich meinen Soundtouch schon zum Sprechen gebracht, doch seit einiger Zeit bleibt er stumm...
Über die Soundtouch-Software finde ich den minidlna-Server und kann die Mp3's dort auch abspielen. Es scheinen aber keine neuen Dateien erzeugt zu werden...

Heute hatte ich Zeit mich dem Problem etwas zu widmen...
Ich habe mit  versucht ihn zum sprehen zu bewegen, aber leider passierte nix.
Dann habe ich das VerboseLevel auf 5 gesetz und es nochmal probiert... und folgende Meldunge im Log gefunden:
2018.08.18 5: BOSEST: run mojo loop
2018.08.18 5: BOSEST: finished mojo loop
2018.08.18 4: BOSEST: set /speaker => <play_info><app_key>fürsForumentnommen</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Guten%20Morgen</url><service>Guten Morgen</service><volume>35</volume></play_info>
2018.08.18 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>
2018.08.18 5: BOSEST: run mojo loop


und bin nun irritiert warum hier ein 403'er fehler kommt. An dem Rechner an dem ich gerade sitze kann ich die URL problemlos aufrufen, da der Raspi auf dem FHEM läuft auch ständig andere Dinge aus dem Netz abfragt, geht dort grundsätzlich auch die Internetverbindung.
Kommt die Rückmeldung mit dem 403'er evtl. nicht vom ST sondern von Google's Translate??  Bzw. woran kann es noch liegen?

Vielen Dank für Euere Ideen und Hilfe bereits im Voraus!

VG

Hallo, gab es diesbezüglich damals ein hilfreiche Antwort ?
Ich stehe aktuell vor dem selben Problem.
Gruß Jörg
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 21 Dezember 2020, 18:41:21
seit ein paar Tagen erhalte ich mit

set BOSEDEVICE speak "Dies ist ein Test"

keine Sprachausgabe mehr aus der Bose-Box.

Im Log gibts dann so etwas:
2020.12.21 18:27:06 4: BOSEST: set /speaker => <play_info><app_key>Ml7YG12345648e86JPXtisddBa</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&tl=de&client=tw-ob&q=Dies%20ist%20ein%20Test</url><service>Dies ist ein Test</service><volume>60</volume></play_info>
2020.12.21 18:27:06 4: BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="409" name="HTTP_STATUS_CONFLICT" severity="Unknown">request not supported in current state</Error>


Wenn ich die URL oben aus der Log-Ausgabe mal im Browser verwende, erhalte ich einen Sprachausgabe Link, den man anklicken kann.
Also von Google-Seite scheint es zu funktionieren.

Kann es mal jemand bei sich ausprobieren, ob es noch funktioniert?



Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 23 Dezember 2020, 07:59:26
also ohne weitere Veränderung funktioniert die "speak" Funktion seit heute früh wieder.
Was es für ein Problem war, keine Ahnung. Aber definitiv nichts mit fhem oder dem Raspberry auf dem es läuft, da nichts an der config verändert wurde.
Naja, Hauptsache es geht wieder.

Sonst hätte ich mir etwas anderes für die diverse Ansagen überlegen müssen, die ich über die Bose Boxen ausgebe...
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gande am 28 September 2021, 21:36:33
Hallo Zusammen,

vielen Dank an den Entwickler für das tolle Modul.

Ich verwende es mit Soundtouch 10, 20 sowie dem Wireless Link adapter. Alle Geräte werden sauber erkannt und korrekt angezeigt. Allerdings habe ich mit dem Wireless Link adapter das Problem, dass ich keine Quelle setzen kann.

Sprich mit dem Befehl "set DeviceXY source bluetooth" passiert nichts. Radiokanäle können hingegen angewählt werden.

Das Problem tritt nur beim Wireless Link adapter auf. Bei den Soundtouch 10 und 20 funktioniert es einwandfrei.

Kann mir hierbei jemand helfen?

Viele Grüße,
Christian
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gande am 05 Oktober 2021, 21:46:34
Ich habe es nun mit HTTPMOD vorerst provisorisch gelöst.
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 07 Oktober 2021, 13:47:29
Ah ja. Und wie?

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Gande am 25 Oktober 2021, 20:59:54
So:

defmod Wohnzimmer_HTTP HTTPMOD http://ip:8090 0
attr Wohnzimmer_HTTP room Soundtouch
attr Wohnzimmer_HTTP set01Data <ContentItem source="$val"></ContentItem>
attr Wohnzimmer_HTTP set01Hint BLUETOOTH
attr Wohnzimmer_HTTP set01Name Input
attr Wohnzimmer_HTTP set01TextArg 1
attr Wohnzimmer_HTTP set01URL http://ip:8090/select
attr Wohnzimmer_HTTP setHeader1 Content-type: text/xml


Und Auswahl Input über:

set Wohnzimmer_HTTP Input BLUETOOTH
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Carsten K. am 31 Dezember 2021, 15:14:10
Zitat von: Prof. Dr. Peter Henning am 03 April 2020, 15:22:08
SoundTouch 30 should work, Soundbar 300 needs a different approach because BOSE did not put in the API.

To get it working with the 300:

- You need a DLNA Server, like miniDLNA.
- You need a few lines of code (which I can give you) that send the text to Google or Amazon, and collect the returning MP3 file
- This mp3 file needs to be placed in the proper directory of the miniDLNA as file speech.mp3, and one has to trick the miniDLNA as to avoid caching
- The 300 gets the command "play speech.mp3"
Hallo Peter,
die Anfrage bezog sich auf eine "Soundbar 300" und da hatte ich die Hoffnung, dass ich Deinen Ansatz auch für meine "Soundbar 700" anwenden könnte.
Mittlerweile vermute ich, dass auf diesem Gerät kein MP3 von außen abgespielt werden kann (wegen fehlender API, etc.?).
Kannst Du das evtl. bestätigen? Ich suche mir gerade einen Wolf...

LG
Carsten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 02 Januar 2022, 10:02:39
Da ich die 700 nicht habe, kann ich das nicht verifizieren.

Können denn MP3s von einer NAS oder so abgespielt werden?

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Carsten K. am 02 Januar 2022, 11:34:21
Zitat von: Prof. Dr. Peter Henning am 02 Januar 2022, 10:02:39
Können denn MP3s von einer NAS oder so abgespielt werden?
Mit meiner Kenntnis: nein, für NAS oder andere lokale Dateien habe ich keine Möglichkeit gefunden.

Die "Bose Music" App bietet nur "Amazon Music", "Spotify" und "TuneIn" an.

Damit habe ich mir die Antwort wahrscheinlich schon selbst gegeben ;)

Gute Neues Jahr,
Carsten
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 02 Januar 2022, 12:44:02
Glaub ich nicht. Gibt es denn im lokalen Netzwerk einen DLNA-Server (z.B. auf einer Fritzbox)?
Ich gehe jede fast Wette ein, dass man eine solche Quelle in der App hinzufügen kann.Und dann auf einem der Kanäle abspeichern kann.

Und wenn das geht, kann man auch Playlists (im m3u-Format) abspielen.

LG

pah
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Carsten K. am 02 Januar 2022, 19:21:15
ich habe 2 minidlna Server - das wäre nicht das Problem.
Ich suche mal, ob es eine Möglichkeit gibt, einen lokalen DLNA anzusprechen.

Danke für den Impuls,
Carsten

----
habe gerade mal gesucht und leider was gefunden  :'(: http://www.hifi-forum.de/viewthread-35-80813.html
(Suche nach "Soundbar 700")
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Teemo am 21 Juni 2022, 10:11:28
Ist es möglich, dass nextTrack/prevTrack zwischen den Lieblingsradios umschaltet, wenn gerade eines der Lieblingsradios läuft?
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Teemo am 08 Juli 2022, 16:40:05
Hallo, es gibt ein Problem mit der Dekodierung von Zeichen bei der Anzeige der Geräteinformationen "list BOSE_XYZ".
Es geht um Zeichen wie "ł", "ń", "ś" usw.
Wie kann man das beheben? Wahrscheinlich liegt der Fehler im Modul selbst.

"Radio Złote Przeboje" = "Radio Złote Przeboje"
Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Prof. Dr. Peter Henning am 09 Juli 2022, 11:42:20
ZitatIst es möglich, dass nextTrack/prevTrack zwischen den Lieblingsradios umschaltet, wenn gerade eines der Lieblingsradios läuft?
Bitte selbst nachdenken: Dann müsste die Hardware ja verschiedene Kanäle überwachen.

ZitatHallo, es gibt ein Problem mit der Dekodierung von Zeichen bei der Anzeige der Geräteinformationen "list BOSE_XYZ".
Es geht um Zeichen wie "ł", "ń", "ś" usw.
Wie kann man das beheben?
Encoding des eigenen Systems korrekt einstellen.


ZitatWahrscheinlich liegt der Fehler im Modul selbst.
Unsinn. Der Output des list-Befehls hat nichts mit dem Modul zu tun. Bitte keine wilden Spekulationen.

LG

pah

Titel: Antw:[Neues Modul] BOSE SoundTouch
Beitrag von: Teemo am 11 Juli 2022, 08:24:34
Zitat von: Prof. Dr. Peter Henning am 09 Juli 2022, 11:42:20
Bitte selbst nachdenken: Dann müsste die Hardware ja verschiedene Kanäle überwachen.
Encoding des eigenen Systems korrekt einstellen.

Unsinn. Der Output des list-Befehls hat nichts mit dem Modul zu tun. Bitte keine wilden Spekulationen.

LG

pah

Entschuldigung für die voreilige Schlussfolgerung, Sie hatten Recht mit dem Problem der Zeichenkodierung in fhem.
Kann ich attr encode "unicode" in global verwenden - ich sehe, dass es als experimentell gekennzeichnet ist?
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: Teemo am 09 August 2023, 09:26:55
Hey, unterstützt das SoundTouch Wireless Link TTS?
Ich habe ein Problem, weil ich ein
2023.08.09 09:23:11 4 : BOSEST: set /speaker => <play_info><app_key>Ml7YGAI9JWjFhU7D348e86JPXtisddBa</app_key><url>http://translate.google.com/translate_tts?ie=UTF-8&amp;tl=en&amp;client=tw-ob&amp;q=To%20test</url><service>To test</service><volume>3</volume></play_info>
2023.08.09 09:23:11 4 : BOSEST: success: <?xml version="1.0" encoding="UTF-8" ?><Error value="403" name="HTTP_STATUS_FORBIDDEN" severity="Unknown">unsupported device</Error>
bekomme und ich frage mich, ob ich etwas falsch konfiguriert habe oder ob dieses Modell es einfach nicht unterstützt
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: michaIII am 03 September 2023, 21:36:07
Hallo zusammen,

erst einmal herzlichen Dank an dominik für das Bosest-Modul. Nachdem es viele Jahre problemlos funktionierte, ist TTS nun leider verstummt (ungefähr seit der Meldung von Teemo). Bei mir kam im Fhem-Log allerdings der HTTP-Error 500. Nach Einschalten von verbose und Kopieren der URL in den Browser kam Http-Fehler 403. Nach Studium dieses Threads bin ich bei dem Beitrag von Fred Feuerstein vom 21.12.2020 18:41 stutzig geworden. 
Während in diesem Beitrag die Parametertrennung in der Url lediglich über das Zeichen & stattfand, sieht nun die Prametertrennung so aus : &amp;
Nach Eingabe dieser so formatierten Url im Browser kommt die Meldung 403
Nach Auskommentieren der Zeile 1020 (  $translateUrl =~ s/\&/\&amp\;/g; ) in  98_BOSEST.pm wurde die Url wieder so wie im Beitrag von Fred Feuerstein formatiert (jedenfalls steht es so im Fhem-Log). Ein Kopieren der Url aus dem fhem-log in den Browser erzeugt nun wieder eine funktionierende Sprachausgabe. Leider kommt im Fhem immer noch http-Error 500. Nun bin ich etwas ratlos. Kann hier jemand helfen ? (aufgrund der fehlenden Meldungen hier im Forum befürchte ich jedoch, dass Bose TTS von keinem außer Teemo verwendet wird. Was ich kaum glauben möchte).
 
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 20 Oktober 2023, 13:27:45
Also TTS funktioniert hier auf Bose 10 und Bose 20. Nach wie vor. Ich nutze das täglich viele Male.
Auf der Portable funktioniert es bekannterweise nicht.
Bei der Wireless Link bin ich nicht sicher. Die habe ich zwar auch, aber noch nicht bzgl TTS getestet.
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: HansDampfHH am 07 November 2023, 15:33:17
Moin. Ich habe soeben mein FHEM in einen Docker-Container verschoben. Bisher scheint wieder alles zu laufen.
Bis auf BOSEST. Zumindest bekomme ich keine Verbindung zu meiner Box. Wenn ich das Device neu anlege, bekomme ich da auch keine besondere Meldung im Log.

2023.11.07 15:24:52.357 3: BOSEST: BOSE SoundTouch v2.2.1
2023.11.07 15:31:09.598 5: BOSEST: finished discovery

Muss ich noch einen Port freigeben?

Edit:
Habe mal laut der Bose-Homepage folgende Ports in den Container durchgeschleift, leider ohne besondere Veränderung:
      - "1900:1900" # Bonjour
      - "5350:5350" # Bonjour
      - "5351:5351" # Bonjour
      - "5353:5353" # Bonjour, AirPlay
      - "17008:17008" # Bonjour, SoundTouch/Bose Music

Edit2: Hat sich erledigt, nutze macvlan. Bose Soundtouch wird wieder gefunden. Die UDP Ports waren das Problem.
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: StefanG am 26 Dezember 2023, 08:37:12
Hallo!

Habe eine FHEM-Testinstallation aufgebaut und eine Bose ST 525 eingebunden. Funktioniert gut, aber mit folgenden Einschränkungen:

* Die Readings für Channel 1 bis 6 werden nicht mehr richtig synchronisiert, sobald man in der Bose-App Favoriten vergibt (konkret werden die Readings dann nur mit "-" befüllt). Das war in früheren App-Versionen meiner Erinnerung nach nicht möglich, ist also vermutlich bei der Modul-Erstellung so nicht berücksichtigt worden. Wenn man die Favoriten in der App wieder entfernt, werden die Channel-Readings wieder korrekt synchronisiert. -> Generell scheint die Abfrage der Presets fehlerbehaftet zu sein. Ob auf Bose- oder FHEM-Seite kann ich nicht beurteilen:

Ein funktionierender Aufruf sieht so aus:

2023.12.26 12:43:50.226 5: BOSEST: BOSEST_updatePresets
2023.12.26 12:43:50.259 5: BOSEST: processXml:
$VAR1 = {
          'presets' => {
                         'preset' => [
                                       {
                                         'ContentItem' => {
                                                            'containerArt' => 'http://cdn-radiotime-logos.tunein.com/s8007q.png',
                                                            'type' => 'stationurl',
                                                            'location' => '/v1/playback/station/s8007',
                                                            'isPresetable' => 'true',
                                                            'source' => 'TUNEIN',
                                                            'sourceAccount' => '',
                                                            'itemName' => "Hitradio \x{d6}3"
                                                          },
                                         'id' => '1',
                                         'createdOn' => '1577278945',
                                         'updatedOn' => '1577278945'
                                       },
                                       {
                                         'ContentItem' => {
                                                            'source' => 'STORED_MUSIC',
...

Ein funktionierendes Update sieht so aus:

2023.12.26 12:38:23.351 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                         'deviceID' => '[...]',
                         'presetsUpdated' => {
                                               'presets' => {
                                                              'preset' => [
                                                                            {
                                                                              'id' => '1',
                                                                              'updatedOn' => '1577278945',
                                                                              'createdOn' => '1577278945',
                                                                              'ContentItem' => {
                                                                                                 'isPresetable' => 'true',
                                                                                                 'itemName' => "Hitradio \x{d6}3",
                                                                                                 'containerArt' => 'http://cdn-radiotime-logos.tunein.com/s8007q.png',
                                                                                                 'sourceAccount' => '',
                                                                                                 'location' => '/v1/playback/station/s8007',
                                                                                                 'type' => 'stationurl',
                                                                                                 'source' => 'TUNEIN'
                                                                                               }
                                                                            },
                                                                            {
                                                                              'updatedOn' => '1703415980',
                                                                              'id' => '2',
                                                                              'ContentItem' => {
...

Aber es gibt (m.E. in Zusammenhang mit den Favoriten) auch leere Aufrufe, die dann die Channels falscherweise löschen:

2023.12.26 12:38:21.935 5: BOSEST: processXml:
$VAR1 = {
          'updates' => {
                         'presetsUpdated' => {},
                         'deviceID' => '[...]'
                       }
        };

* BOSEST erzeugt doch viele Freezes im System. Im Modul selbst kann man ja relativ wenig konfigurieren (habe nur StaticIPs gesetzt, weil ohne die die Bose nicht gefunden wurde). Gibt es da aktuelle Erfahrungen damit, wo man ansetzen könnte? -> Scheint nur in Kombination mit Harmony aufzutreten, vermutlich eher dort zu suchen. Generell werden auftretende Freezes von FreezeMon anscheinend immer Bose zugeschoben (s:13:05:18 e:13:05:31 f:13.608 d:tmr-BOSEST_checkWebSocketConnection(BoseRec) tmr-BOSEST_checkWebSocketConnection(BoseRec)), auch wenn sie wie z.B. in diesem Fall vom HTTP-Abruf eines langen Logfiles kommen.

* Kann man das übergeordnete BOSEST-Gerät, das ja m.E. nur die Aufgabe hat, ein konkretes weiteres BOSEST-Gerät anzulegen, eigentlich wieder entfernen, sobald das zweite Gerät gefunden ist, oder sind da dann negative Nebeneffekte zu erwarten? -> Nachdem die Freezes jetzt nach Harmony-Deaktivierung verschwunden sind, kann man das als Fehlerquelle ausschließen.

Danke vorab für jegliches Feedback!

LG
Stefan

Edit1: Freezes kommen anscheinend von Harmony, nicht von BOSEST (siehe Ergänzung oben). Somit für diesen Thread erledigt.

Edit2: Detail zum Channel-Problem (siehe Ergänzung oben). Gerne um Feedback dazu, wenn Euch das etwas sagt.
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: ph0x am 28 Dezember 2023, 20:22:54
Kann ich nur insofern reproduzieren, als dass Presets in der App auf ,,offen" gesetzt (also quasi gelöscht) werden, wenn man daraus einen Favoriten macht. Dieses Preset ist dann in FHEM (logischerweise) ,,-", aber alle anderen passen.
Macht man aus dem Favoriten wieder einen Preset, taucht er wieder ganz normal auf.
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: ph0x am 29 Dezember 2023, 14:23:25
Ich habe auto-zone auf ,,off" gestellt und dennoch starten beim Einschalten alle Player, auch wenn ich keine Zone generiert habe. Ist das normal und wie kann ich das verhindern?

Auch in der App fangen immer alle Speaker an zu spielen, bis ich auf ,,Alle wiedergeben beenden" klicke.

Jemand einen Vorschlag?


EDIT:
Nach dem Anlegen von jeweils einer separaten Gruppe auf jedem Device scheint es sich gefangen zu haben und nicht automatisch alle Geräte mehr zu starten, sobald eines zu spielen beginnt.
Titel: Aw: [Neues Modul] BOSE SoundTouch
Beitrag von: fred_feuerstein am 08 Februar 2024, 17:43:10
separate Gruppen/Zonen etc. habe ich nicht angelegt.

Es gibt "Play" und "PlayEverywhere" bei jedem Device. Damit steuere ich entweder Abspielen auf dem jeweiligen Device oder halt auf allen gleichzeitig.

Das funktioniert bei mir ganz normal.