Hallo,
ich brauche mal Hilfe. Ich habe folgendes Notify:
GuteNacht:on.* {
my $xy = Value("Wz.StribeFarbe");;
if ($xy eq "on")
{ fhem ("set Wz.Stereoanlage off");fhem ("set Wz.Ambilight off");fhem ("set Wz.StribeFarbe night");fhem ("set GuteNacht off"); }
else
{ fhem ("set Wz.Stereoanlage off");fhem ("set Wz.Ambilight off");fhem ("set GuteNacht off"); }
}
Das Problem ist das Wz.StribeFarbe im State nicht on sondern z.b. on 30 stehen hat und deshalb wird direkt der else Teil genommen. Beim DOIF ging =~"on". Aber was muß ich beim Notify machen. Leider ist die Commandref zum Notify nicht so gut wie für DOIF.
Vielleicht kann mir ja jemand auf die Sprünge helfen.
Danke und Gruß Rolf
if ($xy =~ /^on/)
Gruß
Dan
Hallo Dan,
Super Danke. Funktioniert. Kannst du mir noch verraten wo ich das finde. Es gibt da doch bestimmt noch mehr Möglichkeiten.
Danke und Gruß Rolf
Oder Du bleibst auf FHEM Ebene und verwendest IF -> https://fhem.de/commandref_DE.html#IF
IF ([Wz.StribeFarbe] =~ "on")(set Wz.Stereoanlage off , set Wz.Ambilight off , <usw>)
Du machst ja nicht wirklich etwas in Perl :D
zu Deiner anderen Frage z.B. hier http://perldoc.perl.org/
Gruß Otto
Hallo Otto,
Zitat
Du machst ja nicht wirklich etwas in Perl :D
Gruß Otto
ich kann auch nicht wirklich bis überhaupt nicht perl ???. Das sind halt die Beispiele aus dem Wiki die ich versucht habe, für mich umzubauen. Ich werde deine Version auch mal ausprobieren. Liest sich einfacher. Bei meiner Version mußte ich wieder alles ausprobieren mit ; usw. bis es überhaupt ging. Die Commandref zu if hätte ich mir mal vorher ansehen sollen. Das fehlt irgendwie beim notify.
Danke und Gruß Rolf
Ergänzen zu Otto möchte ich noch Folgendes:
Bei =~ handelt es sich um einen RegEx Vergleich.
RegEx ist sehr mächtig, relativ einfach wenn man es mal verstanden hat, aber erst mal teilweise sehr komplex zu erlernen.
Hierzu verweise ich gerne auf:
https://regexone.com/
und
http://www.regextester.com/
Gruß
Dan
Zitat von: Rolfg am 12 September 2017, 21:21:19
Die Commandref zu if hätte ich mir mal vorher ansehen sollen. Das fehlt irgendwie beim notify.
Vorsicht :o
if ist Perl und IF ist
ein FHEM
Modul ;D
Hallo Otto,
du hast recht aber ich meinte IF. Aber stimmt, da muß man schon aufpassen.
@Dan. Ich werde es bei meinen nächsten Problemen dieser Art zumindest Versuchen.
Gruß Rolf
Zitat von: Otto123 am 12 September 2017, 21:30:30
Vorsicht :o
if ist Perl und IF ist ein FHEM Modul ;D
Nicht ganz: IF ist nur ein FHEM-Befehl, ein FHEM-Modul arbeitet autonom.