Dazu braucht man ein Script, das aus einer Reihe von vorgegeben Soundfiles (Mövengeschrei, Waldbach, Nachtigall etc.) eines auswählt und dieses dann auf dem MP3-Gong abspielt.
Auf der Basis des Beitrages von tloeffel (viewtopic.php?f=31&t=47314#p489504) sieht meine Lösung so aus.
P.S. das Script kann in der Raspberrymatic auch unter "Programme und Verknüpfungen" / "Scripte testen" direkt ausgeführt werden.
Code: Alles auswählen
! Zufällig Soundfiles für den MP3-Gong auswählen und abspielen
var SoundFiles = "30;32;33;34;35;36;37"; ! Liste der Nummern der auswählbaren Soundfiles (hier 7 Soundfile-Nummern)
var Index = system.Random(0, 6); ! Bereich für die Zufallswerte des Index festlegen (hier 7 mögliche Werte)
var SF = SoundFiles.StrValueByIndex(";",Index); ! Soundfile aus dem String auslesen
!WriteLine ("Index der File-Nummern " # Index); ! Für Tests in der Scriptconsole das ! entfernen
!WriteLine ("Soundfile gewählt " # SF); ! Für Tests in der Scriptconsole das ! entfernen
! im folgenden die MP3-Gong Seriennummer hinter "HmIP-RF." eintragen
(datapoints.Get("HmIP-RF.00151-------------:2.DURATION_UNIT")).State(0);
(datapoints.Get("HmIP-RF.00151-------------:2.RAMP_TIME_UNIT")).State(0);
(datapoints.Get("HmIP-RF.00151-------------:2.RAMP_TIME_VALUE")).State(0);
(datapoints.Get("HmIP-RF.00151-------------:2.LEVEL")).State(0.4); ! Lautstärke in Werten von 0 bis 1
(datapoints.Get("HmIP-RF.00151-------------:2.OUTPUT_SELECT_SIZE")).State(1); ! Länge der Liste der SoundFiles, hier nur ein Sound
(datapoints.Get("HmIP-RF.00151-------------:2.REPETITIONS")).State(1); ! Anzahl der Wiederholungen
(datapoints.Get("HmIP-RF.00151-------------:2.SOUNDFILE_LIST_1")).State(SF); ! (berechnete) Nummer des Soundfiles auf der SD-Karte
(datapoints.Get("HmIP-RF.00151-------------:2.DURATION_VALUE")).State(0); ! 0 = ohne Zeitbeschränkung, z.B. 10 = 10 sec Abspieldauer
Viel Spaß damit....