Guten Tag zusammen
Langsam bin ich so richtig am verzweifeln. Ich finde den Fehler einfach nicht.
Seit dem letzten Fhem-Update scheinen sämtliche Variablen die ich gesetzt hatte nicht mehr korrekt zu funktionieren.
(Auch das Wettermodul meldet Fehler zurück was jedoch nicht so wichtig ist (Undefined subroutine &main::WeatherAsHtml called at (eval 487) line 1.)
Habe nun seit 6 Tagen in allen möglichen Foren gesucht, einiges probiert und gelange einfach nicht auf einen grünen Zweig.
Als Beispiel stelle ich die Steuerung der Markisen bei Aktivierung des Regensensors rein mit allen Versuchen (4 davon einer nicht auskommentiert) welche ich unternommen hatte.
Folglich werden auch Variablen die ich perl übergeben möchte nicht übernommen.
Fehlermeldung im Log:
2015.11.22 09:06:21 1: PERL WARNING: Use of uninitialized value $value{"var_Regenaktiv"} in string eq at (eval 51) line 1.
2015.11.22 09:06:21 3: eval: {if ($value{var_Regenaktiv} eq "on") {fhem("set Markise_1 on;set Markise_2 on;set var_Regenaktiv off;define Markise_2_0002 at +00:01:08 set Markise_2 on;define Markise_1_0004 at +00:01:10 set Markise_1 on") } }
Code in Fhem:
# ****************** Steuerung Markisen ******************
define var_Regenaktiv dummy
set var_Regenaktiv on
attr var_Regenaktiv alias Regensensor
attr var_Regenaktiv devStateIcon on:remotecontrol/black_btn_GREEN off:remotecontrol/black_btn_RED
attr var_Regenaktiv group Markisen
attr var_Regenaktiv icon weather_rain_light
attr var_Regenaktiv setList off on
attr var_Regenaktiv verbose 0
Versuche:
#define act_on_Regensensor_1 notify Regensensor {if (Value{$var_Regenaktiv} eq "on") {fhem("set Markise_1 on;;set Markise_2 on;;set var_Regenaktiv off;;define Markise_2_0002 at +00:01:08 set Markise_2 on;;define Markise_1_0004 at +00:01:10 set Markise_1 on") } }
#define act_on_Regensensor_1 notify Regensensor {if (($var_Regenaktiv} eq "on")) {fhem("set Markise_1 on;;set Markise_2 on;;set var_Regenaktiv off;;define Markise_2_0002 at +00:01:08 set Markise_2 on;;define Markise_1_0004 at +00:01:10 set Markise_1 on") } }
#define act_on_Regensensor_1 notify Regensensor {if (($var_Regenaktiv} == "on")) {fhem("set Markise_1 on;;set Markise_2 on;;set var_Regenaktiv off;;define Markise_2_0002 at +00:01:08 set Markise_2 on;;define Markise_1_0004 at +00:01:10 set Markise_1 on") } }
define act_on_Regensensor_1 notify Regensensor {if ($value{var_Regenaktiv} eq "on") {fhem("set Markise_1 on;;set Markise_2 on;;set var_Regenaktiv off;;define Markise_2_0002 at +00:01:08 set Markise_2 on;;define Markise_1_0004 at +00:01:10 set Markise_1 on") } }
Vielen herzlichen Dank für eure Hilfe. Vermutlich handelt es sich um ein kleines Problem.
Claudio
Hallo,
hat das mit dem set in der fhem.cfg denn mal funktioniert ? Normalerweise werden dort doch "nur" attribute gespeichert. Der set Befehl wird doch normalerweise über das WebIf abgesetzt und nicht aus der Config. Was ich mir noch vorstellen könnte wäre, setstate ... on zu setzen. Außerdem würde ich das fhem IF verwenden. Dann musst Du weniger escapen und hast mit den geschweiften Klammen nichts am Hut.
Gruß Christoph
Bitte schau Dir die Updatehinweise auf FHEM 5.7 an: http://forum.fhem.de/index.php/topic,44094.msg359518.html#msg359518
Zitat$value{def} gibts nicht mehr, bitte Value("def") verwenden
Gruß, Christian
Du hast noch nicht alle Versuche.
$value{var_Regenaktiv} ist durch Value("var_Regenaktiv") zu ersetzen.
Gesendet von meinem GT-I9295
Wow.... Vielen lieben Dank Krikan und stromer-12.
Das war die Lösung $value{var_Regenaktiv} ist durch Value("var_Regenaktiv") zu ersetzen.
Nun funktioniert die Steuerung wieder perfekt.
Ihr seid echt super und vor allem ultraschnell.
Danke
Claudio