FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: JochenSi am 10 Februar 2020, 23:39:48

Titel: SetList dynamisch?!?!
Beitrag von: JochenSi am 10 Februar 2020, 23:39:48
Hallo zusammen,
ich habe mir aus einem Sonoff Basic und einem "DFPlayer Mini - MP3 Player Modul" ein Soundmodul gebastelt welches über MQTT (Tasmota) verschiedene auswählbare Sounds abspielt. Siehe Foto

Leider verstehe ich nicht so genau wie ich die Setlist dynamisch gestalten kann. Aktuell sieht sie so aus:
off:noArg    cmnd/SONOFF-Tasmota-MP3/POWER1 0
on:noArg     cmnd/SONOFF-Tasmota-MP3/POWER1 1
toggle:noArg cmnd/SONOFF-Tasmota-MP3/POWER1 2
setOtaUrl:textField cmnd/SONOFF-Tasmota-MP3/OtaUrl $EVTPART1
upgrade:noArg   cmnd/SONOFF-Tasmota-MP3/upgrade 1
MP3Volume50:noArg   cmnd/SONOFF-Tasmota-MP3/MP3Volume 50
MP3Volume100:noArg   cmnd/SONOFF-Tasmota-MP3/MP3Volume 100
MP3Track1:1,2,3,4,5,6,7,8,9,10 cmnd/SONOFF-Tasmota-MP3/MP3Track $Event
MP3Track2:noArg cmnd/SONOFF-Tasmota-MP3/MP3Track 2
MP3Track3:noArg cmnd/SONOFF-Tasmota-MP3/MP3Track 3
MP3Track4:noArg cmnd/SONOFF-Tasmota-MP3/MP3Track 4
MP3Track5:noArg cmnd/SONOFF-Tasmota-MP3/MP3Track 5

Klar kann ich für jeden MP3Track einen Eintrag in der Liste machen, aber das ist doch nicht schön. Noch schlimmer ist das bei der "option" MP3Volumexxx. Wie man erkennen kann habe ich mit der "Option" MP3Track1" gespielt, komme aber so nicht zum Ziel. $Event ist an der Stelle falsch. Nur was muss ich angeben das aus den vielen Zeilen nur sowas wird wie:
MP3Trackxx:1-99 cmnd/SONOFF-Tasmota-MP3/MP3Track $Nummer
MP3Volumexxx:0-100   cmnd/SONOFF-Tasmota-MP3/MP3Volume $Nummer


Grüße Jochen
Titel: Antw:SetList dynamisch?!?!
Beitrag von: KernSani am 11 Februar 2020, 00:08:32
Für Volume kannst du einen Slider nehmen, oder einen knob:

MP3Volume:knob,min:1,max:100,step:1


Für den Track kannst du es natürlich genauso machen (wenn du nur Zahlen willst), das ist nicht schön, aber andere Ideen habe ich gerade nicht...
Titel: Antw:SetList dynamisch?!?!
Beitrag von: Beta-User am 11 Februar 2020, 10:02:57
Hallo zusammen.

Für MQTT2_DEVICE kann man grundsätzlich alle Widgets verwenden, die auch mit Dummy gehen (siehe https://wiki.fhem.de/wiki/FHEMWEB/Widgets). Der Rückgabewert des Widgets landet dann in $EVTPART1, viele Beispiele (...viele...  ;D ) findest du in mqtt2.template (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template).

Wer dann noch Bedarf hat, das irgendwie weiter auszuwerten oä., kann auch Perl verwenden, um Topictree und Payload damit zu bauen. Ein Beispiel dafür findet sich im shelly2rgbw_color-attrTemplate (setter für rgb).

Gruß, Beta-User
Titel: Antw:SetList dynamisch?!?!
Beitrag von: JochenSi am 11 Februar 2020, 11:11:49
Hallo Ihr Zwei,

danke für eure Antworten. Die Widgets selber benötige ich eigentlich nicht, da ich aus DoIfs die Ansteuerung des Soundmoduls machen werde. Bei der Auswahl der Tracks hätte mir eine DropDown Liste gereicht. Aber da ich auf die Werte des Knob-Widget ja zugreifen kann habe ich das was ich benötige.
Mein Fehler war das ich nicht $EVTPART1 genommen hatte. Da es $EVTPART1 in der ganzen Setlist schon gab dachte ich mir das ich es nicht noch einmal benutzen kann. Ich hatte es mit $EVTPART2 ausprobiert was nicht klappte. Logisch da es wohl immer nur für die spezielle SET-Bedingung gilt.

Danke für die Hinweise
Grüße Jochen