Das Hilfs-Modul MediaList (https://wiki.fhem.de/wiki/MediaList) machts möglich.
Inspiriert von diesen beiden Beiträgen von alexmetz (https://forum.fhem.de/index.php/topic,67398.msg790053.html#msg790053) und stefanru (https://forum.fhem.de/index.php/topic,88038.msg804627.html#msg8046279) hab ich mich an folgende einfache Umsetzung gemacht.
fhemIntents:
{Musikcmd ($artist)}=spiele {artist:AMAZON.artist}
99_myutils.pm:
# Alexa medialist Musik
sub Musikcmd ($) {
my ($artist) = @_;
my $new_artist;
($new_artist = $artist) =~ s/(\b)([a-z])/$1\u$2/g;
$new_artist =~ s/(\b)(Of|Und|And)/$1\l$2/g;
fhem("set MyMediaList RequestedDirectory /;set MyMediaList RequestedDirectory $new_artist;sleep 2;set MyMediaList Play currentdir");
return "Es wird :". $artist. "abgespielt";
}
JSON:
{
"name": "FHEMperlCodeIntentC",
"slots": [
{
"name": "FHEMperlCodeIntentC_artist",
"type": "AMAZON.Artist"
}
],
"samples": [
"spiele {FHEMperlCodeIntentC_artist}"
]
}
Nachteil: die Titel der Musikordner müssen in Kleinbuchstaben vorliegen.
Im Falle von SONOS sind dann die üblichen Sprachbefehle (nächster Song, lauter, leiser etc.) des SONOS-Skill möglich.
Viel Spass
Kleines update.
Das Script schreibt jetzt alle Anfangsbuchstaben des Titels groß, mit Ausnahme der Wörter und, and und of die weiterhin klein geschrieben werden.