[gelöst]Lautstärke Yamaha WX030 über HM-PB-6-WM55 (6fach Taster)

Begonnen von Garry, 07 Dezember 2017, 19:12:14

Vorheriges Thema - Nächstes Thema

Garry

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 
Raspberry Pi COC
HM_LAN

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
Raspberry Pi COC
HM_LAN

helmut

Sieh Dir mal in der commandref die Sektion "Perl specials" an.

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Garry

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

Raspberry Pi COC
HM_LAN

helmut

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
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Garry

Danke, mit der Variablen funktioniert es  :)
zumindest grundsätzlich - den WAF muss ich eventuell noch verbessern durch unterscheiden von long/short press.

Garry
Raspberry Pi COC
HM_LAN