Hauptmenü

If-Bedingung im notify

Begonnen von schalkan56, 26 Oktober 2014, 13:34:18

Vorheriges Thema - Nächstes Thema

schalkan56

Hallo,
möchte mir eine Abwesenheitssteuerung basteln, dazu soll per notify die aktuelle desired-temp in einen dummy gespeichert werden.
Das klappt auch mit dem Code. Um den Funkverkehr zu reduzieren, sollen nur Befehle an die Aktoren gesendet werden wenn
die aktuelle desired-temp ne "12.0" ist (Weil der Heizkörper dann eh ausgeschaltet ist). Wenn ich eine if-Bedingung in dem notify einfüge bekomme
ich immer eine Fehlmeldung:

Code:


Test:absent {

my $wzCurrentTemp=ReadingsVal("wz_heizung_clima","desired-temp",0);
my $akzCurrentTemp=ReadingsVal("akz_heizung_clima","desired-temp",0);
my $badlCurrentTemp=ReadingsVal("bad_heizung_links_clima","desired-temp",0);
my $badrCurrentTemp=ReadingsVal("bad_heizung_rechts_clima","desired-temp",0);
my $kCurrentTemp=ReadingsVal("k_heiz_clima","desired-temp",0);
my $gwcCurrentTemp=ReadingsVal("gwc_heizung_clima","desired-temp",0);
my $flurCurrentTemp=ReadingsVal("flu_heizung_clima","desired-temp",0);
my $szCurrentTemp=ReadingsVal("sz_heizung_clima","desired-temp",0);
my $kidCurrentTemp=ReadingsVal("kid_heizung_clima","desired-temp",0);

fhem ("set dummy_abwesenheit on; set dummy_abwesend_hz_wz_temp $wzCurrentTemp; set dummy_abwesend_akz_temp $akzCurrentTemp; set dummy_abwesend_bad_links_temp $badlCurrentTemp; set dummy_abwesend_bad_rechts_temp $badrCurrentTemp; set dummy_abwesend_k_temp $kCurrentTemp; set dummy_abwesend_gastwc_temp $gwcCurrentTemp; set dummy_abwesend_flur_unten_temp $flurCurrentTemp; set dummy_abwesend_sz_temp $szCurrentTemp; set dummy_abwesend_kid_temp $kidCurrentTemp")

if ($wzCurrentTemp eq "12.0" ) {
  fhem "set wz_stehlampe on"
}
}


log:
2014.10.26 13:28:46 3: temp_wz_senken return value: syntax error at (eval 2451) line 15, near ") {"
syntax error at (eval 2451) line 18, near "}
}"


Aber die Klammern stimmen doch alle,oder? Irgendjemand eine Idee?

Puschel74

#1
Hallo,

notify mit if - die x-te.
Kannst du dir bitte die ganzen anderen Beiträge dazu mal durchschauen?
Dort gibt es teilweise auch schon Lösungen.
Ich bastel nicht noch eine zusammen - also auch ggf. warten bis sich jemand deines Problems an nimmt.

Wenn es ne Fehlermeldung im Logfile gibt wird wohl etwas nicht! stimmen mit dem Code - sonst gäbs ja keine Fehlermeldung.
Nimm notepad++ dann kannst du schauen ob die Klammern passen.

Grüße

Edith: Doch mal schnell drüber geschaut.
Beim ersten fhem("set .....") fehlt das Semikolon am Schluss
Beim zweiten fhem "set ...." hast du keine Klammern und auch kein Semikolon am Schluss
Bei "12.0" ) würd ich mal das Leerzeichen zwischen " und ) weglassen
Generell würde ich Leerzeilen vermeiden - wozu sollen die gut sein?
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.