[Neues Modul] BOSE SoundTouch

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

Vorheriges Thema - Nächstes Thema

Malc

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


dominik

Danke für das Feedback. Kannst du bitte ein Log mit verbose=5 posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Malc

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

dominik

Kannst du mal shutdown restart machen und dann nochmals das Log posten?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Malc

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'
                     }
        };

dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Malc

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.

dagobertddo

@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);

dagobertddo

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?

dominik

@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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Malc

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


Malc

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

dagobertddo

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

dominik

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.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

dominik

@Malc, probier bitte mal die Version anbei.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik