[gelöst] HM-TC-IT-WM-W-EU Funk-Wandthermostat AP - measured-temp/desired-temp

Begonnen von ak323, 03 November 2019, 20:50:17

Vorheriges Thema - Nächstes Thema

ak323

Hi zusammen,
ich versuche mittel HM-TC-IT-WM-W-EU Funk-Wandthermostaten einen Aktor (Relais für Fußbodenheizungsventil) zu steuern.
Also eine simple Fußbodenheizungssteuerung in der Art

     IF Raumtemperatur < gewünschte Temperatur THEN aktiviere Aktor

Ich bekomme die measured-temp und desired-temp jedoch nicht vom HM-TC-IT-WM-W-EU Funk-Wandthermostat in die DOIF oder THRESHOLD Bedingung übertragen ...

Ich habe es in dieser Art versucht:
define TestHzReglerBuero DOIF ([Thermostat_BUERO:desired-temp] > [Thermostat_BUERO:measured-temp]) (set RELAIS on) DOELSEIF ([Thermostat_BUERO:desired-temp] < [Thermostat_BUERO:measured-temp]) (set RELAIS off)

Irgendjemand eine Idee ... gefunden habe ich nach Stunden suchen leider nichts.

VG ak323
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

Otto123

Hi,

kannst Du mal bitte ein list TestHzReglerBuero zeigen?
Ich nehme an RELAIS ist kein HM Aktor?
Ich würde es wie das Beispiel in der Doku ansetzen https://fhem.de/commandref_DE.html#DOIF_Weitere_Anwendungsbeispiele
define TestHzReglerBuero DOIF ([Thermostat_BUERO:measured-temp] < ([Thermostat_BUERO:desired-temp]-1)) (set RELAIS on) DOELSEIF ([Thermostat_BUERO:measured-temp] > ([Thermostat_BUERO:desired-temp]) (set RELAIS off)

Wobei Du einfach auch das Reading level vom Channel _SwitchTr auswerten könntest.

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

ak323

Hallo Otto,
hier mein list. Achtung RELAIS ist nur ein Ersatz für "set XXX on" ! Nein kein Homematic, sondern 1-Wire ..

Ein "get  Thermostat_BUERO param measured-temp" in der Kommandozeile liefert mir auch den richtigen Temperaturwert zurück !



Internals:
   DEF        ([Thermostat_BUERO:desired-temp] > [Thermostat_BUERO:measured-temp]) (set RELAIS on) DOELSEIF ([Thermostat_BUERO:desired-temp] < [Thermostat_BUERO:measured-temp]) (set RELAIS off)
   NAME       TestHzReglerBuero
   NR         432
   NTFY_ORDER 50-TestHzReglerBuero
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2019-11-03 22:30:54   Device          Thermostat_BUERO
     2019-11-02 22:26:48   cmd             1
     2019-11-02 22:26:48   cmd_event       Thermostat_BUERO
     2019-11-02 22:26:48   cmd_nr          1
     2019-11-03 22:30:54   e_Thermostat_BUERO_desired-temp 24.0
     2019-11-03 22:30:54   e_Thermostat_BUERO_measured-temp 22.3
     2019-11-02 22:26:48   error           set RELAIS on: Please define RELAIS first
     2019-11-02 22:26:48   state           cmd_1
   condition:
     0          ReadingValDoIf($hash,'Thermostat_BUERO','desired-temp') > ReadingValDoIf($hash,'Thermostat_BUERO','measured-temp')
     1          ReadingValDoIf($hash,'Thermostat_BUERO','desired-temp') < ReadingValDoIf($hash,'Thermostat_BUERO','measured-temp')
   devices:
     0           Thermostat_BUERO
     1           Thermostat_BUERO
     all         Thermostat_BUERO
   do:
     0:
       0          set RELAIS on
     1:
       0          set RELAIS off
   helper:
     event      desired-temp: 24.0,humidity: 50,measured-temp: 22.3,T: 22.3 desired: 24.0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Thermostat_BUERO
     timerevent desired-temp: 24.0,humidity: 50,measured-temp: 22.3,T: 22.3 desired: 24.0
     triggerDev Thermostat_BUERO
     timerevents:
       desired-temp: 24.0
       humidity: 50
       measured-temp: 22.3
       T: 22.3 desired: 24.0
     timereventsState:
       desired-temp: 24.0
       humidity: 50
       measured-temp: 22.3
       state: T: 22.3 desired: 24.0
     triggerEvents:
       desired-temp: 24.0
       humidity: 50
       measured-temp: 22.3
       T: 22.3 desired: 24.0
     triggerEventsState:
       desired-temp: 24.0
       humidity: 50
       measured-temp: 22.3
       state: T: 22.3 desired: 24.0
   internals:
   itimer:
   readings:
     0           Thermostat_BUERO:desired-temp Thermostat_BUERO:measured-temp
     1           Thermostat_BUERO:desired-temp Thermostat_BUERO:measured-temp
     all         Thermostat_BUERO:desired-temp Thermostat_BUERO:measured-temp
   regexp:
     0:
     1:
     all:
   state:
     STATE:
   trigger:
Attributes:
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

Otto123

FHEM/DOIF spricht doch mit Dir:
Please define RELAIS first  :-[
Und bitte Codetags nehmen! https://forum.fhem.de/index.php/topic,71806.0.html

Meinen Vorschlag (bzw. aus der Doku) den Zusatz mit der Hysterese musst Du unbedingt einbauen!!!
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

ak323

Otto you made my day !

Es funktioniert mit:
define TestHzReglerBuero DOIF ([Thermostat_BUERO:measured-temp] < ([Thermostat_BUERO:desired-temp]-1)) (set IO2 PIO.0 1) DOELSEIF ([Thermostat_BUERO:measured-temp] > [Thermostat_BUERO:desired-temp]) (set IO2 PIO.0 0)

DANKE !
RaspberryPi 2 im 19" Rack mit 16x2 i2c LCD, FHEM, diverse HomeMatic, 1-Wire (8x DS18B20, 3x DS2408, 2x DS2413, 5x DS2401, DS2423 ATTiny) über DS9490R#, Waterkotte Ai1QE (WWPR) Wärmepumpe über Modbus, WH1080 über Signalduino, 433MHz Funksteckdosen, WiFi RGBWW via Tasmota, ...

Otto123

Naja wenn das gerät dann mal da ist, ist es ganz einfach :)
Wie gesagt: Schau Dir mal das Reading level vom Channel _SwitchTr an.
Könnte so gehen (ungetestet) oder eigentlich auch noch viel einfacher :)
define TestHzReglerBuero DOIF ([Thermostat_BUERO_SwitchTr:level] > 0 ) (set IO2 PIO.0 1) DOELSEIF ([Thermostat_BUERO_SwitchTr:level] == 0) (set IO2 PIO.0 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