desired-temp setzen und zu bestimmtem Zeitpunkt rücksetzen

Begonnen von Caesareus, 23 Januar 2019, 10:29:43

Vorheriges Thema - Nächstes Thema

Caesareus

Hallo,

ich bin bzgl. Programmierung ein blutiger Anfänger, habe mir hier im Forum und im Wiki aber schon einige sehr hilfreiche Tipps geholt. Danke dafür!

Momentan versuche ich, die Temperatur eines Heizkörperthermostaten zum aktuellen Zeitpunkt auf einen bestimmten Wert (22 °C) zu setzen und gleichzeitig zu einem späteren Zeitpunkt wieder zurückzusetzen (16 °C). Dazu habe ich mir ein Notify erstellt, das leider nur folgende Meldung ausgibt:

2019.01.23 10:20:36 3: FBDECT set Thermostat_Buero desired-temp
2019.01.23 10:20:36 3: n_Timer_Heizung_Buero_1 return value: Usage: set Thermostat_Buero desired-temp value

Mein Notify:

Internals:
   DEF        Timer_Heizung_Buero1 set Thermostat_Buero desired-temp 22 ;; defmod at ReadingsTimestamp('Timer_Heizung_Buero1','state',0) set Thermostat_Buero desired-temp 16
   FUUID      5c475041-f33f-042f-d159-8c198f4056faca15
   NAME       n_Timer_Heizung_Buero_1
   NOTIFYDEV  Timer_Heizung_Buero1
   NR         736
   NTFY_ORDER 50-n_Timer_Heizung_Buero_1
   REGEXP     Timer_Heizung_Buero1
   STATE      2019-01-23 10:20:36
   TRIGGERTIME 1548235236.1152
   TYPE       notify
   READINGS:
     2019-01-23 10:20:12   state           active
Attributes:
   room       Heizung


Weiß jemand aus dem Forum, wo mein Fehler liegt?

Gruß
Harald
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

Otto123

#1
Hallo Harald,

den Code bitte in Codetags posten -> https://forum.fhem.de/index.php/topic,71806.0.html

Ich versuche mal dein define zu verstehen:
define n_Timer_Heizung_Buero_1 notify Timer_Heizung_Buero1 set Thermostat_Buero desired-temp 22 ;; defmod at ReadingsTimestamp('Timer_Heizung_Buero1','state',0) set Thermostat_Buero desired-temp 16
Ich glaube das ist Wirruwarruwolls  ::)
Das notify würde auf alle Events von Timer_Heizung_Buero1 triggern. Was ist das für ein Gerät?
Der Ausdruck defmod at ... würde ein Gerät namens at verändern. Gibt es ein solches Gerät? Ich würde ein Gerät  nicht nach einem FHEM Modul benennen!

Vorschlag, Du willst einen Zeitpunkt, also ein at - setzt um 11:00 Uhr deine Temperatur
define a11 at 11:00:00 set Thermostat_Buero desired-temp 22
Ob das deiner Anforderung entspricht glaub ich  nicht, aber es wäre ein Anfang.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dkreutz

#2
Zitat von: Caesareus am 23 Januar 2019, 10:29:43

2019.01.23 10:20:36 3: FBDECT set Thermostat_Buero desired-temp

Weiß jemand aus dem Forum, wo mein Fehler liegt?


Du hast anscheinend ein Fritz/Comet-DECT Thermostat. Meiner Erinnerung nach muss man da den Temperaturwert als Dezimalwert mit einer Nachkommastelle setzen. Probiere mal
set Thermostat_Buero desired-temp 22.0

Außerdem ist zu beachten, dass bei den Fritz-DECT Geräten die Übertragung nicht sofort erfolgt sondern bis zu 15 Minuten benötigt.
Raspberry Pi3B+ (Bullseye) / JeeLink868v3c (LaCrosse), nanoCUL433 (a-culfw V1.24.02), HM-MOD-UART (1.4.1), TEK603, MapleCUL / diverse Sensoren/Sender/Aktoren von Technoline, Intertechno, Shelly, Homematic und MAX!, Froggit Wetterstation, Luftdaten.info / Autor des fhem-skill für Mycroft.ai

Caesareus

Hallo Otto,

danke für die Tipps. Ich habe meinen Code modifiziert.
[/Internals:
   DEF        Timer_Heizung_Buero1 set Thermostat_Buero desired-temp 22 ;; defmod Thermostat_Buero at {ReadingsTimestamp("Timer_Heizung_Buero1","state",0)} set Thermostat_Buero desired-temp 16
   FUUID      5c475041-f33f-042f-d159-8c198f4056faca15
   NAME       n_Timer_Heizung_Buero_1
   NOTIFYDEV  Timer_Heizung_Buero1
   NR         736
   NTFY_ORDER 50-n_Timer_Heizung_Buero_1
   REGEXP     Timer_Heizung_Buero1
   STATE      2019-01-23 11:42:01
   TRIGGERTIME 1548240121.70917
   TYPE       notify
   READINGS:
     2019-01-23 11:41:24   state           active
Attributes:
   room       Heizung
code]

Leider funktioniert das immer noch nicht. Dass das jedesmal bei einer Änderung des Timers über einen Trigger ein at auslöst ist gewollt. Hier noch die Definition meines Timers:
[code][/Internals:
   FUUID      5c475041-f33f-042f-ac21-81766a1d17abf26f
   NAME       Timer_Heizung_Buero1
   NR         733
   STATE      state 11:50
   TYPE       dummy
   READINGS:
     2019-01-23 11:42:01   state           state 11:50
Attributes:
   icon       time_clock
   room       Heizung
   setList    state:time
   webCmd     state
code]

Gruß
Harald
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

Caesareus

Ich versuche mal zu erklären, was ich beabsichtige:

Mit dem device Timer_Heizung_Buero1 wird eine Uhrzeit gesetzt (variabel über einen Slider). Mit dem notify n_Timer_Heizung_Buero_1 soll dann der Heizkörperthermostat (Thermostat_Buero)auf 22 °C gesetzt werden und gleichzeitig der Zeitpunkt mit einem ReadingsTimestamp aus dem Timer_Heizung_Buero1 auf das Rücksetzen auf 16 °C übergeben werden. Der erste Teil klappt, aber nicht das Setzen der Zeit für die spätere Temperaturreduktion.

Wäre toll, wenn da jemand einen Tipp für mich hätte.

Gruß
Harald
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

Otto123

Hallo Harald,

was liefert Dir dieser Ausdruck in der FHEM Kommandozeile zurück?
{ReadingsTimestamp("Timer_Heizung_Buero1","state",0)}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Caesareus

Hallo Otto,

wie ich gerade sehe, liefert der ReadingsTimestamp nicht den von mir gesetzten Wert, sondern leider den Zeitpunkt, wann der gesetzt wurde. Da ist wohl ein anderer Befehl notwendig, der das aus "STATE    state 07:25" korrekt übernimmt. Bin halt doch noch ziemlich am Anfang.

Gruß
Harald
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

Otto123

Naja, aus Fehlern lernt man.
Nimm {ReadingsVal("Timer_Heizung_Buero1","state",0)}  :D
Probier vorher wieder in der Kommandozeile.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Caesareus

Danke, der Schritt funktioniert schon mal. Der {ReadingsVal("Timer_Heizung_Buero1","state",0)} gibt einen Wert im Format hh:mm zurück.
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

rabehd

set Thermostat_Buero desired-temp 22 ;; defmod Thermostat_Buero at

Was ist Thermostat_Buero?
Bei Dir ein Thermostsat und ein at? Das geht nicht!
Ich würde ein at nie benennen, das man denkt es wäre ein Thermostat.

Auf dei Vermutung von dkreutz hast Du noch nicht reagiert. Das macht das helfen schwierig.
Auch funktionierende Lösungen kann man hinterfragen.

Caesareus

Das Ergänzen einer Dezimalstelle war leider ohne Erfolg.

Ich erhalte mit nachstehenden Definitionen im Log den Fehler: n_Timer_Heizung_Buero_1 return value: Usage: set Thermostat_Buero desired-temp value

Ich poste mal meine Defs.
Internals:
   CFGFN     
   FUUID      5c4969b6-f33f-042f-4cda-5e5185e638c0f174
   NAME       HeizungBueroaus2
   NR         24386
   STATE      ???
   TYPE       dummy
Attributes:
   icon       sani_heating_timer
   room       Heizung


Internals:
   DEF        Timer_Heizung_Buero1 set Thermostat_Buero desired-temp 22 ;; defmod HeizungBueroaus2 at {ReadingsVal("Timer_Heizung_Buero1","state",0)} set Thermostat_Buero desired-temp 16
   FUUID      5c475041-f33f-042f-d159-8c198f4056faca15
   NAME       n_Timer_Heizung_Buero_1
   NOTIFYDEV  Timer_Heizung_Buero1
   NR         131
   NTFY_ORDER 50-n_Timer_Heizung_Buero_1
   REGEXP     Timer_Heizung_Buero1
   STATE      2019-01-24 08:32:03
   TRIGGERTIME 1548315123.98715
   TYPE       notify
   READINGS:
     2019-01-24 08:23:00   state           active
Attributes:
   room       Heizung


Internals:
   FUUID      5c475041-f33f-042f-ac21-81766a1d17abf26f
   NAME       Timer_Heizung_Buero1
   NR         129
   STATE      08:40
   TYPE       dummy
   READINGS:
     2019-01-24 08:32:03   state           08:40
Attributes:
   icon       time_clock
   readingList state
   room       Heizung
   setList    state:time
   webCmd     state


Internals:
   DEF        FritzSmart:09995_0188757 actuator,tempSensor
   FUUID      5c475039-f33f-042f-3dfc-8430dc9986ff036f
   FritzSmart_MSGCNT 188
   FritzSmart_TIME 2019-01-24 09:41:27
   IODev      FritzSmart
   LASTInputDev FritzSmart
   MSGCNT     188
   NAME       Thermostat_Buero
   NR         119
   STATE      desired-temp: 22.0 C
   TYPE       FBDECT
   id         09995_0188757
   props      actuator,tempSensor
   READINGS:
     2019-01-24 09:41:27   AIN             09995 0188757
     2019-01-24 09:41:27   FBNAME          Thermostat_Buero
     2019-01-24 09:41:27   FBPROP          actuator,tempSensor
     2019-01-24 09:41:27   FBTYPE          Comet DECT
     2019-01-24 09:41:27   ID              16
     2019-01-24 09:41:27   batteryState    ok
     2019-01-24 09:41:27   batterylow      0
     2019-01-24 09:41:27   day-temp        22.0 C
     2019-01-24 09:41:27   desired-temp    22.0 C
     2019-01-24 09:41:27   devicelock      no
     2019-01-24 09:41:27   errorcode       noError (0)
     2019-01-24 09:41:27   fwversion       04.85
     2019-01-24 09:41:27   locked          no
     2019-01-24 09:41:27   nextPeriodStart 1970-01-01 01:00:00
     2019-01-24 09:41:27   nextPeriodTemp  22.0 C
     2019-01-24 09:41:27   night-temp      16.0 C
     2019-01-24 09:41:27   present         yes
     2019-01-24 09:41:27   state           desired-temp: 22.0 C
     2019-01-24 09:41:27   tempadjust      -2.0 C
     2019-01-24 09:41:27   temperature     23.0 C (measured)
Attributes:
   IODev      FritzSmart
   event-min-interval power:120
   icon       sani_heating_calendar
   room       Heizung


Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect

Otto123

#11
Denkst Du wirklich, dass du klar siehst mit deinen definitionen/Namen?
Die Dezimalstelle ist, wenn überhaupt, nur eine Nebenbaustelle.
HeizungBueroaus2  ist ein dummy du willst daraus ein at machen? defmod HeizungBueroaus2 at ...
Das wird nix...

und in deiner DEF steht 22 und nicht 22.0 ! Du hast also keine Dezimalstelle ergänzt

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rabehd

Wie wäre mit Schritt für Schritt?

set Thermostat_Buero desired-temp 22
Kannst Du damit über die Kommandozeile überhaupt die Soll-Tempersatur ändern?

Meine Vermutung
set Thermostat_Buero desired-temp 22.0 C
Auch funktionierende Lösungen kann man hinterfragen.

Wzut

Falls es eine FBDECT ist reicht die "nackte" Zahl völlig aus , ohne Punkt und C !
Es dauert halt nur bis zum nächsten Poll bis der Wert im Reading auch sichtbar wird
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Caesareus

Hallo,
danke für euer Feedback. Ich habe mein notity modifiziert und jetzt funktioniert es wie gewünscht:
Internals:
   DEF        Timer_Heizung_Buero1 set Thermostat_Buero desired-temp 22.5 ; define HeizungBueroaus2 at {ReadingsVal("Timer_Heizung_Buero1","state",0)} set Thermostat_Buero desired-temp 16.5

   FUUID      5c475041-f33f-042f-d159-8c198f4056faca15
   NAME       n_Timer_Heizung_Buero_1
   NOTIFYDEV  Timer_Heizung_Buero1
   NR         132
   NTFY_ORDER 50-n_Timer_Heizung_Buero_1
   REGEXP     Timer_Heizung_Buero1
   STATE      active
   TYPE       notify
   READINGS:
     2019-01-25 15:59:48   state           active
Attributes:
   room       Unsorted


Gruß
Harald
Raspberry Pi
HUE, Elero, Fritz!Dect, CUL868, CUL, CUL_EM, JeeLink, EMT7110, Intertechno, MQTT, Yamaha_AVR, vitoconnect