[gelöst] DOIF Vergleich von Temperaturen aktualisiert nicht mehr

Begonnen von mrnatcho, 22 Februar 2021, 19:31:51

Vorheriges Thema - Nächstes Thema

mrnatcho

Moin zusammen,

meine DOIF's zur Frage, ob ich meinen Keller lüften kann oder nicht, aktualisieren nicht mehr, nachdem sie den Winter über augenscheinlich den richtigen Status gezeigt haben.
Setup:
Ich habe zwei Temperatur-Sensoren, einen im Garten (Garten.Temp) und einen im Keller (Keller.Gartenzimmer.Temp), beide berechnen über das dewpoint Modul den Taupunkt. Im Keller sind die Wände ca. 6 Grad kälter als die Raumluft (an den relevanten Stellen, nicht überall), daher habe ich folgendes DOIF angelegt, dass dann ein Dummy Device setzt, welches ich im UI später anzeige.


Internals:
   DEF        ([Garten.Temp:dewpoint] > [Keller.Werkstatt.Temp:temperature - 6,0]) (set Keller.Werkstatt.Lueften Nicht) DOELSE (set Keller.Werkstatt.Lueften Lueften)
   FUUID      5ff5d814-f33f-fc15-0a47-0ecab58937f9d0c6
   MODEL      FHEM
   NAME       di_lueften_Werkstatt
   NOTIFYDEV  Keller.Werkstatt.Temp,global,Garten.Temp
   NR         101
   NTFY_ORDER 50-di_lueften_Werkstatt
   STATE      cmd_1
   TYPE       DOIF
   VERSION    23466 2021-01-03 17:14:46
   READINGS:
     2021-02-22 19:24:49   Device          Garten.Temp
     2021-02-22 07:32:01   cmd             1
     2021-02-22 07:32:01   cmd_event       Garten.Temp
     2021-02-22 07:32:01   cmd_nr          1
     2021-02-22 19:24:49   e_Garten.Temp_dewpoint 5.2
     2021-02-22 07:30:25   mode            enabled
     2021-02-22 07:32:01   state           cmd_1
   Regex:
     accu:
     cond:
       Garten.Temp:
         0:
           dewpoint   ^Garten.Temp$:^dewpoint:
       Keller.Werkstatt.Temp:
         0:
           temperature - 6 ^Keller.Werkstatt.Temp$:^temperature - 6:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'Garten.Temp','dewpoint') > ::ReadingValDoIf($hash,'Keller.Werkstatt.Temp','temperature - 6','0')
   do:
     0:
       0          set Keller.Werkstatt.Lueften Nicht
     1:
       0          set Keller.Werkstatt.Lueften Lueften
   helper:
     DEVFILTER  ^global$|^Keller.Werkstatt.Temp$|^Garten.Temp$
     NOTIFYDEV  global|Keller.Werkstatt.Temp|Garten.Temp
     event      temperature: 10,T: 10 H: 72,dewpoint: 5.2
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   Garten.Temp
     timerevent temperature: 10,T: 10 H: 72,dewpoint: 5.2
     triggerDev Garten.Temp
     timerevents:
       temperature: 10
       T: 10 H: 72
       dewpoint: 5.2
     timereventsState:
       temperature: 10
       state: T: 10 H: 72
       dewpoint: 5.2
     triggerEvents:
       temperature: 10
       T: 10 H: 72
       dewpoint: 5.2
     triggerEventsState:
       temperature: 10
       state: T: 10 H: 72
       dewpoint: 5.2
   internals:
   perlblock:
   readings:
     all         Garten.Temp:dewpoint Keller.Werkstatt.Temp:temperature - 6
   trigger:
   uiState:
   uiTable:
Attributes:
   devStateIcon cmd_1|initialize|initialized:ampel_rot cmd_2:ampel_gruen
   room       Keller.Werkstatt


Der Temperatursensor in der Keller.Werkstatt zeigt "temperature 16,1", der Taupunkt der Gartenluft ist bei 5,2. Demnach sollte doch cmd_2 rauskommen, und nicht cmd_1. War den ganzen Winter auch gut, erst als die Temperatur jetzt plötzlich anstieg und der Taupunkt der Außenluft >10 Grad war, ist das DOIF auf cmd_1 (ebenso wie zwei analoge DOIF in anderen Kellerräumen). Aber nicht mehr zurück. Ich habe auch schon mal das "do always" attribut bei einem der DOIF gesetzt. Das war es aber nicht.

Hat jemand eine Idee? Ich seh den Wald irgendwie vor lauter Bäumen nicht.

Beste Grüße
Natcho
FHEM auf Ubuntu Server VM auf Synology NAS, Yamaha MC's, Technoline Temperatur-Sensoren über Lacrosse GW's, HM-IP Devices über virtual CCU aus Raspberry Pi

Damian

kann so nie richtig funktioniert haben:

statt:

[Keller.Werkstatt.Temp:temperature - 6,0]

eher:

([Keller.Werkstatt.Temp:temperature] - 6)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

mrnatcho

Moin,

stimmt, so geht's. Scheinbar hat es dann nur zufälllig vorher den richtigen Zustand angezeigt, kein Plan warum es dann auch zuletzt den Zustand gewechselt hat. Jetzt sind die Anzeigen wieder richtig, mal sehen ob er morgen ordentlich umschaltet wenn es wieder wärmer wird.

Vielen Dank!

Natcho
FHEM auf Ubuntu Server VM auf Synology NAS, Yamaha MC's, Technoline Temperatur-Sensoren über Lacrosse GW's, HM-IP Devices über virtual CCU aus Raspberry Pi