FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jogi am 11 Februar 2017, 15:52:12

Titel: LaCrosse Temperatursensor auslesen und Steckdose schalten
Beitrag von: Jogi am 11 Februar 2017, 15:52:12
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.



Titel: Antw:LaCrosse Temperatursensor auslesen und Steckdose schalten
Beitrag 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.
Titel: Antw:LaCrosse Temperatursensor auslesen und Steckdose schalten
Beitrag 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
Titel: Antw:LaCrosse Temperatursensor auslesen und Steckdose schalten
Beitrag von: Jogi am 11 Februar 2017, 17:52:25
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.
Titel: Antw:LaCrosse Temperatursensor auslesen und Steckdose schalten
Beitrag von: Jogi am 11 Februar 2017, 17:53:08
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!