Hallo zusammen,
ich stelle mich gerade etwas doof an und bekomme es -trotz Netzrecherche- nicht hin.
Ich habe einen Lacrosse Temperatursensor, den ich über Jeelink einlese.
Ich möchte nun, dass in Abhängigkeit einer einstellbaren Temperatur eine Funksteckdose eingeschaltet wird, die einen Heizlüfter einschaltet.
Der Temperatursensor heißt "TempRes" und die Funksteckdose heisst "Zusatzheizung".
Ich habe es mit folgendem Befehl im Notify versucht (habe ich mir aber auch nur irgendwo im Forum rauskopiert und abgeändert):
define nZusatzhz notify TempRes:.*T.* { my @@tf = split(" ", $value{"TempRes"});; if ($tf[1] < 9.0) { fhem "set Zusatzheizung on-for-timer 10" };; }
Das funktioniert aber nicht. Es schaltet nichts, obwohl die Temperatur am Fühler gerade bei 5 Grad liegt.
Was ist falsch?
Zusatzfrage: Super wäre es, wenn es die Möglichkeit gäbe, die Temperatur nicht über DEF einzugeben, sondern über eine Eingabemöglichkeit im Raum. Geht das auch?
Vielen dank für Tipps und Hinweise.
Ich habe das über THRESHOLD gelöst.
defmod th_fl_heating THRESHOLD LaCrosse_2D:temperature:15:18 sw.3
attr th_fl_heating alias Heizung
attr th_fl_heating group Raumklima
attr th_fl_heating number_format %.1f
attr th_fl_heating room Flur
attr th_fl_heating setOnDeactivated cmd1_gt
attr th_fl_heating state_cmd1_gt off
attr th_fl_heating state_cmd2_lt on
attr th_fl_heating state_format _m _dv _sc
Damit wird mein Heizlüfter unter 15°C eingeschaltet und über 18°C wieder abgeschaltet. Dabei ist LaCrosse_2D der Temperatursensor und sw.3 die Steckdose.
Und so geht die Eingabe der Solltemperatur mit Schieberegler.
Internals:
NAME Heizung.Slider.SchlZi
NR 42
STATE 18
TYPE dummy
Readings:
2017-02-11 16:37:30 state 18
Attributes:
alias 3. Schlafzimmer
room 01_Heizungsregler,Heizung
setList state:slider,0,0.5,30
webCmd state
Internals:
DEF Heizung.Slider.SchlZi:* {
my $sliderwert = ReadingsVal("Heizung.Slider.SchlZi","state","on");
fhem ("set ThermostatSchlZi desired $sliderwert");
}
NAME SetzDesiredTempSchlZi
NOTIFYDEV Heizung.Slider.SchlZi
NR 44
NTFY_ORDER 50-SetzDesiredTempSchlZi
REGEXP Heizung.Slider.SchlZi:*
STATE 2017-02-11 16:37:30
TYPE notify
Readings:
2017-02-08 16:45:30 state active
Attributes:
disable 0
room Heizung
Internals:
DEF ThermostatSchlZi:* {
my $timerwert = ReadingsVal("ThermostatSchlZi","threshold_max","on");
fhem ("set Heizung.Slider.SchlZi $timerwert");
}
NAME SetzSliderSchlZi
NR 43
NTFY_ORDER 50-SetzSliderSchlZi
REGEXP ThermostatSchlZi:*
STATE 2017-02-11 16:37:30
TYPE notify
Readings:
2017-02-08 16:45:30 state active
Attributes:
disable 0
room Heizung
Internals:
CHANGED
DEF TX29_SchlZi:temperature SchlZi_Heizung
NAME ThermostatSchlZi
NR 166
NTFY_ORDER 50-ThermostatSchlZi
STATE active 18.0 off
TYPE THRESHOLD
cmd1_gt set SchlZi_Heizung off
cmd2_lt set SchlZi_Heizung on
cmd_default 2
hysteresis 1
offset 0
sensor TX29_SchlZi
sensor_reading temperature
Readings:
2017-02-11 14:36:49 cmd cmd1_gt
2017-02-06 15:22:12 desired_value 18
2017-02-06 15:22:12 mode active
2017-02-11 16:37:30 sensor_value 17.8
2017-02-11 14:36:49 state active 18.0 off
2017-02-06 15:22:12 threshold_max 18
2017-02-06 15:22:12 threshold_min 17
Attributes:
number_format %.1f
room Heizung
state_cmd1_gt off
state_cmd2_lt on
state_format _m _dv _sc
Zitat von: mahowi am 11 Februar 2017, 16:34:52
Ich habe das über THRESHOLD gelöst.
defmod th_fl_heating THRESHOLD LaCrosse_2D:temperature:15:18 sw.3
attr th_fl_heating alias Heizung
attr th_fl_heating group Raumklima
attr th_fl_heating number_format %.1f
attr th_fl_heating room Flur
attr th_fl_heating setOnDeactivated cmd1_gt
attr th_fl_heating state_cmd1_gt off
attr th_fl_heating state_cmd2_lt on
attr th_fl_heating state_format _m _dv _sc
Damit wird mein Heizlüfter unter 15°C eingeschaltet und über 18°C wieder abgeschaltet. Dabei ist LaCrosse_2D der Temperatursensor und sw.3 die Steckdose.
Vielen Dank, das hat schon mal super funktioniert.
Zitat von: pink99panther am 11 Februar 2017, 16:55:37
Und so geht die Eingabe der Solltemperatur mit Schieberegler.
Internals:
NAME Heizung.Slider.SchlZi
NR 42
STATE 18
TYPE dummy
Readings:
2017-02-11 16:37:30 state 18
Attributes:
alias 3. Schlafzimmer
room 01_Heizungsregler,Heizung
setList state:slider,0,0.5,30
webCmd state
Internals:
DEF Heizung.Slider.SchlZi:* {
my $sliderwert = ReadingsVal("Heizung.Slider.SchlZi","state","on");
fhem ("set ThermostatSchlZi desired $sliderwert");
}
NAME SetzDesiredTempSchlZi
NOTIFYDEV Heizung.Slider.SchlZi
NR 44
NTFY_ORDER 50-SetzDesiredTempSchlZi
REGEXP Heizung.Slider.SchlZi:*
STATE 2017-02-11 16:37:30
TYPE notify
Readings:
2017-02-08 16:45:30 state active
Attributes:
disable 0
room Heizung
Internals:
DEF ThermostatSchlZi:* {
my $timerwert = ReadingsVal("ThermostatSchlZi","threshold_max","on");
fhem ("set Heizung.Slider.SchlZi $timerwert");
}
NAME SetzSliderSchlZi
NR 43
NTFY_ORDER 50-SetzSliderSchlZi
REGEXP ThermostatSchlZi:*
STATE 2017-02-11 16:37:30
TYPE notify
Readings:
2017-02-08 16:45:30 state active
Attributes:
disable 0
room Heizung
Internals:
CHANGED
DEF TX29_SchlZi:temperature SchlZi_Heizung
NAME ThermostatSchlZi
NR 166
NTFY_ORDER 50-ThermostatSchlZi
STATE active 18.0 off
TYPE THRESHOLD
cmd1_gt set SchlZi_Heizung off
cmd2_lt set SchlZi_Heizung on
cmd_default 2
hysteresis 1
offset 0
sensor TX29_SchlZi
sensor_reading temperature
Readings:
2017-02-11 14:36:49 cmd cmd1_gt
2017-02-06 15:22:12 desired_value 18
2017-02-06 15:22:12 mode active
2017-02-11 16:37:30 sensor_value 17.8
2017-02-11 14:36:49 state active 18.0 off
2017-02-06 15:22:12 threshold_max 18
2017-02-06 15:22:12 threshold_min 17
Attributes:
number_format %.1f
room Heizung
state_cmd1_gt off
state_cmd2_lt on
state_format _m _dv _sc
Vielen Dank, das werde ich morgen ausprobieren. Heute schaffe ich es nicht mehr!