Umfrage
Frage:
verbinden von wr_hm_thermostat humidity und wr_hm_ventilator
Antwort 1: Macro
Stimmen: 0
Antwort 2: oder
Stimmen: 0
2014-11-08_12:31:05 wr_hm_thermostat measured-temp: 21.9
2014-11-08_12:31:05 wr_hm_thermostat humidity: 52 ( HM-CC-TC)
2014-11-08_12:31:25 wr_hm_thermostat actuator: 0 %
wr_hm_ventilator toggle:on:off:statusRequest (HM-LC-SW1-FM)
verbinden von wr_hm_thermostat humidity und wr_hm_ventilator
Beispiel:
wenn wr_hm_thermostat humidity grösser 40 dann wr_hm_ventilator on
andernfalls wr_hm_ventilator off
Für einen Tipp wäre ich sehr dankbar.
Gruß
klausmrkor
Ich hab mal für oder gestimmt ::)
Oder führt mit 5 Stimmen Vorsprung.
Aber es gibt auch nen Tipp:
http://fhem.de/commandref.html#THRESHOLD
(das Modul ist wie für dich geschrieben)
Noch ein paar Fragen:
Wo willst du eine Luftfeuchtigkeit von unter 40% erreichen? Mit einem Ventilator? Evtl. wären Taupunktvergleiche deutlich schlauer!
dazu braucht es kein TRESHOLD
Zitat von: obsolete
define n_wz_Ventilator notify wz_RT.actuator.* { my ($a,undef) = split(/ /,ReadingsVal("wz_RT","actuator","0"));; if($a > 50) { fhem("set wz_Ventilator on-for-timer 300") } }
- Schaltet meinen Wohnzimmerventilator für 5 Minuten an wenn der Thermostat weiter als 50% geöffnet ist.
- Die 5 Minuten werden jeweils nachgetriggert, wenn bei der nächsten Meldung des Thermostaten immer noch mehr als 50% offen ist.
- Spätestens 5 Minuten nach der letzten Meldung über 50% geht der Ventilator aus.
es geht tatsächlich noch einfacher, da inzwischen keine Einheiten mehr von den Thermostaten gemeldet werden:
define n_wz_Ventilator notify wz_RT.actuator.* { fhem("set wz_Ventilator on-for-timer 300") if ReadingsVal("wz_RT","actuator","0") > 50 }
Das Prinzip funktioniert natürlich auch mit jedem anderen Reading, das einen numerischen Wert liefert, also auch mit humidity. Aber für Taupunktberechnung würde ich generell auch das Modul dewpoint empfehlen, das die Schaltfunktion für einen Ventilator bereits von Haus aus mitbringt.
Hallo,
habe es jetzt so versucht, aber nichts geht.
Was ist noch falsch
define n_wr_Ventilator notify wr_hm_thermostat.humidity { fhem("set wr_hm_Ventilator on-for-timer 300") if ReadingsVal("wr_hm_thermostat","humidity","50") > 50 }
Danke im Voraus
da fehlt mindestens noch ".*".
Hallo,
besten Dank für die schnelle Antwort, aber ein ganzer Satz wäre doch hilfreicher gewesen.
MfG
Klausmrkor
Hallo,
das regexp deines notify sollte so aussehen
wr_hm_thermostat.humidity.*
Man beachte das .* nach humidity
Wobe ich eher dazu
wr_hm_thermostat:humidity.*
tendieren würde - man beachte den : zwischen thermostat und humidity
Grüße
Edith:
Zitataber ein ganzer Satz wäre doch hilfreicher gewesen.
Lies dir deinen ersten Beitrag nochmal durch.
Verlange nur was du selbst bereits bist zu geben ;)
Hallo,
warscheinlich habe ich mich ein bisschen im Ton vergriffen, aber ich bin einfach nicht weiter gekommen.
Entschuldigung.
Aber noch eine Frage:
Ist der absatz am Ende so richtig?
Wenn die Luftfeuchtigkeit über 60 ist dann zurück mindestens 50
ReadingsVal("wr_hm_thermostat","humidity","60") < 50 }
Gruss
klausmrkor
Hallo,
ZitatReadingsVal("wr_hm_thermostat","humidity","60")
heisst:
Lies das Reading humidity vom Device wr_hm_thermostat, wenn es keinen Wert zu lesen gibt (oder das lesen nicht klappt - warum auch immer) nimm als Ersatzwert 60
Zitat< 50
wenn der gelesene (oder der Ersatzwert - siehe oben) kleiner 50 ist.
Aber ich vermute das du im FHEM-Logfile damit:
define n_wz_Ventilator notify wz_RT.actuator.* { fhem("set wz_Ventilator on-for-timer 300") if ReadingsVal("wz_RT","actuator","60") < 50 }
eine Fehlermeldung findest.
Code aus einem vorherigen Post eingefügt und die Werte und den Vergleich angepasst.
Das hier:
define n_wz_Ventilator notify wz_RT.actuator.* { fhem("set wz_Ventilator on-for-timer 300") if (ReadingsVal("wz_RT","actuator","60") < 50) }
dürfte vermutlich besser gehen.
Bei weiteren Fragen bitte die Fehlermeldung aus dem Logfile posten.
Das erspart uns das einbauen des Codes und simulieren der Werte.
Danke.
Grüße
Hallo,
also ich weiss nicht wo ich suchen soll.
Die Schaltung wird nirgends angezeigt.
Hier bei direkter Schaltung (an / aus )
2014-11-13_19:01:07 wr_hm_ventilator level: 100 %
2014-11-13_19:01:07 wr_hm_ventilator deviceMsg: on (to CUL_0)
2014-11-13_19:01:07 wr_hm_ventilator on
2014-11-13_19:01:07 wr_hm_ventilator running: -
2014-11-13_19:02:42 wr_hm_ventilator set_off
2014-11-13_19:02:42 wr_hm_ventilator level: 0 %
2014-11-13_19:02:42 wr_hm_ventilator deviceMsg: off (to CUL_0)
2014-11-13_19:02:42 wr_hm_ventilator off
2014-11-13_19:02:42 wr_hm_ventilator running: -
2014-11-13_19:02:45 wr_hm_ventilator level: 0 %
2014-11-13_19:02:45 wr_hm_ventilator deviceMsg: off (to CUL_0)
2014-11-13_19:02:45 wr_hm_ventilator off
2014-11-13_19:02:45 wr_hm_ventilator running: -
CUL_0_MSGCNT 8
CUL_0_RAWMSG A0E08A4102B8311F14C00060100005DE7
CUL_0_RSSI -86.5
CUL_0_TIME 2014-11-13 19:02:45
DEF 2B8311
EVENTS 8
IODev CUL_0
LASTInputDev CUL_0
MSGCNT 8
NAME wr_hm_ventilator
NR 61
STATE off
TYPE CUL_HM
lastMsg No:08 - t:10 s:2B8311 d:F14C00 060100005D
protLastRcv 2014-11-13 19:02:45
protResnd 4 last_at:2014-11-13 18:36:14
protSnd 13 last_at:2014-11-13 19:02:45
protState CMDs_done_events:4
rssi_CUL_0 avg:-92.12 min:-94 max:-91 lst:-93 cnt:8
rssi_at_CUL_0 avg:-85.93 min:-87 max:-84.5 lst:-86.5 cnt:8
Readings
CommandAccepted Yes 2014-11-11 11:45:36
R-intKeyVisib set_invisib 2014-11-11 11:45:36
R-pairCentral set_0xF14C00 2014-11-11 11:45:36
deviceMsg off (to CUL_0) 2014-11-13 19:02:45
level 0 % 2014-11-13 19:02:45
running - 2014-11-13 19:02:45
state off 2014-11-13 19:02:45
HM-LC-SW1-FM
DEF wr_hm_thermostat:humidity.* { fhem("set wr_hm_Ventilator on-for-timer 300") if (ReadingsVal("wr_hm_thermostat","humidity","60") < 50 ) }
NAME n_wr_Ventilator
NR 42
NTFY_ORDER 50-n_wr_Ventilator
REGEXP wr_hm_thermostat:humidity.*
STATE active
TYPE notify
sonst ist nichts zu finden.
gruss
klausmrkor
Hallo,
Wäre es dir bitte möglich den Beitrag nochmal zu bearbeiten und die Tags zu verwenden?
Das macht den Beitrag um einiges leserlicher - wie du selbst dan nsehen wirst.
Danke.
Ich hab jetzt so direkt nicht gesehen was nicht geht - hast du eine Fehlermeldung im Logfile?
Lies doch mal das bitte:
http://forum.fhem.de/index.php/topic,16311.0.html (http://forum.fhem.de/index.php/topic,16311.0.html)
Ich glaub ich hab das schonmal verlinkt aber du hast es nicht gelesen ::)
Grüße
P.S.: Wir würden gerne helfen aber wir können nicht da wir keine Hellseher sind. DU siehst zwar etwas aber dann beschreib es uns bitte oder liefer Screenshots.
Screenshots wären natürlich um einiges besser - die lassen sich auch hier über die Forumsfunktion anhängen (ich persölich mag keine verlinkten Bilder).
Zitat von: klausmrkor am 08 November 2014, 13:47:18
2014-11-08_12:31:05 wr_hm_thermostat measured-temp: 21.9
2014-11-08_12:31:05 wr_hm_thermostat humidity: 52 ( HM-CC-TC)
2014-11-08_12:31:25 wr_hm_thermostat actuator: 0 %
wr_hm_ventilator toggle:on:off:statusRequest (HM-LC-SW1-FM)
verbinden von wr_hm_thermostat humidity und wr_hm_ventilator
Beispiel:
wenn wr_hm_thermostat humidity grösser 40 dann wr_hm_ventilator on
andernfalls wr_hm_ventilator off
Für einen Tipp wäre ich sehr dankbar.
Gruß
klausmrkor
Vielleicht kommst du damit schneller ans Ziel:
define di_vent DOIF ([wr_hm_thermostat:humidity]>50)
(set wr_hm_ventilator on)
DOELSEIF ([wr_hm_thermostat:humidity]<40)
(set wr_hm_ventilator off)
Hier wird bei über 50 % der Ventilator eingeschaltet und bei unter 40 % wieder ausgeschaltet. Die Grenzen kannst du selbst anpassen. Die Einrückungen zur besseren Lesbarkeit, wie oben, machst du am besten über FHEM-Oberfläche und nicht in der fhem.cfg.
Im Gegensatz zum notify wird hier nur einmal der set-Befehl beim Überschreiten bzw. Unterschreiten ausgeführt und nicht jedes mal, wenn dein Thermostat etwas sendet und der Lüfter laufen soll.
Weitere Bespiele u. a. zur Belüftung kannst du in der commandref zu DOIF finden: http://fhem.de/commandref_DE.html#DOIF
Gruß
Damian
Besten Dank, habe es ausprobiert und es hat geklappt.
Hatte nur Schwierigkeit das ONIF zu finden . Dann ist mir alles auch noch abgestürzt.
Aber jetzt läuft alles rund.
Besten Dank und auf Wiedersehen
klausmrkor