verbinden von thermostat mit ventilator

Begonnen von klausmrkor, 08 November 2014, 13:47:18

Vorheriges Thema - Nächstes Thema

klausmrkor

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

Puschel74

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.

Rince

#2
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!
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

betateilchen

#3
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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#4
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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

klausmrkor

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


frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

klausmrkor

Hallo,
besten Dank für die schnelle Antwort, aber ein ganzer Satz wäre doch hilfreicher gewesen.

MfG
Klausmrkor

Puschel74

#8
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  ;)
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.

klausmrkor

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

Puschel74

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
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.

klausmrkor

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

Puschel74

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
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).
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.

Damian

#13
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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

klausmrkor

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