Ab einer bestimmten Feuchtigkeit schalten

Begonnen von Dennis D., 25 Februar 2013, 08:19:47

Vorheriges Thema - Nächstes Thema

Dennis D.

Hallo zusammen,

ich möchte meine kontrollierte Wohnraumlüftung über FHEM steuern. Dies erfolgt über eine Relais-Schaltung, welche durch zwei Homematic Funkschalter ausgelöst wird.

Nun möchte ich, dass wenn im Badezimmer die Luftfeuchtigkeit auf über 45% steigt, Stufe 3 eingeschaltet wird. Wenn die Feuchtigkeit auf unter 45% gesunken ist, dann soll er die Stufe 3 wieder ausschalten. Versucht habe ich es hiermit:

define Lueftung_Bad notify BZ_Temp_Sensor {\
  my $hum_bad = (ReadingsVal("BZ_Temp_Sensor"),"humidity",40)\
  if ($hum_bad > 45) { fhem ("set Lueftung_Stufe_3 on")}\
  if ($hum_bad < 45) { fhem ("set Lueftung_Stufe_3 off")}}


aber irgendwie funktioniert das nicht. Hab ich da nen Fehler drin? Temperatur/Feuchtigkeitssensor ist ebenfalls von Homematic.

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

jhohn

die Zeile
my $hum_bad = (ReadingsVal("BZ_Temp_Sensor"),"humidity",40)\
sollte meines Wissens so aussehen:
my $hum_bad = ReadingsVal("BZ_Temp_Sensor","humidity",40);\

und hinter den if Zeilen fehlen auch noch die ;
FHEM auf Synology Diskstation DS413j (DSM4.3), HM LAN Adapter
Steuerung für Nachtspeicheröfen:
Ladung:   HM-WDS10-TH-O, HM-LC-Sw4-DR, Weather-Modul
Gebläse: HM-CC-TC, HM-LC-SW1-FM, HM-Sec-RHS
FHEM auf FritzBox 7390 für Telefon Funktionen

Dennis D.

Danke! Gerade mal umgesetzt. Mal sehen obs klappt. Wenn Frau gleich duscht, weiß ich mehr ;)

Würde FHEM den so nach JEDER Aktualisierung die über 45% liegt den Einschalt-Befehl senden? Das würd ja dann auf die Funklast gehen. Muss da eventuell noch was mit OldValue rein? Hatte so was mal in irgend nem Post gesehen, bekomm es aber nicht mehr zusammen.

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

MarkusN

Prüfe doch einfach ob der gewünschte Zustand schon erreicht ist:


  if ($hum_bad > 45 && Value("Lueftung_Stufe_3") eq "off") { fhem ("set Lueftung_Stufe_3 on")}\
  if ($hum_bad < 45 && Value("Lueftung_Stufe_3") eq "on") { fhem ("set Lueftung_Stufe_3 off")}}

Dennis D.

Stimmt! Das müsste funktioniert. Mensch, manchmal sieht man den Wald vor lauter Bäumen nicht. Danke.

EDIT: Also es funktioniert noch nicht. Luftfeuchtigkeit auf 54% und immer noch Stufe 2.

Das Thermometer sieht in FHEM wie folgt aus:


(siehe Anhang / see attachement)


Ans Log komme ich derzeit leider nit ran.
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

Nun funktioniert es.

Hatte in der Zeile:

my $hum_bad = ReadingsVal("BZ_Temp_Sensor"),"humidity",40;;\

einen Fehler bei der Klammer. So:

my $hum_bad = ReadingsVal("BZ_Temp_Sensor","humidity",40);;\

funktioniert es :)
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438