[Neues Modul] BOSE SoundTouch

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

Vorheriges Thema - Nächstes Thema

Eisix

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

kaputt

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?
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

Eisix

@kaputt
Schick mal deinen html Code.
Was meinst du mit Channel belegen? Meinst du die höher Channel6? Einfach save Channel.

Gruß
Eisix

Treibhaus

#423
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
Signatur:
Odroid -C2 + BSC EnOcean USB 300-TCM310 + HM485
Enocean-Taster-Fensterkontakt,-Bewegungsmelder
HM-Module über 3 Etagen + Garage/Garten
+ 1-wired Temp-Sensoren, S0-Schnittstellen + RHASSPY-Spracherkennung

Eisix

@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

kaputt

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

Eisix

@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

Malc

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



kaputt

entweder das Verzeichnis existiert nicht und/oder die Zugriffsrechte passen nicht und die Default Language ist wohl nicht gesetzt.
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

Malc

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.

Gasmast3r


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

ukobusch

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

Gruß aus Wilhelmshaven
(Raspberry Pi, FHEM, CCU2, diverse Sensoren/Aktoren)

Malc

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

kaputt

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?
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

Malc

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