Neues Modul - THRESHOLD

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

Vorheriges Thema - Nächstes Thema

uwirt

#450
Ich habe den Verlauf geloggt und heute Nacht war es wieder soweit dass das Modul nicht mehr ansprach:

2022-01-13_23:44:17 Thermostat sensor_value: 13.0
2022-01-13_23:51:32 Thermostat sensor_value: 12.9
2022-01-13_23:51:32 Thermostat cmd: cmd2_lt
2022-01-13_23:51:32 Thermostat active 14.0 on
2022-01-13_23:59:48 Thermostat sensor_value: 13.0
2022-01-14_00:02:04 Thermostat sensor_value: 13.1
2022-01-14_00:04:07 Thermostat sensor_value: 13.2
2022-01-14_00:06:58 Thermostat sensor_value: 13.3
2022-01-14_00:09:36 Thermostat sensor_value: 13.4
2022-01-14_00:11:59 Thermostat sensor_value: 13.5
2022-01-14_00:14:07 Thermostat sensor_value: 13.6
2022-01-14_00:17:06 Thermostat sensor_value: 13.7
2022-01-14_00:22:19 Thermostat sensor_value: 13.8
2022-01-14_00:24:33 Thermostat sensor_value: 13.9
2022-01-14_00:26:34 Thermostat sensor_value: 14.0
2022-01-14_00:29:24 Thermostat sensor_value: 14.1
2022-01-14_00:29:24 Thermostat cmd: cmd1_gt
2022-01-14_00:29:24 Thermostat active 14.0 off
2022-01-14_00:32:00 Thermostat sensor_value: 14.2
2022-01-14_00:39:24 Thermostat sensor_value: 14.0
2022-01-14_00:44:33 Thermostat sensor_value: 13.8
2022-01-14_00:46:46 Thermostat sensor_value: 13.7
2022-01-14_00:49:49 Thermostat sensor_value: 13.6
2022-01-14_00:52:37 Thermostat sensor_value: 13.5
2022-01-14_00:55:11 Thermostat sensor_value: 13.4
2022-01-14_00:59:35 Thermostat sensor_value: 13.3
2022-01-14_01:02:30 Thermostat sensor_value: 13.2
2022-01-14_01:07:36 Thermostat sensor_value: 13.1
2022-01-14_01:09:47 Thermostat sensor_value: 13.0
2022-01-14_01:18:07 Thermostat sensor_value: 12.9
2022-01-14_01:18:07 Thermostat cmd: cmd2_lt
2022-01-14_01:18:07 Thermostat active 14.0 on
2022-01-14_01:25:19 Thermostat sensor_value: 13.0
2022-01-14_01:27:58 Thermostat sensor_value: 13.2
2022-01-14_01:32:31 Thermostat sensor_value: 13.3
2022-01-14_01:35:30 Thermostat sensor_value: 13.4
2022-01-14_01:40:45 Thermostat sensor_value: 13.6
2022-01-14_01:45:02 Thermostat sensor_value: 13.8
2022-01-14_01:50:29 Thermostat sensor_value: 14.0
2022-01-14_01:54:59 Thermostat sensor_value: 14.1
2022-01-14_01:54:59 Thermostat cmd: cmd1_gt
2022-01-14_01:54:59 Thermostat active 14.0 off
2022-01-14_01:57:56 Thermostat sensor_value: 14.2
2022-01-14_02:00:39 Thermostat sensor_value: 14.1
2022-01-14_02:03:08 Thermostat sensor_value: 14.0
2022-01-14_02:05:21 Thermostat sensor_value: 13.9
2022-01-14_02:08:24 Thermostat sensor_value: 13.8
2022-01-14_02:11:13 Thermostat sensor_value: 13.7
2022-01-14_02:13:49 Thermostat sensor_value: 13.6
2022-01-14_02:16:08 Thermostat sensor_value: 13.5
2022-01-14_02:18:14 Thermostat sensor_value: 13.4
2022-01-14_02:21:10 Thermostat sensor_value: 13.3
2022-01-14_02:26:17 Thermostat sensor_value: 13.2
2022-01-14_02:28:29 Thermostat sensor_value: 13.1
2022-01-14_02:34:18 Thermostat sensor_value: 13.0
2022-01-14_02:41:14 Thermostat sensor_value: 12.9
2022-01-14_02:41:14 Thermostat cmd: cmd2_lt
2022-01-14_02:41:14 Thermostat active 14.0 on
2022-01-14_02:46:46 Thermostat sensor_value: 13.0
2022-01-14_02:49:11 Thermostat sensor_value: 13.1
2022-01-14_02:54:21 Thermostat sensor_value: 13.3
2022-01-14_02:57:07 Thermostat sensor_value: 13.4
2022-01-14_03:01:54 Thermostat sensor_value: 13.5
2022-01-14_03:03:57 Thermostat sensor_value: 13.6
2022-01-14_03:06:48 Thermostat sensor_value: 13.7
2022-01-14_03:09:26 Thermostat sensor_value: 13.8
2022-01-14_03:19:39 Thermostat sensor_value: 14.1
2022-01-14_03:19:39 Thermostat cmd: cmd1_gt
2022-01-14_03:19:39 Thermostat active 14.0 off
2022-01-14_03:22:08 Thermostat sensor_value: 14.2
2022-01-14_03:26:23 Thermostat sensor_value: 14.1
2022-01-14_03:29:13 Thermostat sensor_value: 14.0
2022-01-14_03:31:49 Thermostat sensor_value: 13.9
2022-01-14_03:36:16 Thermostat sensor_value: 13.7
2022-01-14_03:39:13 Thermostat sensor_value: 13.6
2022-01-14_03:41:54 Thermostat sensor_value: 13.5
2022-01-14_03:44:22 Thermostat sensor_value: 13.4
2022-01-14_03:57:19 Thermostat sensor_value: 13.1
2022-01-14_03:59:23 Thermostat sensor_value: 13.0
2022-01-14_04:06:49 Thermostat sensor_value: 12.9
2022-01-14_04:09:35 Thermostat sensor_value: 12.8
2022-01-14_04:20:11 Thermostat sensor_value: 12.7
2022-01-14_04:22:14 Thermostat sensor_value: 12.6
2022-01-14_04:30:09 Thermostat sensor_value: 12.5
2022-01-14_04:35:17 Thermostat sensor_value: 12.4
2022-01-14_04:42:48 Thermostat sensor_value: 12.3
2022-01-14_04:54:46 Thermostat sensor_value: 12.2
2022-01-14_04:57:43 Thermostat sensor_value: 12.1
2022-01-14_05:00:26 Thermostat sensor_value: 12.0
2022-01-14_05:15:56 Thermostat sensor_value: 11.9
2022-01-14_05:20:56 Thermostat sensor_value: 11.8
2022-01-14_05:26:03 Thermostat sensor_value: 11.7
2022-01-14_05:36:37 Thermostat sensor_value: 11.6
2022-01-14_05:46:32 Thermostat sensor_value: 11.5
2022-01-14_05:56:52 Thermostat sensor_value: 11.4
2022-01-14_06:03:42 Thermostat sensor_value: 11.3
2022-01-14_06:11:34 Thermostat sensor_value: 11.2
2022-01-14_06:24:08 Thermostat sensor_value: 11.1
2022-01-14_06:33:54 Thermostat sensor_value: 11.0
2022-01-14_06:53:50 Thermostat sensor_value: 10.9
2022-01-14_07:12:20 Thermostat sensor_value: 10.8
2022-01-14_07:14:47 Thermostat sensor_value: 10.7
2022-01-14_07:35:17 Thermostat sensor_value: 10.6
2022-01-14_07:48:09 Thermostat sensor_value: 10.5
2022-01-14_07:57:57 Thermostat sensor_value: 10.4
2022-01-14_08:17:46 Thermostat sensor_value: 10.3
2022-01-14_08:32:56 Thermostat sensor_value: 10.2
2022-01-14_08:58:10 Thermostat sensor_value: 10.1
2022-01-14_09:08:47 Thermostat sensor_value: 10.2


Wie man sehen kann funktioniert zuerst alles bestens. Nur leider ab 04:00h mit dem neu-Start des FHEM Servers schaltet das Modul die Heizung nicht mehr ein obwohl die Temperatur unterhalb der definierten Temperatur taucht. Ich muss dann jeweils die Heizung von Hand schalten und danach läuft alles wieder wie gehabt.
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

Damian

Dann hat das offenbar etwas mit dem Neustart zu tun. Dann brauche ich, wie schon geschrieben, list nach 04:00 Uhr, wo das Modul hätte schalten sollen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

uwirt

Ist das hier gemeint?

list Thermostat

Internals:
   DEF        HM_WDS40_Veranda:temperature HM_PM_Veranda
   FUUID      601add77-f33f-521d-1cdc-e5608d4ea5aa5b08
   NAME       Thermostat
   NR         44
   NTFY_ORDER 50-Thermostat
   STATE      active 14.0 on
   TYPE       THRESHOLD
   cmd1_gt    set HM_PM_Veranda off
   cmd2_lt    set HM_PM_Veranda on
   cmd_default 2
   hysteresis 1
   offset     0
   sensor     HM_WDS40_Veranda
   sensor_reading temperature
   READINGS:
     2022-01-13 23:51:31   cmd             cmd2_lt
     2021-02-03 21:05:52   desired_value   14
     2021-02-03 21:05:52   mode            active
     2022-01-14 10:19:56   sensor_value    12.4
     2022-01-13 23:51:31   state           active 14.0 on
     2021-02-03 21:05:52   threshold_max   14
     2021-02-03 21:05:52   threshold_min   13
Attributes:
   devStateStyle style="text-align:right"
   number_format %.1f
   room       Sensors
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc
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

Damian

     2022-01-13 23:51:31   cmd             cmd2_lt
     2021-02-03 21:05:52   desired_value   14
     2021-02-03 21:05:52   mode            active
     2022-01-14 10:19:56   sensor_value    12.4
     2022-01-13 23:51:31   state           active 14.0 on
     2021-02-03 21:05:52   threshold_max   14
     2021-02-03 21:05:52   threshold_min   13



hiernach hat das Modul um 23:51:31 eingeschaltet, weil die Temperatur zu niedrig war (cmd2_lt), nun ist die Temperatur mit 12.4 unter 13 Grad, daher ist für das Modul die Welt in Ordnung, weil es ja bereits den Aktor um 23:51:31 eingeschaltet hat, der gleiche Befehl wird nicht wiederholt.

Ich gehe davon aus, dass du vor dem Durchstarten des Systems den Zustand deines Systems nicht gesichert hast, so dass das Modul nach dem Neustart von einem falschen Zustand:

2022-01-13 23:51:31   cmd             cmd2_lt

ausgeht.

Es hat ja laut Log danach noch mehrfach geschaltet, also kann es nicht der letzte Schaltzustand gewesen sein.

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

uwirt

#454
Ich habe den Neustart des Ubuntu-PC's mittels crontab um 04:00h programmiert.

Meinst du mit dem System den PC oder FHEM? Wie kann ich das System vor dem Neustart denn sichern?

attr global autosave 1

Danke für deine Hilfe!
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

Damian

Zitat von: uwirt am 14 Januar 2022, 12:13:11
Ich habe den Neustart des Ubuntu-PC's mittels crontab um 04:00h programmiert.

Meinst du mit dem System den PC oder FHEM? Wie kann ich das System vor dem Neustart denn sichern?

attr global autosave 1

Danke für deine Hilfe!

Ich meine das FHEM-System.

Ich weiß nicht was in der crontab drin steht. Auf jeden Fall sollte FHEM korrekt heruntergefahren werden, bevor man es wieder hochfährt (shutdown restart) - wie halt bei jedem System.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

uwirt

Ich habe nun "attr global autosave 1" gesetzt und mit at einen FHEM Neu-Start um 04:30h programmiert.

Trotzdem ist heute Nacht die Heizung nicht mehr ausgeschaltet worden:

2022-01-17_02:43:18 Thermostat cmd: cmd1_gt
2022-01-17_02:43:18 Thermostat active 14.0 off
2022-01-17_02:46:21 Thermostat sensor_value: 14.2
2022-01-17_02:51:45 Thermostat sensor_value: 14.1
2022-01-17_02:54:05 Thermostat sensor_value: 14.0
2022-01-17_02:59:07 Thermostat sensor_value: 13.8
2022-01-17_03:04:14 Thermostat sensor_value: 13.7
2022-01-17_03:09:28 Thermostat sensor_value: 13.6
2022-01-17_03:12:16 Thermostat sensor_value: 13.5
2022-01-17_03:14:49 Thermostat sensor_value: 13.4
2022-01-17_03:17:07 Thermostat sensor_value: 13.3
2022-01-17_03:22:05 Thermostat sensor_value: 13.2
2022-01-17_03:24:44 Thermostat sensor_value: 13.1
2022-01-17_03:29:19 Thermostat sensor_value: 13.0
2022-01-17_03:35:05 Thermostat sensor_value: 12.9
2022-01-17_03:35:05 Thermostat cmd: cmd2_lt
2022-01-17_03:35:05 Thermostat active 14.0 on
2022-01-17_03:41:55 Thermostat sensor_value: 13.0
2022-01-17_03:44:46 Thermostat sensor_value: 13.1
2022-01-17_03:47:24 Thermostat sensor_value: 13.2
2022-01-17_03:49:47 Thermostat sensor_value: 13.3
2022-01-17_03:51:55 Thermostat sensor_value: 13.4
2022-01-17_03:54:54 Thermostat sensor_value: 13.5
2022-01-17_03:57:39 Thermostat sensor_value: 13.6
2022-01-17_04:00:07 Thermostat sensor_value: 13.7
2022-01-17_04:06:50 Thermostat sensor_value: 13.8
2022-01-17_04:07:12 Thermostat sensor_value: 13.9
2022-01-17_04:09:48 Thermostat sensor_value: 14.0
2022-01-17_04:12:09 Thermostat sensor_value: 14.1
2022-01-17_04:14:15 Thermostat sensor_value: 14.2
2022-01-17_04:19:54 Thermostat sensor_value: 14.3
2022-01-17_04:22:21 Thermostat sensor_value: 14.4
2022-01-17_04:27:37 Thermostat sensor_value: 14.5
2022-01-17_04:32:28 Thermostat sensor_value: 14.6
2022-01-17_04:35:18 Thermostat sensor_value: 14.8
2022-01-17_04:40:18 Thermostat sensor_value: 14.9
2022-01-17_04:42:58 Thermostat sensor_value: 15.0
2022-01-17_04:47:35 Thermostat sensor_value: 15.1
2022-01-17_04:50:35 Thermostat sensor_value: 15.2
2022-01-17_04:53:22 Thermostat sensor_value: 15.3
2022-01-17_04:55:54 Thermostat sensor_value: 15.4
2022-01-17_05:00:14 Thermostat sensor_value: 15.5
2022-01-17_05:03:07 Thermostat sensor_value: 15.6
2022-01-17_05:05:46 Thermostat sensor_value: 15.7
2022-01-17_05:10:19 Thermostat sensor_value: 15.8
2022-01-17_05:16:02 Thermostat sensor_value: 15.9
2022-01-17_05:18:33 Thermostat sensor_value: 16.0
2022-01-17_05:25:41 Thermostat sensor_value: 16.1
2022-01-17_05:30:39 Thermostat sensor_value: 16.2


Das List sieht so aus:

Internals:
   DEF        HM_WDS40_Veranda:temperature HM_PM_Veranda
   FUUID      601add77-f33f-521d-1cdc-e5608d4ea5aa5b08
   NAME       Thermostat
   NR         44
   NTFY_ORDER 50-Thermostat
   STATE      active 14.0 off
   TYPE       THRESHOLD
   cmd1_gt    set HM_PM_Veranda off
   cmd2_lt    set HM_PM_Veranda on
   cmd_default 2
   hysteresis 1
   offset     0
   sensor     HM_WDS40_Veranda
   sensor_reading temperature
   READINGS:
     2022-01-16 23:54:10   cmd             cmd1_gt
     2021-02-03 21:05:52   desired_value   14
     2021-02-03 21:05:52   mode            active
     2022-01-17 10:19:07   sensor_value    19.8
     2022-01-16 23:54:10   state           active 14.0 off
     2021-02-03 21:05:52   threshold_max   14
     2021-02-03 21:05:52   threshold_min   13
Attributes:
   devStateStyle style="text-align:right"
   number_format %.1f
   room       Sensors
   state_cmd1_gt off
   state_cmd2_lt on
   state_format _m _dv _sc


Der Eintrag im Crontab ist folgendermassen:

0 4 * * * sudo shutdown -r

Ich weiss nicht was ich noch tun könnte?
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

Damian

autosave dürfte für die config-Datie sein, es wird bei Fehlern auch wieder auf 0 gesetzt.

mit sudo shutdown -r wird offenbar FHEM nicht sauber heruntergefahren, als Folge wird die save-Datei nicht gespeichert, die Folgen haben wir schon besprochen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

egmontr

Hallo!

Ich schalte seit Jahren mit Hilfe von
define thHeizung THRESHOLD ThermostatHeizung:measured-temp:1:SollTemperatur:state SchalterHeizung
meine Heizung ein und aus.

ThermostatHeizung ist ein HM-CC-TC
SollTemperatur ist ein Dummy
SchalterHeizung ist ein HM-LC-SW1-SM

Funktioniert prima.

Nun wollte ich einen zweiten HM-CC-TC mit OR auswerten und darüber die Heizung steuern. Je nachdem welcher zuerst zuschlägt. Leider schaltet er aber nur, wenn der erste Thermostat ThermostatHeizung unter Temperatur ist.
define thHeizung THRESHOLD ThermostatHeizung:measured-temp:1:SollTemperatur:state OR ThermostatEingang:measured-temp:1:SollTemperatur:state SchalterHeizung
attr thHeizung alias Fhem Thermostat Heizung
attr thHeizung group Heizung
attr thHeizung number_format %.1f
attr thHeizung room Haus
attr thHeizung state_cmd1_gt off
attr thHeizung state_cmd2_lt on
attr thHeizung state_format _m _dv _sc

Was mache ich falsch?
LG Egmont

RPI B+ mit FHEM und CUL V3 868MHZ

Damian

#459
Bei AND bzw. OR kanns du nur ein zweites Device angeben, das einen bestimmten Zustand (Inhalt des Readings) einnimmt. Man kann nicht einen zweiten Temperatursensor angeben.
Allerdings kann man über ein zweites THRESHOLD-Device zwei Temperatursensoren kombinieren.

In den Beispielen ist aufgezeigt, wie man mit OR zwei THRESHOLD-Devices verknüpfen kann:


ZitatEs soll bis 21 Grad geheizt werden, aber nur, wenn die Außentemperatur unter 15 Grad ist:

define TH_outdoor THRESHOLD outdoor:temperature:0:15
define TH_room THRESHOLD indoor OR TH_outdoor:state:off heating
set TH_room desired 21
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF