[Neues Modul] BOSE SoundTouch

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

Vorheriges Thema - Nächstes Thema

dominik

Hi pah,
danke für das Log. Der Fehler bei dir ist, dass die "&" nicht durch "&" 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
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Prof. Dr. Peter Henning

Ä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

Alex76

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

geforce28

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

LuBeDa

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.


Eisix

#500
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

Eisix

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

fred_feuerstein

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.
Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

fred_feuerstein

#503
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

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

fred_feuerstein

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.

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

kaputt

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.
Gruß aus L.E.
Uwe

Bei U/Linux hilfreich aber nicht nötig, bei Windows nötig aber nicht hilfreich!
Rechtschreibfehler sind beabsichtigt und Ausdruck meiner Persönlichkeit

fred_feuerstein

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 :)

Gruß, Fred

FHEM auf Raspberry PI 3B+ im 7Zoll TouchDisplay Gehäuse, OS: Bullseye, mit Z-Wave RaZberry-Modul, 868CUL (WMBUS), LaCrosseCUL (Temp) und knapp 300 Devices aller Art

elektro_rainer

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

Gasmast3r

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

elektro_rainer

#509
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>