FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Himi am 13 Januar 2016, 11:18:48

Titel: U.Pumpe über Wettermodul und Wochentag schalten
Beitrag von: Himi am 13 Januar 2016, 11:18:48
Hallo zusammen,

mit nachfolgendem Code, schalte ich bei einer AT von < 4 Grad C meine U.Pumpe ein.
Das funktioniert auch sehr schön. (Abfrage Intervall ist kurz, da zum testen)define Heizungssteuerung at +*00:10:00 {\
  if (ReadingsVal("Wetter","temp_c",99) < 4)\
  {fhem("set u_pumpe_e.dum on");;}\
  else\
  {fhem("set u_pumpe_e.dum off");;}\
}


Nun habe ich den Code dahin gehend erweitert, dass die Abfrage aber nur an Wochentagen Mo-Fr. erfolgen soll. (!($we)) da stimmt aber etwas mit der IF-Verschachtelung nicht.define Heizungssteuerung at +*00:10:00 {\
  if (!($we)) (ReadingsVal("Wetter","temp_c",99) < 4)\
  {fhem("set u_pumpe_e.dum on");;}\
  else\
  {fhem("set u_pumpe_e.dum off");;}\
}


Habe schon viel gelernt, aber mit den IF-Verschachtelungen habert's doch noch.

Sorry: habe aus der cfg. kopiert..

Besten Dank für Euere Hilfe
Titel: Antw:U.Pumpe über Wettermodul und Wochentag schalten
Beitrag von: Ellert am 13 Januar 2016, 11:47:15
Die Verknüpfung fehlt und die Klammern sind durcheinander.

(!$we and ReadingsVal("Wetter","temp_c",99) < 4)

Benutzt Du den DEF-Editor? Es gibt eine Codemirror-Erweiterung, die hat eine Klammerprüfung DOIF: Tips leichtere Bedienung Syntaxhervorhebung Klammerprüfung Suchen&Ersetzen (http://forum.fhem.de/index.php/topic,45373.msg371668.html#msg371668), nicht nur für DOIF ;)
Titel: Antw:U.Pumpe über Wettermodul und Wochentag schalten
Beitrag von: Himi am 13 Januar 2016, 13:44:42
Danke,
das war die richtige Antwort.

so geht's!+*00:10:00 {
  if (!$we and ReadingsVal("Wetter","temp_c",99) < 1)
  {fhem("set u_pumpe_e.dum on");}
  else
  {fhem("set u_pumpe_e.dum off");}
}