DOIF funktioniert nicht mit 1-Wire Tempsensor. Was mache ich falsch?

Begonnen von @MosWare, 15 Oktober 2014, 11:05:46

Vorheriges Thema - Nächstes Thema

@MosWare

Hallo zusammen,

ich versuche ein Ausgang temperaturabhängig über den 1-Wire DS18B20 zu steuern.
Die Temperatur wird in fhem auch angezeigt.
Der Ausgang ist über fhem schaltbar und funktioniert.
Habe DOIF aus der Commandref übernommen und ,,sensor:" vorangestellt.
Die Konfiguration sieht so aus:

define FRM_OWX OWX 12
attr FRM_OWX IODev Arduino
attr FRM_OWX room 1-Wire

define TempSensor_1 OWTHERM DS18B20 D58807050000
attr TempSensor_1 IODev FRM_OWX
attr TempSensor_1 interval 10
attr TempSensor_1 model DS18B20
attr TempSensor_1 room OWX

define di_tempstate DOIF ([sensor:TempSensor_1]<21) (set Ausgang_05 on) DOELSEIF ([sensor:TempSensor_1]>22) (set Ausgang_05 off)


Aber ob mit oder ohne ,,sensor:" der Ausgang wird nicht entsprechend den Bedingungen geschaltet.
Wenn ich statt ,,Ausgang_05" irgendwas undefiniertes eingebe, dann kommt auch keine Fehlermeldung.
Hat da vielleicht jemand einen Tipp?

Beste Grüße
@MosWare

sentinel1

Hallo,

probiere mal so:

define di_tempstate DOIF ([TempSensor_1:temperature] < 21) (set Ausgang_05 on) DOELSEIF ([TempSensor_1:temperature] > 22) (set Ausgang_05 off)

evtl. musst "temperature" durch das Reading ersetzen was bei TempSensor_1 die temperatur angibt.

gruß,
Claudiu




@MosWare

Hallo Claudiu,

So funktioniert es!
Habe fälschlicher Weise angenommen "sensor" ist die grundsätzliche Deklaration für jeden Sensorwert innerhalb der eckigen Klammern.

Danke für den Tipp!

Gruß
@MosWare