FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Knallfrosch am 16 Februar 2021, 11:15:33

Titel: [Gelöst] Probleme mit THRESHOLD
Beitrag von: Knallfrosch am 16 Februar 2021, 11:15:33
Hallo,

ich habe mir mit Hilfe eines Wemos D1 (Espeasy) einen Tempregler mit Tasten und Display zusammen gezimmert.

Internals:
   DEF        ESPEasy_Reifebox_Reifebox_Temp Reifebox_Switch
   FUUID      600012b7-f33f-a358-28f6-b47a67e2ab6feb05
   NAME       Reifebox_Regler
   NR         386
   NTFY_ORDER 50-Reifebox_Regler
   STATE      Zustand: active - SOLL: 20.0 °C - IST: 22.2 °C - Heizung: off
   TYPE       THRESHOLD
   cmd1_gt    set Reifebox_Switch off
   cmd2_lt    set Reifebox_Switch on
   cmd_default 2
   hysteresis 1
   offset     0
   sensor     ESPEasy_Reifebox_Reifebox_Temp
   sensor_reading temperature
   READINGS:
     2021-02-16 11:08:22   Statenum        1
     2021-02-16 11:08:06   cmd             cmd1_gt
     2021-02-16 11:08:06   desired_value   20
     2021-02-16 11:08:06   mode            active
     2021-02-16 11:08:17   sensor_value    22.25
     2021-02-16 11:08:17   state           Zustand: active - SOLL: 20.0 °C - IST: 22.2 °C - Heizung: off
     2021-02-16 11:08:22   status          0
     2021-02-16 11:08:06   threshold_max   20
     2021-02-16 11:08:06   threshold_min   19
Attributes:
   desiredActivate 1
   genericDeviceType thermostat
   group      Reifebox
   number_format %.1f
   room       Reifebox
   state_cmd1_gt off
   state_cmd2_lt on
   state_format Zustand: _m - SOLL: _dv °C - IST: _s1v °C - Heizung: _sc
   userReadings Statenum {if(ReadingsVal("Reifebox_Regler","mode","") eq "active") {return 1} elsif (ReadingsVal("Reifebox_Regler","mode","") eq "deactivated") {return 0}},
status {if(ReadingsVal("Reifebox_Regler","cmd","") eq "cmd2_lt") {return 1} elsif (ReadingsVal("Reifebox_Regler","cmd","") eq "cmd1_gt") {return 0}}
   webCmd     desired
   widgetOverride desired:20,20.5,21,21.5,22,22.5,23,23.5,24,24.5,25,25.5,26,26.5,27,27.5,28,28.5,29,29.5,30


Das funktioniert auch prinzipiell alles ganz ordentlich.

ABER:

Wenn ich in FHEM die Soll-Temp einstelle ändert sich entsprechend der Hysterese auch der Wert in threshold_max  und threshold_min.
Soweit so gut.


Wenn ich aber nun die Temp-Einstellung über einen Button in Verbindung mit dem Notify ändere ändert sich der  Wert in threshold_max  und threshold_min NICHT!
Warum funtkioniert das nicht? Bzw. wie kann ich das ändern? 
Denn die Einstellung in FHEM ist doch eigentlich nichts anderes als ein "setreading Reifebox_Regler desired_value" oder etwa nicht?

Ich würde ungerne zu jeder Temp ein Notify bauen das dann auch  threshold_max und threshold_min setzt.

Hier noch das besagte Notify:

Internals:
   DEF        ESPEasy_Reifebox_NEU_Button_hoch:.* {my $Wert=ReadingsVal("Reifebox_Regler","desired_value",0);;
    if ($EVENT eq "Sta: on" && $Wert <= 29) {
    $Wert = $Wert+1;;
    fhem("setreading Reifebox_Regler desired_value $Wert")}
elsif ($EVENT eq "Sta: on" && $Wert >= 30) {
    $Wert = $Wert+0;;
    fhem("setreading Reifebox_Regler desired_value 20")}
  }

   FUUID      60018783-f33f-a358-a76f-fd65a00cb7f661ec
   NAME       Temp_Einstellung
   NOTIFYDEV  ESPEasy_Reifebox_NEU_Button_hoch
   NR         387
   NTFY_ORDER 50-Temp_Einstellung
   REGEXP     ESPEasy_Reifebox_NEU_Button_hoch:.*
   STATE      2021-02-16 11:14:40
   TRIGGERTIME 1613470480.20981
   TYPE       notify
   READINGS:
     2021-02-16 11:04:20   state           active
Attributes:
   room       Reifebox


Danke für eure Hilfe.


Grüße
Titel: Antw:Probleme mit THRESHOLD
Beitrag von: Otto123 am 16 Februar 2021, 11:22:18
Hi,

warum machst Du nicht wie vom Modul vorgesehen ein set Reifebox_Regler desired $Wert?
Dann weiß das Modul es soll die Werte neu setzen  ;)

Gruß Otto
Titel: Antw:Probleme mit THRESHOLD
Beitrag von: Knallfrosch am 16 Februar 2021, 11:28:56
Ah jetzt...... wenn ich in das Notify noch ein fhem("set Reifebox_Regler hysteresis 1")} funktioniert es wie es soll.

Wahrscheinlich ein Umweg aber es funktioniert erstmal.


NACHTRAG: Danke für deinen Beitrag Otto, das muss ich jetzt mal testen.
Ich habe mich einfach an dem Namen für das Reading orientiert. Denn sonst führt ja schon z.Bsp. ein State und state zu einem Fehler.


Grüße
Titel: Antw:Probleme mit THRESHOLD
Beitrag von: Knallfrosch am 16 Februar 2021, 11:35:48
Zitat von: Otto123 am 16 Februar 2021, 11:22:18
Hi,

warum machst Du nicht wie vom Modul vorgesehen ein set Reifebox_Regler desired $Wert?
Dann weiß das Modul es soll die Werte neu setzen  ;)

Gruß Otto


Das funktioniert natürlich.
Bei Einbau der "Hysteresis-Zeile" im Notify bin ich schon über meinen Fehler mit set und setreading gestolpert, habe es aber nicht realisiert.
Erst beim ändern auf deinen Tipp hin, ist mir der Fehler aufgefallen.

Mein FHEM wäschst und gedeiht, aber bei solchen Dingern komme ich immer und immer wieder ins straucheln.

Danke für die schnelle Unterstützung.