PERL Syntax: DEF Frage

Begonnen von Simon74, 03 Juli 2014, 18:59:39

Vorheriges Thema - Nächstes Thema

Simon74

Ich habe einen Homematic 6fach Taster und würde damit gerne Lautstärke des Enigma Receivers steuern.

Das Enigma Modul funktioniert benötigt jedoch fixe Werte zb. das funktioniert:
define Taster6_Taste3_S notify t5.wz.fs1.taste3:Short.* set t5.wz.receiver volume 50

Jetzt würde ich aber gerne ein Volume +- basteln zum dann auf 2 Tasten (shortpress) zu legen:
Die Frage ist die korrekte Syntax des folgenden Vorhabens a'la:

DEF:
t5.wz.fs1.taste3:Short.*
my $myVolume = (get t5.wz.receiver volume) +5
set t5.wz.receiver volume $myVolume


Gibt es FHEM Lektüre wo die FHEM (PERL) Syntax beschrieben ist ?
Danke

Puschel74

Hallo,

ZitatGibt es FHEM Lektüre wo die FHEM (PERL) Syntax beschrieben ist ?
FHEM hat keinen eigenen (Perl) Syntax.
FHEM ist in Perl geschrieben und daher kannst du jedes beliebige Anfängerbuch für Perl verwenden  ;)

Ich würde das so versuchen:

my $myVolume = ReadingsVal("t5.wz.receiver","volume","10");
my $Volumenew += 5;
set t5.wz.receiver volume $Volumenew


Ungetestet!

Du musst nur irgendwann auch wieder runter zählen  ;D

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Simon74

#2
So funktioniert die Enigma Lautstärke Regelung wie gewünscht:
define Taster6_Taste3_S notify t5.wz.fs1.taste3:Short.* {my $myVolume=(ReadingsVal("t5.wz.receiver","volume","10")-10);;{fhem("set t5.wz.receiver volume $myVolume")}}
define Taster6_Taste4_S notify t5.wz.fs1.taste4:Short.* {my $myVolume=(ReadingsVal("t5.wz.receiver","volume","10")+5);;{fhem("set t5.wz.receiver volume $myVolume")}}
define Taster6_Taste3_L notify t5.wz.fs1.taste3:Long.1.* set t5.wz.receiver mute


:)