LaCrosse Temperatursensor auslesen und Steckdose schalten

Begonnen von Jogi, 11 Februar 2017, 15:52:12

Vorheriges Thema - Nächstes Thema

Jogi

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.




mahowi

#1
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.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

pink99panther

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

Jogi

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.

Jogi

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!