Danfoss Thermostat Wochenplan

Begonnen von Lost144, 29 Oktober 2017, 14:00:40

Vorheriges Thema - Nächstes Thema

amenomade

#15
ZitatIch habe mal im Wiki gelesen, dass alle 5 Minuten sinnvoll wären bezüglich Batterie verbrauch.
Man muss ein Kompromiss zwischen Reaktivität und Batterieverbrauch finden. 5 Mn ist ja nicht schlecht. Zum Vergleich haben z.B. die FRITZ!DECT Thermostate 15 Minuten.

Man muss nur mitberücksichtigen, dass ein Kommando "set temp" evtl. erst nach 5 Minuten (bzw. 15 Min) eingesetzt wird.

Also nochmal die Frage, aber anders formuliert: wenn Du in FHEM folgendes eingibst:
set ZWave_THERMOSTAT_3 desired-temp 25
- nimmt er das an ohne zu meckern?
- wenn ja, wird nach max. 5 Minuten die Soll-Temperatur 25 im (physischen) Thermostat tatsächlich eingestellt?

Wenn ja, dann sollte deine Definition (fast - siehe unten) ohne weiteres schon funktionieren (angenommen, dass HCAutomatik tatsächlich auf "on" steht - zeig zur Sicherheit ein "list HCAutomatik")

Nun musst Du aber aufpassen:
Zitatdefine HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 (ReadingsVal("HCAutomatik", "state", "") eq "on")

Dein Heizkörperthermostat heisst anscheinend nicht FHT_Bad sondern ZWave_THERMOSTAT_3... oder?

Letzendlich: die Temperatur so stark am Nacht zu reduzieren (auf 14 °C !) führt nicht unbedingt zu eine Kostenersparnis. Da kannst Du dich im Internet informieren.



Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

@Lost144

Hast doch genug Futter von mir bekommen, jetzt noch etwas anpassen.  ;)
Batterie, bzw. wakup interwal ist in der Tat eine Glaubensfrage. Kommt halt darauf an wie schnell die Thermostate reagieren sollen. Denn die reagieren auf die Befehle oder nehmen diese halt entgegen NUR beim wakeup.
https://wiki.fhem.de/wiki/Z-Wave#Wakeup-Ger.C3.A4te
Beispiel ein Raum der durchgehend in etwa gleich temperiert wird, könnte man das interwall länger setzen.
Wenn es allerdings um schnellere Reaktion geht, lüften->Temperatur runter. Ist ein langes interwall fehl am Platz.

@amenomade
Ich "glaube" das die Danfoss Z Thermostat 014G0013 kein desired-temp kennen.

LG
Tom

amenomade

Dann die Variante
defmod HCB Heating_Control FHT_Bad 12345|06:00|22 12345|07:30|19 67|08:30|22 67|10:00|19 18:00|21 22:00|14 {set $NAME thermostatSetpointSet $EVENT if (ReadingsVal("HCAutomatik", "state", "") eq "on")}

... aber mit richtigem Thermostatsname!!!
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

krikan

Zitat von: Lost144 am 03 November 2017, 14:02:18
Ich habe mal im Wiki gelesen, dass alle 5 Minuten sinnvoll wären bezüglich Batterie verbrauch.
Das steht aber so nicht im FHEM-Wiki wiki.fhem.de, oder?
Falls doch, könntest Du bitte genau schreiben wo?

ZitatIch "glaube" das die Danfoss Z Thermostat 014G0013 kein desired-temp kennen.
Wenn das Geraet den Befehl "thermostatSetpointSet" unterstützt, dann gibt es auch den Befehl "desired-temp", der die gleiche Funktion hat. Zumindest wenn FHEM einen update-Stand von mindestens  21.12.2016 hat.


tomspatz

@krikan
ist desired-temp nicht eine fest vorgegebene Temperatur?

So weit ich weiss kann man in das Danfoss keine reinknüppeln.

LG
Tom

krikan

Zitat von: tomspatz am 03 November 2017, 21:24:51
ist desired-temp nicht eine fest vorgegebene Temperatur?

So weit ich weiss kann man in das Danfoss keine reinknüppeln.
Kenne das Danfoss nicht und habe keine Ahnung, welche THERMOSTAT_SETPOINT Version und welche Funktionen innerhalb der Class das Danfoss unterstützt. Interessanterweise fehlen die Angaben zur Class Version auch im list des TE. Entweder hat er eine uralte FHEM-Version oder der Inklusionsprozess wurde nicht sauber abgearbeitet.

Wenn  "desired-temp" von Danfoss nicht unterstützt wird (kann ich nicht ausschließen), dann geht auch "thermostatSetpointSet" nicht, da beide die gleichen Telegramme erzeugen. Dann sollte aber zumindest "setpointHeating" bzw. "setpointCooling" mit dem Danfoss funktionieren und der TE sollte das versuchsweise in Heating_Control einbauen oder vorher testen, was funktioniert.


amenomade

Das ist ganz klar im Code des ZWave Moduls (hatte ich Gestern schon geguckt, aber irgendwie vergessen zu posten):

ZitatTHERMOSTAT_SETPOINT      => { id => '43',
    set   => { setpointHeating => "010101%02x",
               setpointCooling => "010201%02x",
               thermostatSetpointSet
                  => 'ZWave_thermostatSetpointSet($hash, "%s")',
               "desired-temp"  => # alias
                  => 'ZWave_thermostatSetpointSet($hash, "%s")'},
    get   => { setpoint => 'ZWave_thermostatSetpointGet("%s")',
               thermostatSetpointSupported => '04' },
    parse => {  "..4303(.*)" => 'ZWave_thermostatSetpointParse($hash, $1)',
                "..4305(.*)" =>
                        'ZWave_thermostatSetpointSupportedParse($hash, $1)' } },
Und zwar in der THERMOSTAT_SETPOINT Class. Wenn ich  das "list <thermostat>" vom TE sehe, hat er doch die Klasse:
Zitat von: Lost144 « am: Gestern um 11:40:03 »classes    BATTERY CLIMATE_CONTROL_SCHEDULE CLOCK MANUFACTURER_SPECIFIC MULTI_CMD PROTECTION THERMOSTAT_SETPOINT VERSION WAKE_UP MARK CLIMATE_CONTROL_SCHEDULE CLOCK MULTI_CMD

M.A. sollte dann unterstützt sein!
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

krikan

Die Unterstützung einer Class bedeutet nicht, dass alle Befehle bzw. Befehlsparameter vom Gerät unterstützt werden; selbst wenn FHEM alle anzeigt. Ermittlung, was funktioniert liegt in großen Teilen in der Anwenderhand.

Lost144

Hallo,

Mein Thermostat nimmt diesen Befehl entgegen:

set ZWave_THERMOSTAT_3 desired-temp 25

Jetzt ist die Frage was ich falsch gemacht habe, dass diese Temperatur nicht per Wochenplan gesetzt wird..

amenomade

Zitat von: amenomade am 03 November 2017, 14:50:14
Nun musst Du aber aufpassen:
Dein Heizkörperthermostat heisst anscheinend nicht FHT_Bad sondern ZWave_THERMOSTAT_3... oder?


Hast Du es korrigiert?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

Zitat von: amenomade am 10 November 2017, 17:50:15
Hast Du es korrigiert?

Ne, ich hatte den Befehl doch so angelegt:

define Wohnzimmer_plan Heating_Control ZWave_THERMOSTAT_3 0123456|16:00|22  0123456|22:30|17 (ReadingsVal("HCAutomatik ", "state", "off") eq "on")

amenomade

Mach bitte ein "list Wohnzimmer_plan"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

Zitat von: amenomade am 13 November 2017, 12:19:12
Mach bitte ein "list Wohnzimmer_plan"

Internals:
   CFGFN
   COMMAND    (ReadingsVal("HCAutomatik ", "state", "off") eq "on") attr Wohnzimmer_plan alias Wohnzimmer attr Wohnzimmer_plan group Heizplan attr Wohnzimmer_plan room Wohnzimmer
   CONDITION
   DEF        ZWave_THERMOSTAT_3 0123456|16:00|22  0123456|22:30|17 (ReadingsVal("HCAutomatik ", "state", "off") eq "on") attr Wohnzimmer_plan alias Wohnzimmer attr Wohnzimmer_plan group Heizplan attr Wohnzimmer_plan room Wohnzimmer
   DEVICE     ZWave_THERMOSTAT_3
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Wohnzimmer_plan
   NR         46
   Profil 0: Sonntag 16:00:00 22, 22:30:00 17
   Profil 1: Montag 16:00:00 22, 22:30:00 17
   Profil 2: Dienstag 16:00:00 22, 22:30:00 17
   Profil 3: Mittwoch 16:00:00 22, 22:30:00 17
   Profil 4: Donnerstag 16:00:00 22, 22:30:00 17
   Profil 5: Freitag 16:00:00 22, 22:30:00 17
   Profil 6: Samstag 16:00:00 22, 22:30:00 17
   STATE      22
   STILLDONETIME 0
   TYPE       Heating_Control
   READINGS:
     2017-11-13 16:00:00   currValue       22
     2017-11-13 16:00:00   nextUpdate      2017-11-13 22:30:00
     2017-11-13 16:00:00   nextValue       17
     2017-11-13 16:00:00   state           22
   SWITCHINGTIMES:
     0123456|16:00|22
     0123456|22:30|17
   TIMER:
     Wohnzimmer_plan_1:
       HASH       Wohnzimmer_plan
       MODIFIER   1
       NAME       Wohnzimmer_plan_1
     Wohnzimmer_plan_2:
       HASH       Wohnzimmer_plan
       MODIFIER   2
       NAME       Wohnzimmer_plan_2
     Wohnzimmer_plan_SetTimerOfDay:
       HASH       Wohnzimmer_plan
       MODIFIER   SetTimerOfDay
       NAME       Wohnzimmer_plan_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     Wohnzimmer_plan_delayed:
       HASH       Wohnzimmer_plan
       MODIFIER   delayed
       NAME       Wohnzimmer_plan_delayed
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         16:00:00   22
         22:30:00   17
       1:
         16:00:00   22
         22:30:00   17
       2:
         16:00:00   22
         22:30:00   17
       3:
         16:00:00   22
         22:30:00   17
       4:
         16:00:00   22
         22:30:00   17
       5:
         16:00:00   22
         22:30:00   17
       6:
         16:00:00   22
         22:30:00   17
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1510585200
       PARA       22
       TIME       16:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     2:
       EPOCH      1510608600
       PARA       17
       TIME       22:30
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       16:00:00   1
       22:30:00   2
     1:
       16:00:00   1
       22:30:00   2
     2:
       16:00:00   1
       22:30:00   2
     3:
       16:00:00   1
       22:30:00   2
     4:
       16:00:00   1
       22:30:00   2
     5:
       16:00:00   1
       22:30:00   2
     6:
       16:00:00   1
       22:30:00   2
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   commandTemplate set $NAME desired-temp $EVENT

amenomade

Was ist das ???
ZitatDEF        ZWave_THERMOSTAT_3 0123456|16:00|22  0123456|22:30|17 (ReadingsVal("HCAutomatik ", "state", "off") eq "on") attr Wohnzimmer_plan alias Wohnzimmer attr Wohnzimmer_plan group Heizplan attr Wohnzimmer_plan room Wohnzimmer
Das hat in der DEF gar nix zu tun.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Lost144

#29
Zitat von: amenomade am 13 November 2017, 17:33:48
Was ist das ???Das hat in der DEF gar nix zu tun.

Hier das geänderte:

Internals:
   CFGFN
   COMMAND
   CONDITION  (ReadingsVal("HCAutomatik ", "state", "off") eq "on")
   DEF        ZWave_THERMOSTAT_3 0123456|16:00|22  0123456|22:30|17 (ReadingsVal("HCAutomatik ", "state", "off") eq "on")
   DEVICE     ZWave_THERMOSTAT_3
   GlobalDaylistSpec
   LANGUAGE   de
   NAME       Wohnzimmer_plan
   NR         394
   Profil 0: Sonntag 16:00:00 22, 22:30:00 17
   Profil 1: Montag 16:00:00 22, 22:30:00 17
   Profil 2: Dienstag 16:00:00 22, 22:30:00 17
   Profil 3: Mittwoch 16:00:00 22, 22:30:00 17
   Profil 4: Donnerstag 16:00:00 22, 22:30:00 17
   Profil 5: Freitag 16:00:00 22, 22:30:00 17
   Profil 6: Samstag 16:00:00 22, 22:30:00 17
   STATE      inactive
   STILLDONETIME 0
   TYPE       Heating_Control
   READINGS:
     2017-11-14 16:00:00   currValue       22
     2017-11-14 16:10:34   disabled        0
     2017-11-14 16:00:00   nextUpdate      2017-11-14 22:30:00
     2017-11-14 16:00:00   nextValue       17
     2017-11-14 09:48:52   state           inactive
   SWITCHINGTIMES:
     0123456|16:00|22
     0123456|22:30|17
   TIMER:
     Wohnzimmer_plan_1:
       HASH       Wohnzimmer_plan
       MODIFIER   1
       NAME       Wohnzimmer_plan_1
     Wohnzimmer_plan_2:
       HASH       Wohnzimmer_plan
       MODIFIER   2
       NAME       Wohnzimmer_plan_2
       immerSchalten 1
     Wohnzimmer_plan_SetTimerOfDay:
       HASH       Wohnzimmer_plan
       MODIFIER   SetTimerOfDay
       NAME       Wohnzimmer_plan_SetTimerOfDay
       SETTIMERATMIDNIGHT 1
     Wohnzimmer_plan_delayed:
       HASH       Wohnzimmer_plan
       MODIFIER   delayed
       NAME       Wohnzimmer_plan_delayed
   dayNumber:
     !$we       8
     $we        7
     di         2
     do         4
     fr         5
     mi         3
     mo         1
     sa         6
     so         0
   helper:
     daysRegExp (so|mo|di|mi|do|fr|sa|\$we|\!\$we)
     daysRegExpMessage (so|mo|di|mi|do|fr|sa|$we|!$we)
     SWITCHINGTIME:
       0:
         16:00:00   22
         22:30:00   17
       1:
         16:00:00   22
         22:30:00   17
       2:
         16:00:00   22
         22:30:00   17
       3:
         16:00:00   22
         22:30:00   17
       4:
         16:00:00   22
         22:30:00   17
       5:
         16:00:00   22
         22:30:00   17
       6:
         16:00:00   22
         22:30:00   17
   longDays:
     de:
       Sonntag
       Montag
       Dienstag
       Mittwoch
       Donnerstag
       Freitag
       Samstag
       Wochenende
       Werktags
     en:
       Sunday
       Monday
       Tuesday
       Wednesday
       Thursday
       Friday
       Saturday
       weekend
       weekdays
     fr:
       Dimanche
       Lundi
       Mardi
       Mercredi
       Jeudi
       Vendredi
       Samedi
       weekend
       jours de la semaine
   profil:
     1:
       EPOCH      1510671600
       PARA       22
       TIME       16:00
       TAGE:
         0
         1
         2
         3
         4
         5
         6
     2:
       EPOCH      1510695000
       PARA       17
       TIME       22:30
       TAGE:
         0
         1
         2
         3
         4
         5
         6
   profile_IDX:
     0:
       16:00:00   1
       22:30:00   2
     1:
       16:00:00   1
       22:30:00   2
     2:
       16:00:00   1
       22:30:00   2
     3:
       16:00:00   1
       22:30:00   2
     4:
       16:00:00   1
       22:30:00   2
     5:
       16:00:00   1
       22:30:00   2
     6:
       16:00:00   1
       22:30:00   2
   shortDays:
     de:
       so
       mo
       di
       mi
       do
       fr
       sa
       $we
       !$we
     en:
       su
       mo
       tu
       we
       th
       fr
       sa
       $we
       !$we
     fr:
       di
       lu
       ma
       me
       je
       ve
       sa
       $we
       !$we
Attributes:
   commandTemplate set $NAME desired-temp $EVENT
   disable    0


Ein Screenshot meines Plans habe ich im Anhang.
Wieso zeigt der bei state immer inactive an und das Datum, wo ich den Plan angelegt habe?