Neues Modul - THRESHOLD

Begonnen von Damian, 25 Januar 2013, 22:51:43

Vorheriges Thema - Nächstes Thema

Damian

ja, in diesem Fall entspricht das dem Setzen/Löschen des Attributes disable, was zur Veränderung der Konfiguration führt.


Wenn du nur für einen gewissen Zeitraum das Modul "deaktivieren" willst, dann kannst du auch mit set desired einen Wert setzen, der normalerweise nicht erreicht wird.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

NormanK

Hallo,
danke für dieses Modul! Ich bin gerad dabei mich damit etwas zu beschäftigen, meine Frage ist:
Kann ich das Modul als Temperaturdifferenz-Regler mit Ein- u. Ausschalthysterese verwenden ?

Einschalthysterese = 10K
Ausschalthysterese = 5K

Regel:
temp1 + Einschalthysterese  > temp2 = Output set on;
temp1 + Ausschalthysterese < temp2 = Output set off;

Vielleicht kann mir da jemand auf die Sprünge helfen, Danke im voraus.

Norman


Damian

Es ist wie folgt programmiert:

wenn (temp > desired) off
wenn (temp < desired - hysterese) on

Dein Beispiel hat (10-5)=5 Grad Differenz zwischen Ein- und Ausschalten. Die Hysterese beträgt also 5 Grad.

Du musst also:

Die Vorgabetemperatur temp1 (desired) um zehn Grad höher setzen
und Hysterese auf 5 Grad setzen


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

amenomade

Zitat von: Damian am 05 Dezember 2020, 19:39:50
Die Vorgabetemperatur temp1 (desired) um zehn Grad höher setzen

Lässt sich wahrscheinlich mit "offset" in THRESHOLD einstellen, oder?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

Zitat von: amenomade am 05 Dezember 2020, 21:31:41
Lässt sich wahrscheinlich mit "offset" in THRESHOLD einstellen, oder?
Stimmt. Die Entwicklung des Moduls liegt schon etwas zurück, aber dafür gibt es die Commandref, da sollte ich auch bei eigenen Modulen öfters mal nachschauen :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

NormanK

#440
Hallo Damian,
danke für die Antwort. Ich habe mich da nicht präzise genug bzw. missverständlich ausgedrückt. - Da sollen beide Temperaturen, Messwerte sein. Das Prinzip ist aber letztlich gleich, wie von dir beschrieben...

Ich hab das jetzt so gemacht:

define DifferenzRegler THRESHOLD SensorDummy2:temperature:5:SensorDummy1:temperature Relais_3

attr DifferenzRegler target_func _tv+10

attr DifferenzRegler state_cmd1_gt off

attr DifferenzRegler state_cmd2_lt on

Auf diese Weise erhalte ich die gewünschte Funktion.

Norman


Bartimaus

Moin,

seit einiger Zeit habe ich das Gefühl das das Threshold-Modul bei mir zur Kellerentfeuchtung nicht mehr richtig funktioniert.

Obwohl der Schwellenwert (63% Rel. feuchte) mit aktuell 67% weit überschritten ist, springt das Modul nicht an.
Die Konfig lief mind. 2 Jahre ohne Probleme, nur momentan halt nicht. Hat jemand ne Idee ?

Hier mal die Konfig:

Internals:
   DEF        WeatherScreenPro:indoorHumidity:7:63 Shelly.Luftentfeuchter |set @ on|set @ off|1
   FUUID      5c7244ca-f33f-dcb4-a6b4-d17d7169a4656238
   NAME       Th_KellerLueftung
   NR         1279
   NTFY_ORDER 50-Th_KellerLueftung
   STATE      active off 63.0 67.0
   TYPE       THRESHOLD
   cmd1_gt    set Shelly.Luftentfeuchter on
   cmd2_lt    set Shelly.Luftentfeuchter off
   cmd_default 1
   hysteresis 7
   init_desired_value 63
   offset     0
   sensor     WeatherScreenPro
   sensor_reading indoorHumidity
   READINGS:
     2021-07-17 15:33:12   cmd             cmd1_gt
     2021-07-13 16:20:35   desired_value   63
     2021-07-17 15:33:12   mode            active
     2021-07-17 10:46:51   sensor_value    67
     2021-07-17 15:33:12   state           active off 63.0 67.0
     2021-07-13 16:20:35   threshold_max   63
     2021-07-13 16:20:35   threshold_min   56
Attributes:
   room       0.2 Kino,Heizung,Kino
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _sc _dv _s1v
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Das Modul hat doch um 15:33:12 geschaltet:

2021-07-17 15:33:12   cmd             cmd1_gt

Wenn dein Luftentfeuchter nicht angeht, dann liegt es eher an der Kommunikation zum Shelly.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Hallo Damian,

danke für die schnelle Rückmeldung.
Äh, ja,  ::) aber wieso steht da "active off" ? Wenn der den Luftentfeuchter eingeschaltet, müsste da doch stehen "active on", oder ? Ich meine so war es "früher".

Das Modul hatte ich manuell auf "active" gesetzt... also "set xyz active", daher der Status
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Weil das offenbar bei dir so definiert ist, der Befehl beim Überschreiten des Wertes lautet:

cmd1_gt    set Shelly.Luftentfeuchter on

der dazugehöriger Status aber:

state_cmd1_gt off

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

 ::) Oh Mann..... danke. Manchmal sieht man den Wald vor lauter Bäumen nicht....
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

uwirt

Hallo alle,

ich habe einen Lüfter der mittels THRESHOLD bei einer Minimaltemperatur einschaltet und bei Maximaltemperatur wieder ausschaltet.
Das funktioniert eigentlich ganz gut.
Nun habe ich aus anderen Gründen einen nächtlichen Restart des Ubuntu-Servers um 04:00h programmiert. Seitdem rutscht die Temperatur nach 04:00h runter ohne dass das THRESHOLD Modul greift. Wenn ich das abhängige Device von Hand schalte funktioniert es wieder wie erwartet:

defmod Thermostat THRESHOLD HM_WDS40_Veranda:temperature HM_PM_Veranda
attr Thermostat devStateStyle style="text-align:right"
attr Thermostat number_format %.1f
attr Thermostat room Sensors
attr Thermostat state_cmd1_gt off
attr Thermostat state_cmd2_lt on
attr Thermostat state_format _m _dv _sc

setstate Thermostat active 14.0 off
setstate Thermostat 2021-12-26 16:35:38 cmd cmd1_gt
setstate Thermostat 2021-02-03 21:05:52 desired_value 14
setstate Thermostat 2021-02-03 21:05:52 mode active
setstate Thermostat 2021-12-26 17:39:30 sensor_value 13.2
setstate Thermostat 2021-12-26 16:35:38 state active 14.0 off
setstate Thermostat 2021-02-03 21:05:52 threshold_max 14
setstate Thermostat 2021-02-03 21:05:52 threshold_min 13


An was könnte das wohl liegen?
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

Damian

Zitat von: uwirt am 26 Dezember 2021, 18:18:32
Hallo alle,

ich habe einen Lüfter der mittels THRESHOLD bei einer Minimaltemperatur einschaltet und bei Maximaltemperatur wieder ausschaltet.
Das funktioniert eigentlich ganz gut.
Nun habe ich aus anderen Gründen einen nächtlichen Restart des Ubuntu-Servers um 04:00h programmiert. Seitdem rutscht die Temperatur nach 04:00h runter ohne dass das THRESHOLD Modul greift. Wenn ich das abhängige Device von Hand schalte funktioniert es wieder wie erwartet:

defmod Thermostat THRESHOLD HM_WDS40_Veranda:temperature HM_PM_Veranda
attr Thermostat devStateStyle style="text-align:right"
attr Thermostat number_format %.1f
attr Thermostat room Sensors
attr Thermostat state_cmd1_gt off
attr Thermostat state_cmd2_lt on
attr Thermostat state_format _m _dv _sc

setstate Thermostat active 14.0 off
setstate Thermostat 2021-12-26 16:35:38 cmd cmd1_gt
setstate Thermostat 2021-02-03 21:05:52 desired_value 14
setstate Thermostat 2021-02-03 21:05:52 mode active
setstate Thermostat 2021-12-26 17:39:30 sensor_value 13.2
setstate Thermostat 2021-12-26 16:35:38 state active 14.0 off
setstate Thermostat 2021-02-03 21:05:52 threshold_max 14
setstate Thermostat 2021-02-03 21:05:52 threshold_min 13


An was könnte das wohl liegen?

Es fehlen ja noch mindestens über 0,2 Grad zum Schalten. threshold_min steht bei 13 Grad.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

uwirt

Das hier war nur ein Beispiel.

Es ist in der Tat so dass es in der Regel funktioniert.

Offenbar kann es aber vorkommen (geschätzt alle vierzehn Tage) dass, je nach dem Schaltzustand vor dem Neustart des PC's das Modul THRESHOLD die Position des Schalters nicht erkennt und dann bei Unterschreitung von 13.0 Grad die Heizung nicht einschaltet.
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

Damian

Dann musst du ein Beispiel liefern, wo es vermeintlich nicht funktioniert.

Dann kann man erkennen, warum etwas hätte passieren sollen oder eben nicht.

Sonst kann man keine Fehleranalyse machen.

Interne Programmierfehler hätten bei dem Alter des Moduls schon längst auffallen müssen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF