Wie gehe ich vor um die Lautstärke der Yamaha WX030 per Homematic-Taster HM-PB-6-WM55 (6fach Taster) zu steuern?
Das entsprechende FHEM-Modul habe ich installiert, Bedienung per WEB funktioniert.
Mit dem Taster habe ich bereits On/Off realisiert.
Aber wie ist der Weg den Lautstärkewert zu verändern? D.H. Rücklesen des vorhandenen Wertes, aufaddieren von +/- 1 bei "short press" und +/- 5 bei "long press"?
Gibt es dazu schon eine Vorlage?
Garry
Hierüber kann ich auf Tastendruck die Lautstärke auf feste Werte setzen:
define wx030VolDown notify EZ.6fach_Btn_03:trigger:.* set wx030 volume 25
define wx030VolUp notify EZ.6fach_Btn_04:trigger:.* set wx030 volume 35
Hiermit bekomme ich den aktuellen Wert der Lautstärke:
get wx030 volume
So würde ich erwarten dass ich hiermit die Lautstärke um den Wert 10 erhöhen kann, was leider nicht funktioniert:
define wx030VolUup notify EZ.6fach_Btn_06:trigger:.* set wx030 volume ((get wx030 volume)+10)
Wie macht man das richtig?
Garry
Sieh Dir mal in der commandref die Sektion "Perl specials" an.
Gruss Helmut
Danke,
{ ReadingsVal("wx030", "volume", "0")+ 3 }
In der Eingabzeile zeigt das gewünschte Ergebniss an,
allerdings wird das nicht als Argument für das set-Kommando akzeptiert:
set wx030 volume{ ReadingsVal("wx030", "volume", "0")+ 3 }
Unknown argument volume{, choose one of on off power setAutoPowerStandby volume volumeStraight volumeUp volumeDown mute setToneBass setToneMid setToneHigh input prepareInputChange getStatus getFeatures selectMenu selectMenuItem selectPlayMenu selectPlayMenuItem getPlayInfo playback getMenu getMenuItems returnMenu getDeviceInfo TurnFavNetRadioChannelOn navigateListMenu NetRadioNextFavChannel NetRadioPrevFavChannel sleep getNetworkStatus getLocationInfo getBluetoothInfo enableBluetooth setGroupName setServerInfo setClientInfo startDistribution isNewFirmwareAvailable statusRequest
allerdings wird das nicht als Argument für das set-Kommando akzeptiert:
set wx030 volume{ ReadingsVal("wx030", "volume", "0")+ 3 }
Erstens fehlt da ein Leerzeichen zwischen "volume" und "{" und ausserdem glaube ich, (die Gurus hier
moegen mich eines Besseren belehren) musst Du den Umweg ueber eine Variable gehen:
{ my $v = ReadingsVal("wx030", "volume", "0") + 3;; fhem "set wx030 volume $v" }
Gruss Helmut
Danke, mit der Variablen funktioniert es :)
zumindest grundsätzlich - den WAF muss ich eventuell noch verbessern durch unterscheiden von long/short press.
Garry