Hauptmenü

Connected und menu

Begonnen von australien, 03 Oktober 2022, 11:42:52

Vorheriges Thema - Nächstes Thema

mark24

#15
ich gehe mal davon aus, dass deine SONOSPLAYER im attr userReadings Funktionen für "Favourites", "Radio" usw. enthalten.
Das ist laut Wiki der "alte" Weg.

Im SONOS Device gibt es ein paar neue Schalter

define Sonos SONOS localhost:4711
attr Sonos getFavouritesListAtNewVersion 1
attr Sonos getListsDirectlyToReadings 1

Damit übernimmt das Modul die Aufbereitung und füllt die Readings im SONOSPLAYER.

Dazu kommt noch ein notify

define Sonos_GetNewFavouritesNotify notify Sonos_[^_]+:FavouritesVersion.* { fhem("get $NAME FavouritesWithCovers");; fhem("get $NAME Favourites");; }


Sobald dann eine Änderung an der Favoriten-Liste (add/del) erfolgt, tauchen die neuen Readings auf.

jemu75

Ich habe eben das Release 3.36.0 freigegeben. Mit diesem kann der Parameter leftmenu, midmenu bzw. rightmenu jetzt auch über ein reading befüllt werden.
Damit die Favoriten für SONOS korrekt gestartet werden, muss das Userreading, wie hier von mark24 beschrieben erstellt werden.


appMenu:FavouritesListAlias.* {
my $result;; my $command=':StartFavourite ';;
foreach my $item (split(/\|/, ReadingsVal($name, "FavouritesListAlias" ,""))) {
   my $item_html = $item;;
   $item_html =~ s/\s/%20/g;;
   if($result ne "") {$result .= ', '}
   $result .= '"' . $item . $command . $item_html . '"';;
};;
{return $result};;
}

mark24

Works like a charm  8)
Danke fürs einbauen!

binford6000

#18
Wie muss es im Template denn jetzt lauten? So...
"rightMenu": ["fhemApp_FavList %s"]
...passiert jedenfalls nichts beim Klick auf das Menu. Das Reading ist natürlich vorhanden und befüllt wie es sein soll...  ;)
Neuste Version ist auch drauf.

VG Sebastian

jemu75

Hi Sebastian,

wenn das Menu durch ein Reading befüllt werden soll, dann wird der Name des Reading einfach als String in dem Parameter angegeben. Vermutlich habe ich das in der Doku etwas missverständlich geschrieben. Probiere bitte mal folgendes in deinem Template.

"rightMenu": "fhemApp_FavList"

Beste Grüße
jens  :)

binford6000

Moin Jens,
das hatte ich bereits ausprobiert. Dann sieht das device so aus wie im Anhang...

VG Sebastian

jemu75

#21
Hi Sebastian,

wie sieht der Inhalt deines Readings fhemApp_FavList aus?

Bei mir sieht das Reading wie folgt aus und damit funktioniert es
["ABSOLUTE CHILLOUT:StartFavourite ABSOLUTE%20CHILLOUT", "ANTENNE BAYERN Chillout:StartFavourite ANTENNE%20BAYERN%20Chillout", "Absolut relax:StartFavourite Absolut%20relax"]

und die Definition vom userreading sieht wie folgt aus
appMenu:FavouritesListAlias.* {
my $result;; my $command=':StartFavourite ';;
foreach my $item (split(/\|/, ReadingsVal($name, "FavouritesListAlias" ,""))) {
   my $item_html = $item;;
   $item_html =~ s/\s/%20/g;;
   if($result ne "") {$result .= ', '}
   $result .= '"' . $item . $command . $item_html . '"';;
};;
$result = '[' . $result . ']';;
{return $result};;
}


Grüße
Jens  :)