FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Senior Service am 02 April 2018, 16:40:59

Titel: DOIF und Perl
Beitrag von: Senior Service am 02 April 2018, 16:40:59
Hallo

Bekomme ein Problem einfach nicht zum Laufen.
Vielleicht kann jemand helfen:


Folgende Befehlskette funktioniert einwandfrei in der Kommandozeile

{ my $hour12 = 0 ;; if($hour<13) {($hour12 = $hour)} else {($hour12 = $hour - 12)} ;;  fhem("set Signalgeber_Aussen_MP3 playTone 152 ".($hour12)." 2 ;; set Stundenschlag1 off")}

aber eingebettet in DOIF bekomme ich es nicht zum Laufen

define Stundenschlag_T_DI DOIF ([Stundenschlag1:"on"]) ({ my $hour12 = 0 ;; if($hour<13) {($hour12 = $hour)} else {($hour12 = $hour - 12)} ;;  fhem("set Signalgeber_Aussen_MP3 playTone 152 ".($hour12)." 2 ;; set Stundenschlag1 off")})

Denke die Trennungszeichen der Befehle stimmen nicht, aber alle getesteten Varianten haben nicht gefruchtet.

Hat jemand Rat?
Schon jetzt vielen Dank!




Titel: Antw:DOIF und Perl
Beitrag von: Damian am 02 April 2018, 17:47:11
Das ist ein Fall für DOIF-Perl:

define Stundenschlag_T_DI DOIF {if ([Stundenschlag1:"on"]) {
my $hour12 = 0 ;
if($hour<13) {($hour12 = $hour)} else {($hour12 = $hour - 12)} ;
fhem("set Signalgeber_Aussen_MP3 playTone 152 ".($hour12)." 2 ; set Stundenschlag1 off")}
}
Titel: Antw:DOIF und Perl
Beitrag von: Senior Service am 02 April 2018, 18:33:40
Danke für die schnelle Hilfe!