gelöst: DOIF über FHEM2FHEM triggern

Begonnen von abc2006, 03 November 2018, 23:36:35

Vorheriges Thema - Nächstes Thema

abc2006

Hi,
ich habe ein FHEM2FHEM eingerichtet. Das entfernte FHEM liefert mir auf mein lokales FHEM folgende EVENTS:

2018-11-03 23:32:14.494 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161300118.00  cts B_r: 24.90  cts/s
2018-11-03 23:32:24.246 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:32:24.269 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:32:24.292 OWCOUNT OWX_1D_18DC84000003 B: 161300373
2018-11-03 23:32:24.371 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.2085868560355
2018-11-03 23:32:24.394 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:32:24.419 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161300373.00  cts B_r: 25.50  cts/s
2018-11-03 23:32:34.245 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:32:34.268 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:32:34.291 OWCOUNT OWX_1D_18DC84000003 B: 161300625
2018-11-03 23:32:34.373 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.2085719299501
2018-11-03 23:32:34.398 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:32:34.424 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161300625.00  cts B_r: 25.20  cts/s
2018-11-03 23:32:44.242 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:32:44.265 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:32:44.288 OWCOUNT OWX_1D_18DC84000003 B: 161300877
2018-11-03 23:32:44.365 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.2335284793063
2018-11-03 23:32:44.388 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:32:44.415 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161300877.00  cts B_r: 25.20  cts/s
2018-11-03 23:32:54.241 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:32:54.264 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:32:54.287 OWCOUNT OWX_1D_18DC84000003 B: 161301129
2018-11-03 23:32:54.363 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.2167506971068
2018-11-03 23:32:54.386 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:32:54.411 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161301129.00  cts B_r: 25.20  cts/s
2018-11-03 23:33:04.243 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:33:04.267 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:33:04.291 OWCOUNT OWX_1D_18DC84000003 B: 161301378
2018-11-03 23:33:04.371 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.216721971581
2018-11-03 23:33:04.396 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:33:04.524 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161301378.00  cts B_r: 24.90  cts/s
2018-11-03 23:33:14.242 OWCOUNT OWX_1D_18DC84000003 A: 78750
2018-11-03 23:33:14.265 OWCOUNT OWX_1D_18DC84000003 A_rate: 0
2018-11-03 23:33:14.289 OWCOUNT OWX_1D_18DC84000003 B: 161301630
2018-11-03 23:33:14.365 OWCOUNT OWX_1D_18DC84000003 B_rate: 25.1919918674989
2018-11-03 23:33:14.388 OWCOUNT OWX_1D_18DC84000003 memory:
2018-11-03 23:33:14.412 OWCOUNT OWX_1D_18DC84000003 A: 78750.00  cts A_r:  0.00  cts/s B: 161301630.00  cts B_r: 25.20  cts/s


usw.
Dadurch möchte ich die Berechnung von verschiedenen Werten antriggern. Das ganze hab ich bereits per Notify am laufen, möchte aber interessehalber (und vielleicht zur Vereinfachung) das ganze per DOIF lösen.
Dafür habe ich folgendes DOIF geschrieben:

Internals:
   CFGFN     
   DEF        ([OWX_1D_18DC84000003:B_rate])(setreading $SELF rate 12)
   MODEL      FHEM
   NAME       DF_WMZ_HZG_main
   NR         127520
   NTFY_ORDER 50-DF_WMZ_HZG_main
   STATE      initialized
   TYPE       DOIF
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_RuecklaufHK','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_VorlaufHK','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','VL')-::ReadingValDoIf($hash,'DF_WMZ_HZG_main','RL'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*3600*1.16*::ReadingValDoIf($hash,'DF_WMZ_HZG_main','deltaT'))
     work       (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*1.16*::ReadingSecDoIf('DF_WMZ_HZG_main','work'))
   READINGS:
     2018-11-03 23:34:34   Device          OWX_1D_18DC84000003
     2018-11-03 23:30:04   RL              25.19
     2018-11-03 23:25:37   VL              26.69
     2018-11-03 23:27:20   cmd             0
     2018-11-03 23:30:04   deltaT          1.5
     2018-11-03 23:15:23   literpromin     0
     2018-11-03 23:23:57   literprosec     A: 78750.00  cts A_r:  0.00  cts/s B: 161287523.00  cts B_r: 25.20  cts/s
     2018-11-03 23:27:20   mode            enabled
     2018-11-03 23:15:23   power           0
     2018-11-03 23:23:57   rate            A: 78750.00  cts A_r:  0.00  cts/s B: 161287523.00  cts B_r: 25.20  cts/s
     2018-11-03 23:27:20   state           initialized
     2018-11-03 23:15:23   work            0
   Regex:
     DOIF_Readings:
       DF_WMZ_HZG_main:
         deltaT:
           RL         ^DF_WMZ_HZG_main$:^RL:
           VL         ^DF_WMZ_HZG_main$:^VL:
         literpromin:
           rate       ^DF_WMZ_HZG_main$:^rate:
         literprosec:
           rate       ^DF_WMZ_HZG_main$:^rate:
         power:
           deltaT     ^DF_WMZ_HZG_main$:^deltaT:
           rate       ^DF_WMZ_HZG_main$:^rate:
         work:
           rate       ^DF_WMZ_HZG_main$:^rate:
           work       ^DF_WMZ_HZG_main$:^work:
       RE_TEMP_RuecklaufHK:
         RL:
           temperature ^RE_TEMP_RuecklaufHK$:^temperature:
       RE_TEMP_VorlaufHK:
         VL:
           temperature ^RE_TEMP_VorlaufHK$:^temperature:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::ReadingValDoIf($hash,'OWX_1D_18DC84000003','B_rate')
   devices:
     0           OWX_1D_18DC84000003
     all         OWX_1D_18DC84000003
   do:
     0:
       0          setreading DF_WMZ_HZG_main rate 12
     1:
   helper:
     DOIF_Readings_events
     event      A: 78750.00  cts A_r:  0.00  cts/s B: 161303647.00  cts B_r: 24.90  cts/s
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev OWX_1D_18DC84000003
     triggerEvents:
       A: 78750.00  cts A_r:  0.00  cts/s B: 161303647.00  cts B_r: 24.90  cts/s
     triggerEventsState:
       A: 78750.00  cts A_r:  0.00  cts/s B: 161303647.00  cts B_r: 24.90  cts/s
   internals:
   itimer:
   readings:
     0           OWX_1D_18DC84000003:B_rate
     all         OWX_1D_18DC84000003:B_rate
   trigger:
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_VorlaufHK:temperature]),
RL:([RE_TEMP_RuecklaufHK:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
power:([$SELF:rate]*3600*1.16*[$SELF:deltaT]),
work:([$SELF:rate]*1.16*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   do         always
   room       FHEM2FHEM,Heizung,_doif


Leider wird der Wert in DF_WMZ_HZG_main:rate nicht aktualisiert, wenn ein neues Event kommt.
Was mache ich hier falsch, bzw. was habe ich übersehen?

Danke für die Hilfe,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

Eher zufällig bin ich grade doch noch drauf gestoßen, dass das Event falsch angegeben war: im B_rate: hängt noch der Doppelpunkt mit dran.
So gehts jetzt:

Internals:
   CFGFN     
   DEF        ([OWX_1D_18DC84000003:"B_rate"])
({
my ($a1,$b1) = split(" ", "$EVENT");
fhem("setreading $SELF rate $b1");
})
   MODEL      FHEM
   NAME       DF_WMZ_HZG_main
   NR         127520
   NTFY_ORDER 50-DF_WMZ_HZG_main
   STATE      cmd_1
   TYPE       DOIF
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_RuecklaufHK','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_VorlaufHK','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','VL')-::ReadingValDoIf($hash,'DF_WMZ_HZG_main','RL'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*3600*1.16*::ReadingValDoIf($hash,'DF_WMZ_HZG_main','deltaT'))
     work       (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*1.16*::ReadingSecDoIf('DF_WMZ_HZG_main','work'))
   READINGS:
     2018-11-03 23:50:14   Device          OWX_1D_18DC84000003
     2018-11-03 23:48:01   RL              25.25
     2018-11-03 23:25:37   VL              26.69
     2018-11-03 23:50:14   cmd             1
     2018-11-03 23:50:14   cmd_event       OWX_1D_18DC84000003
     2018-11-03 23:50:14   cmd_nr          1
     2018-11-03 23:48:01   deltaT          1.44
     2018-11-03 23:50:14   e_OWX_1D_18DC84000003_events A: 78750.00  cts A_r:  0.00  cts/s B: 161327331.00  cts B_r: 25.50  cts/s
     2018-11-03 23:50:14   literpromin     1508.02449099482
     2018-11-03 23:50:14   literprosec     25.1337415165803
     2018-11-03 23:48:25   mode            enabled
     2018-11-03 23:50:14   power           151140.246585465
     2018-11-03 23:50:14   rate            25.1337415165803
     2018-11-03 23:50:14   state           cmd_1
     2018-11-03 23:50:14   work            0
   Regex:
     DOIF_Readings:
       DF_WMZ_HZG_main:
         deltaT:
           RL         ^DF_WMZ_HZG_main$:^RL:
           VL         ^DF_WMZ_HZG_main$:^VL:
         literpromin:
           rate       ^DF_WMZ_HZG_main$:^rate:
         literprosec:
           rate       ^DF_WMZ_HZG_main$:^rate:
         power:
           deltaT     ^DF_WMZ_HZG_main$:^deltaT:
           rate       ^DF_WMZ_HZG_main$:^rate:
         work:
           rate       ^DF_WMZ_HZG_main$:^rate:
           work       ^DF_WMZ_HZG_main$:^work:
       RE_TEMP_RuecklaufHK:
         RL:
           temperature ^RE_TEMP_RuecklaufHK$:^temperature:
       RE_TEMP_VorlaufHK:
         VL:
           temperature ^RE_TEMP_VorlaufHK$:^temperature:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('OWX_1D_18DC84000003',$hash,'B_rate',1)
   devices:
     0           OWX_1D_18DC84000003
     all         OWX_1D_18DC84000003
   do:
     0:
       0          { my ($a1,$b1) = split(" ", "$EVENT"); fhem("setreading DF_WMZ_HZG_main rate $b1"); }
     1:
   helper:
     DOIF_Readings_events
     event      A: 78750.00  cts A_r:  0.00  cts/s B: 161327331.00  cts B_r: 25.50  cts/s
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   OWX_1D_18DC84000003
     timerevent B_rate: 25.1337415165803
     triggerDev OWX_1D_18DC84000003
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: OWX_1D_18DC84000003
       state: cmd_1
     timerevents:
       B_rate: 25.1337415165803
     timereventsState:
       B_rate: 25.1337415165803
     triggerEvents:
       A: 78750.00  cts A_r:  0.00  cts/s B: 161327331.00  cts B_r: 25.50  cts/s
     triggerEventsState:
       A: 78750.00  cts A_r:  0.00  cts/s B: 161327331.00  cts B_r: 25.50  cts/s
   internals:
   itimer:
   readings:
   trigger:
     all         OWX_1D_18DC84000003
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_VorlaufHK:temperature]),
RL:([RE_TEMP_RuecklaufHK:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
power:([$SELF:rate]*3600*1.16*[$SELF:deltaT]),
work:([$SELF:rate]*1.16*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   do         always
   room       FHEM2FHEM,Heizung,_doif
   selftrigger all

FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

Nochmal Verständnishalber:

in der Commandref steht:

ZitatIn der Bedingung und im Ausführungsteil werden die Schlüsselwörter $SELF durch den eigenen Namen des DOIF-Moduls, $DEVICE durch das aktuelle Device, $EVENT durch die passende Eventzeile, $EVENTS kommagetrennt durch alle Eventzeilen des Triggers ersetzt.

Entsprechend können Perl-Variablen in der DOIF-Bedingung ausgewertet werden, sie werden in Kleinbuchstaben geschrieben. Sie lauten: $device, $event, $events

Anscheinend werden die Perl-Variablen im Ausführungsteil allerdings ebenfalls GROSS geschrieben...
Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

Zitat von: abc2006 am 04 November 2018, 19:48:04
Nochmal Verständnishalber:

in der Commandref steht:

Anscheinend werden die Perl-Variablen im Ausführungsteil allerdings ebenfalls GROSS geschrieben...
Grüße,
Stephan

$EVENT ist keine Perl-Variable, es ist ein Ausdruck, der gnadenlos gegen eine Zeichenkette ersetzt wird, damit es auch auf der FHEM-Ebene funktioniert.

Dagegen ist $event eine echte Perlvariable, daher würde:


my ($a1,$b1) = split(" ", "$EVENT");


auch so funktionieren:

my ($a1,$b1) = split(" ", $event);


dagegen würde das nicht funktionieren:

my ($a1,$b1) = split(" ", $EVENT);


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

abc2006

Hey,
danke für deine Antwort.
Ich denke, es ist wirklich ein Verständnisproblem.

Im Bedingungsteil kann ich schreiben ([FHEM-Modus-Device:FHEM-Modus-Reading]) oder ({Perl Modus}).
Im FHEM-Modus funktioniert $EVENT (weil ersetzt durch Zeichenkette), im Perl-Modus $event als echte variable (die die Zeichenkette beinhaltet).

Im Ausführungsteil habe ich aber doch ebenfalls ([FHEM-Modus-Device:FHEM-Modus-Reading]) oder ({Perl Modus}).
UUnd hier hätte ich erwartet, dass (so wie im FHEM-Modus ja $EVENT ersetzt wird) auch $event als perl-Variable zur Verfügung steht...

Zu deinem Code: das zweite Beispiel, bei dem du sagst, es würde auch funktionieren, hatte ich die Fehlermeldung "Vielleicht haben Sie vergessen, $event zu deklarieren?"

Bin grad auf arbeit, kanns nicht nachstellen. schau ich mir morgen nochmal an. Wenn du sagst, dass es funktionieren sollte, dann hab ich wahrscheinlich nen Fehler drin gehabt...

Danke für deine Erklärung, ich weiss auch nicht, warum ich mich in manchen Dingen soo schwer tue ...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

abc2006

Hi Damian,
anbei nochmal ein list. Ich habe das "$EVENT" (inklusive "") gegen $event (ohne "") ersetzt.

Nun erhalte ich die Fehlermeldung, ob ich vergessen hätte, $event zu deklarieren. Siehe List.

Was mach ich verkehrt?

Danke und Grüße,
Stephan


Internals:
   DEF        ([OWX_1D_18DC84000003:"B_rate"])({
my ($a1,$b1) = split(" ", $event);
$b1 = $b1/52;
fhem("setreading $SELF rate $b1");
})
   MODEL      FHEM
   NAME       DF_WMZ_HZG_main
   NR         829
   NTFY_ORDER 50-DF_WMZ_HZG_main
   STATE      2109
   TYPE       DOIF
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_RuecklaufHK','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_VorlaufHK','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','VL')-::ReadingValDoIf($hash,'DF_WMZ_HZG_main','RL'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate'))
     p1         (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*3600*1.16*::ReadingValDoIf($hash,'DF_WMZ_HZG_main','deltaT'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','p1','','d0'))
     work       (::ReadingValDoIf($hash,'DF_WMZ_HZG_main','rate')*1.16*::ReadingSecDoIf('DF_WMZ_HZG_main','work'))
   READINGS:
     2018-11-06 23:54:25   Device          OWX_1D_18DC84000003
     2018-11-06 23:36:09   RL              24.06
     2018-11-06 23:52:43   VL              25.25
     2018-11-06 23:54:25   cmd             1
     2018-11-06 23:54:25   cmd_event       OWX_1D_18DC84000003
     2018-11-06 23:54:25   cmd_nr          1
     2018-11-06 23:52:43   deltaT          1.19
     2018-11-06 23:54:25   e_OWX_1D_18DC84000003_events A: 78899.00  cts A_r:  0.00  cts/s B: 167309575.00  cts B_r: 22.20  cts/s
     2018-11-06 23:54:25   error           { my ($a1,$b1) = split(" ", $event); $b1 = $b1/52; fhem("setreading DF_WMZ_HZG_main rate $b1"); }: Global symbol "$event" requires explicit package name (did you forget to declare "my $event"?) at (eval 1846470) line 1.

     2018-11-06 23:54:05   literpromin     25.4616377606685
     2018-11-06 23:54:05   literprosec     0.424360629344475
     2018-11-06 23:54:12   mode            enabled
     2018-11-06 23:54:05   p1              2108.83468588961
     2018-11-06 23:54:05   power           2109
     2018-11-06 23:54:05   rate            0.424360629344475
     2018-11-06 23:54:25   state           cmd_1
     2018-11-06 23:54:05   work            0
   Regex:
     DOIF_Readings:
       DF_WMZ_HZG_main:
         deltaT:
           RL         ^DF_WMZ_HZG_main$:^RL:
           VL         ^DF_WMZ_HZG_main$:^VL:
         literpromin:
           rate       ^DF_WMZ_HZG_main$:^rate:
         literprosec:
           rate       ^DF_WMZ_HZG_main$:^rate:
         p1:
           deltaT     ^DF_WMZ_HZG_main$:^deltaT:
           rate       ^DF_WMZ_HZG_main$:^rate:
         power:
           p1         ^DF_WMZ_HZG_main$:^p1:
         work:
           rate       ^DF_WMZ_HZG_main$:^rate:
           work       ^DF_WMZ_HZG_main$:^work:
       RE_TEMP_RuecklaufHK:
         RL:
           temperature ^RE_TEMP_RuecklaufHK$:^temperature:
       RE_TEMP_VorlaufHK:
         VL:
           temperature ^RE_TEMP_VorlaufHK$:^temperature:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('OWX_1D_18DC84000003',$hash,'B_rate',1)
   devices:
     0           OWX_1D_18DC84000003
     all         OWX_1D_18DC84000003
   do:
     0:
       0          { my ($a1,$b1) = split(" ", $event); $b1 = $b1/52; fhem("setreading DF_WMZ_HZG_main rate $b1"); }
     1:
   helper:
     event      A: 78899.00  cts A_r:  0.00  cts/s B: 167309575.00  cts B_r: 22.20  cts/s
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   OWX_1D_18DC84000003
     timerevent B_rate: 22.0670332944319
     triggerDev OWX_1D_18DC84000003
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: OWX_1D_18DC84000003
       error: { my ($a1,$b1) = split(" ", $event); $b1 = $b1/52; fhem("setreading DF_WMZ_HZG_main rate $b1"); }: Global symbol "$event" requires explicit package name (did you forget to declare "my $event"?) at (eval 1846470) line 1.

       state: cmd_1
     timerevents:
       B_rate: 22.0670332944319
     timereventsState:
       B_rate: 22.0670332944319
     triggerEvents:
       A: 78899.00  cts A_r:  0.00  cts/s B: 167309575.00  cts B_r: 22.20  cts/s
     triggerEventsState:
       A: 78899.00  cts A_r:  0.00  cts/s B: 167309575.00  cts B_r: 22.20  cts/s
   internals:
   itimer:
   readings:
   trigger:
     all         OWX_1D_18DC84000003
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_VorlaufHK:temperature]),
RL:([RE_TEMP_RuecklaufHK:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
p1:([$SELF:rate]*3600*1.16*[$SELF:deltaT]),
power:([$SELF:p1:d0]),
work:([$SELF:rate]*1.16*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   do         always
   room       FHEM2FHEM,Heizung,_doif
   selftrigger all
   stateFormat power
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX