Fehler bei Heizungssteuerung mithilfe externem Temperatursensor und doif

Begonnen von techblaster, 25 September 2019, 10:18:55

Vorheriges Thema - Nächstes Thema

techblaster

Guten Morgen zusammen,

ich betreibe FHEM mit Schnittstellen zu mehreren Welten, darunter: KNX/EIB und Homematic.
Die Heizkörper werden über einen Schaltaktor aus der KNX Welt angesprochen. (on:off) Die Temperatursteuerung übernahm bislang ein Wandthermostat ebenfalls aus der KNX Welt. Da mir aber nach und nach die Geräte defekt gehen suche ich nach einer wirtschaftlichen Alternative. Mein Plan hierzu: Die Themperatur mittels Homematic Sensor der zusätzlich im Raum steht in FHEM abgreifen und mittels einem Dummyregler dessen Wert zu vergleichen und dann den Schaltaktor final zu schalten.


Ich erhalte korrekte Daten aus dem Homematic Temperatursensor. Hier ist alles gut. Den Dummy habe ich mit einem Schieberegler für die Temperatur erstellt. Die gewählte Temperatur wird hier im Feld state abgelegt, das funktioniert also auch. Im DOIF gibt es allerdings ein Problem mit meiner Definition hier erhalte ich den Fehler: condition c01: Argument "" isn't numeric in numeric lt (<)
Mein Define sieht wie folgt aus: ([HM_Sensor_WTW26_1OG:1.TEMPERATURE] < [Vorwahl_Raumtemperatur_1.04:STATE]) (set EIB_4303 off) DOELSE (set EIB_4303 on)

"HM_Sensor_WTW26_1OG" ist der Name des Homematic Gerätes. "1.TEMPERATURE" ist das Reading mit dem Temperaturwert (bspw. 22.3 Grad).
"Vorwahl_Raumtemperatur_1.04" ist der Dummy mit dem Schieberegler für die Temperaturvorwahl.
"EIB_4303" ist der KNX Schaltaktor des Heizkörpers
Der Schaltaktor des Heizkörpers funktioniert umgekehrt. Ist der Status on ist der Heizkörper aus und andersrum. Das liegt daran weil es sich um einen thermischen Aktor handelt (Ausdehnung=Schliesser).q
Der Status des Heizkörpers ändert sich nicht, egal welche Temperatur ich am Schieberegler einstelle.

Hat jemand von Euch eine Idee was ich mal versuchsweise am Define des DOIF ändern kann oder was das Problem sein kann?

Viele Grüße

Wzut

1.TEMPERATURE als Reading Name schaut für mich komisch  aus (sowohl die 1. als auch die uc Schreibweise) , ich habe zwar keine HM WT , aber am HT findet sich die Info im Clima channel und trägt die Bezeichnung  measured-temp
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

CBSnake

hi,

wenn das Reading wirklich so lautet 22.3 Grad dann meckert das doif zurecht mit condition c01: Argument "" isn't numeric in numeric lt (<) es erwartet da ein 22.3
Es stört sich am Grad.
Ich meine mit [HM_Sensor_WTW26_1OG:1.TEMPERATURE:d] lässt sich das beheben bzw ignorieren, steht aber so auch in der Commandref :-)

Nachtrag:  [HM_Sensor_WTW26_1OG:1.TEMPERATURE:d] - das d muss klein geschrieben werden :-)

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen