FHEM Absturz nach DOIF Änderung und checkall

Begonnen von Morgennebel, 20 September 2019, 17:08:19

Vorheriges Thema - Nächstes Thema

hackepeter

#30
Zitat von: Damian am 22 September 2019, 23:05:48
Ich bin der Meinung, dass diese Definition nie richtig funktionieren konnte (wenn dann eher zufällig), da du einen Status abfragst, den es offenbar nicht gibt. Stell das bitte auf Eventabfrage um: [GaragentorState:"Longpress: on"]

Sorry, es war der falsche Link...

https://youtu.be/guNdmmsnUM8

Ich probiere es aber trotzdem morgen früh nochmal...

abc2006

Moin,
ich muss mich hier vermutlich auch mal ranhängen:
Mein DOIF (["^OWX_1D_18DC84000003$:^A_rate"] && ([{sunrise()}-{sunset("3600")}])) triggert nicht mehr auf die FHEM2FHEM-Events:
Zitat2019-09-23 11:51:37.206 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334074334592

Ist seit ein paar Tagen so, hab mich aber erstmal nur gewundert, nicht gesucht. Heute hatte ich Zeit, und auch ein minimal-DOIF, was nur auf ["^OWX_1D_18DC84000003$:^A_rate"]  triggern soll, tut nichts.

komplettes DOIF ist unten anbei, ich habe jetzt gerade ein update gemacht:
Zitat98_DOIF.pm            20229 2019-09-22 18:55:46Z Damian

Bin ich von dem Problem betroffen oder muss ich woanders suchen? Das DOIF hat jahrelang einwandfrei funktioniert.

Danke und Grüße,
Stephan

Internals:
   DEF        (["^OWX_1D_18DC84000003$:^A_rate"] && ([{sunrise()}-{sunset("3600")}]))
({
my ($a1,$b1) = split(" ", "$EVENT");
fhem("setreading $SELF rate $b1");

my $power = [$SELF:power];
my $power_sec = [$SELF:power:sec];
my $work = [$SELF:work];
my $deltawork = (( $power * $power_sec ) / 3600 / 1000 );
my $totalwork = $deltawork + $work;
fhem("setreading $SELF lastdeltawork $deltawork");
fhem("setreading $SELF work $totalwork");
})
DOELSEIF([23:59])
(
setreading $SELF solarerwartung_heute [wetter_prop:fc0_prg_ges],
setreading $SELF solarerwartung_morgen [wetter_prop:fc1_prg_ges],
setreading $SELF solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges],
setreading $SELF workDay [$SELF:work],
setreading $SELF work 0
)
DOELSE
(
setreading $SELF rate 0
)
   FUUID      5c844715-f33f-4040-d4c8-602d2be86c1a37b3
   MODEL      FHEM
   NAME       DF_WMZ_Solar
   NOTIFYDEV  global,OWX_1D_18DC84000003,RE_TEMP_Vorlauf_Solar,RE_TEMP_Ruecklauf_Solar,DF_WMZ_Solar
   NR         476
   NTFY_ORDER 50-DF_WMZ_Solar
   STATE      0 W
   TYPE       DOIF
   VERSION    20229 2019-09-22 18:55:46
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_Ruecklauf_Solar','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_Vorlauf_Solar','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_Solar','VL')-::ReadingValDoIf($hash,'DF_WMZ_Solar','RL'))
     lastdeltawork (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*1.05*::ReadingSecDoIf('DF_WMZ_Solar','work'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate'))
     p1         (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*3600*1.05*::ReadingValDoIf($hash,'DF_WMZ_Solar','deltaT'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_Solar','p1','','d0'))
   READINGS:
     2019-09-21 09:13:57   Device          OWX_1D_18DC84000003
     2019-09-23 11:53:59   RL              35.31
     2019-09-23 11:54:02   VL              38.56
     2019-09-23 06:39:29   cmd             3
     2019-09-23 06:39:29   cmd_event       timer_1
     2019-09-23 06:39:29   cmd_nr          3
     2019-09-23 11:54:02   deltaT          3.25
     2019-09-21 09:13:57   lastdeltawork   0
     2019-09-21 21:00:11   literpromin     0
     2019-09-21 21:00:11   literprosec     0
     2019-09-21 21:00:11   p1              0
     2019-09-21 21:00:27   power           0
     2019-09-23 06:39:29   rate            0
     2019-09-22 23:59:00   solarerwartung_heute 33
     2019-09-22 23:59:00   solarerwartung_morgen 19
     2019-09-22 23:59:00   solarerwartung_uebermorgen 25
     2019-09-23 06:39:29   state           cmd_3
     2019-09-23 11:49:31   timer_01_c01    24.09.2019 06:41:01
     2019-09-23 11:49:31   timer_02_c01    23.09.2019 20:55:42
     2019-09-23 11:49:31   timer_03_c02    23.09.2019 23:59:00
     2019-09-22 23:59:00   work            0
     2019-09-22 23:59:00   workDay         0
   Regex:
     DOIF_Readings:
       DF_WMZ_Solar:
         deltaT:
           RL         ^DF_WMZ_Solar$:^RL:
           VL         ^DF_WMZ_Solar$:^VL:
         lastdeltawork:
           rate       ^DF_WMZ_Solar$:^rate:
           work       ^DF_WMZ_Solar$:^work:
         literpromin:
           rate       ^DF_WMZ_Solar$:^rate:
         literprosec:
           rate       ^DF_WMZ_Solar$:^rate:
         p1:
           deltaT     ^DF_WMZ_Solar$:^deltaT:
           rate       ^DF_WMZ_Solar$:^rate:
         power:
           p1         ^DF_WMZ_Solar$:^p1:
       RE_TEMP_Ruecklauf_Solar:
         RL:
           temperature ^RE_TEMP_Ruecklauf_Solar$:^temperature:
       RE_TEMP_Vorlauf_Solar:
         VL:
           temperature ^RE_TEMP_Vorlauf_Solar$:^temperature:
     accu:
     cond:
       :
         0:
           "^OWX_1D_18DC84000003$:^A_rate" ^OWX_1D_18DC84000003$:^A_rate
   condition:
     0          ::EventDoIf('^OWX_1D_18DC84000003$',$hash,'^A_rate',0) && (::DOIF_time($hash,0,1,$wday,$hms))
     1          ::DOIF_time_once($hash,2,$wday)
   days:
   do:
     0:
       0          { my ($a1,$b1) = split(" ", "$EVENT"); fhem("setreading DF_WMZ_Solar rate $b1");  my $power = [DF_WMZ_Solar:power]; my $power_sec = [DF_WMZ_Solar:power:sec]; my $work = [DF_WMZ_Solar:work]; my $deltawork = (( $power * $power_sec ) / 3600 / 1000 ); my $totalwork = $deltawork + $work; fhem("setreading DF_WMZ_Solar lastdeltawork $deltawork"); fhem("setreading DF_WMZ_Solar work $totalwork"); }
     1:
       0           setreading DF_WMZ_Solar solarerwartung_heute [wetter_prop:fc0_prg_ges], setreading DF_WMZ_Solar solarerwartung_morgen [wetter_prop:fc1_prg_ges], setreading DF_WMZ_Solar solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges], setreading DF_WMZ_Solar workDay [DF_WMZ_Solar:work], setreading DF_WMZ_Solar work 0
     2:
       0           setreading DF_WMZ_Solar rate 0
   helper:
     event      deltaT: 3.44,VL: 38.56,deltaT: 3.25
     globalinit 1
     last_timer 3
     sleeptimer -1
     triggerDev DF_WMZ_Solar
     DOIF_Readings_events:
       deltaT: 3.25
     DOIF_Readings_eventsState:
       deltaT: 3.25
     triggerEvents:
       deltaT: 3.44
       VL: 38.56
       deltaT: 3.25
     triggerEventsState:
       deltaT: 3.44
       VL: 38.56
   interval:
     0          -1
     1          0
   intervalfunc:
   localtime:
     0          1569300061
     1          1569264942
     2          1569275940
   perlblock:
   realtime:
     0          06:41:01
     1          20:55:42
     2          23:59:00
   time:
     0          {sunrise()}
     1          {sunset("3600")}
     2          23:59:00
   timeCond:
     0          0
     1          0
     2          1
   timer:
     0          0
     1          0
     2          0
   timers:
     0           0  1
     1           2
   triggertime:
     1569264942:
       localtime  1569264942
       hash:
     1569275940:
       localtime  1569275940
       hash:
     1569300061:
       localtime  1569300061
       hash:
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_Vorlauf_Solar:temperature]),
RL:([RE_TEMP_Ruecklauf_Solar:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
p1:([$SELF:rate]*3600*1.05*[$SELF:deltaT]),
power:([$SELF:p1:d0]),
lastdeltawork:([$SELF:rate]*1.05*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   DbLogInclude power,literpromin
   do         always
   room       Counter,FHEM2FHEM,Solar,_doif
   selftrigger all
   stateFormat power W
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

#32
Dann teste mal das DOIF erst mal mit einem Trigger:

trigger OWX_1D_18DC84000003 A_rate: 0.1

Wenn das funktioniert, dann haben wir ein grundsätzliches Problem.

Edit: Ich habe kein fhem2fhem laufen, daher kann ich nur mit einem Dummy namens OWX_1D_18DC84000003 testen

trigger OWX_1D_18DC84000003 A_rate: 0.1

funktioniert bei mir wie gewünscht:

Internals:
   CFGFN     
   DEF        (["^OWX_1D_18DC84000003$:^A_rate"]) (set bla on)
   MODEL      FHEM
   NAME       di_fhem2fhem
   NOTIFYDEV  global,OWX_1D_18DC84000003
   NR         1485
   NTFY_ORDER 50-di_fhem2fhem
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2019-09-23 13:10:40   Device          OWX_1D_18DC84000003
     2019-09-23 13:10:40   cmd             1
     2019-09-23 13:10:40   cmd_event       OWX_1D_18DC84000003
     2019-09-23 13:10:40   cmd_nr          1
     2019-09-23 13:10:37   mode            enabled
     2019-09-23 13:10:40   state           cmd_1
   Reg ...

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

abc2006

Hi,
ich schmeiss mal mit Infos:

Raspi namens hzfhem, hat ein FIRMATA-Device, über welches ein one-Wire-Zählerbaustein angeschlossen ist:
Internals:
   ASYNC      0
   DEF        DS2423 18DC84000003
   ERRCOUNT   0
   FUUID      5c84483f-f33f-0aaa-2585-a81d237b121ac4e7
   INTERVAL   10
   IODev      OWIO_13
   NAME       OWX_1D_18DC84000003
   NOTIFYDEV  global
   NR         22
   NTFY_ORDER 50-OWX_1D_18DC84000003
   OW_FAMILY  1D
   OW_ID      18DC84000003
   PRESENT    1
   ROM_ID     1D.18DC84000003.73
   STATE      A: 986227.00  cts A_r:  0.20  cts/s B: 680447866.00  cts B_r: 24.30  cts/s
   TYPE       OWCOUNT
   DATA:
     memory     
   READINGS:
     2019-09-23 16:26:57   A               986227
     2019-09-23 16:26:57   A_rate          0.133656717947117
     2019-09-23 16:26:57   B               680447866
     2019-09-23 16:26:57   B_rate          24.2189391933888
     2019-09-23 16:26:57   memory         
     2019-09-23 16:26:57   state           A: 986227.00  cts A_r:  0.20  cts/s B: 680447866.00  cts B_r: 24.30  cts/s
   owg_midnight:
     0
     0
   owg_str:
     
     
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     undef
     
     
   owg_val:
     986227
     680447866
Attributes:
   APeriod    second
   BPeriod    second
   IODev      OWIO_13
   comment    A=Solar Zähler;B=HZG Haus Zähler
   event-aggregator A_rate:10:linear:mean:60,B_rate:10:linear:mean:60
   event-on-change-reading A_rate,B_rate
   interval   10
   model      DS2423
   room       Firmata


Aktualisierung (durch pollen von FHEM) alle 10 Sekunden.

New-Fhem (weil es der Nachfolger von Main-Fhem ist;) erhält folgende Events per FHEM2FHEM:

2019-09-23 16:29:17.200 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334906953266
2019-09-23 16:29:27.197 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334873573312
2019-09-23 16:29:37.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334576898752
2019-09-23 16:29:47.265 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334198358463
2019-09-23 16:29:57.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133335681344216
2019-09-23 16:30:07.277 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336753098428
2019-09-23 16:30:17.197 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133337033115783
2019-09-23 16:30:28.203 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133337809402779
2019-09-23 16:30:37.274 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133338078744586
2019-09-23 16:30:47.195 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133337991547122
2019-09-23 16:30:57.193 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133335702941549
2019-09-23 16:31:07.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334698678674
2019-09-23 16:31:17.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333999741996
2019-09-23 16:31:27.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332569598988
2019-09-23 16:31:37.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332587613646
2019-09-23 16:31:47.193 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332588209718
2019-09-23 16:31:57.378 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332625561136
2019-09-23 16:32:07.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332623044387
2019-09-23 16:32:17.229 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333266920673
2019-09-23 16:32:27.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332766426641
2019-09-23 16:32:37.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332764770899
2019-09-23 16:32:47.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332757220712
2019-09-23 16:32:57.186 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332674305579
2019-09-23 16:33:07.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331986744543
2019-09-23 16:33:17.604 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332573436819
2019-09-23 16:33:27.272 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332417408669
2019-09-23 16:33:37.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333242078645
2019-09-23 16:33:47.245 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332418269672
2019-09-23 16:33:57.290 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332419329281
2019-09-23 16:34:07.218 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333304684448
2019-09-23 16:34:09.354 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.1
2019-09-23 16:34:17.214 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332446815105
2019-09-23 16:34:27.197 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.141666819982979
2019-09-23 16:34:37.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.141666796108391
2019-09-23 16:34:47.243 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333360354143
2019-09-23 16:34:57.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.14166677547872
2019-09-23 16:35:07.196 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.141666810777455
2019-09-23 16:35:17.363 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333007964648
2019-09-23 16:35:27.205 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333264922857
2019-09-23 16:35:37.240 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332722122445
2019-09-23 16:35:47.930 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332879873504
2019-09-23 16:35:57.197 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333239623415
2019-09-23 16:36:07.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332851196159
2019-09-23 16:36:17.351 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333498905635
2019-09-23 16:36:27.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333200277047
2019-09-23 16:36:37.562 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333831166206
2019-09-23 16:36:47.206 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333784541344
2019-09-23 16:36:57.250 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333462545698
2019-09-23 16:37:07.204 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333770104126
2019-09-23 16:37:17.217 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331663510811
2019-09-23 16:37:27.221 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331514889333
2019-09-23 16:37:37.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331232077329
2019-09-23 16:37:47.223 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331634308046
2019-09-23 16:37:57.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331654376513
2019-09-23 16:38:07.527 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331719350328
2019-09-23 16:38:17.203 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333493276561
2019-09-23 16:38:27.236 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333810239867
2019-09-23 16:38:37.205 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333434664182
2019-09-23 16:38:47.200 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133329962612454
2019-09-23 16:38:57.239 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133328596983189
2019-09-23 16:39:07.524 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133328943512263
2019-09-23 16:39:17.203 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133329864494052
2019-09-23 16:39:27.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333000479359


Wie man sehen kann, schön alle 10 Sekunden.

das doif DF_WMZ_Solar berechnet die DOIF_Readings zuverlässig, wenn sich einer der Lieferanten-Werte ändert - so wie es sein soll.
Das Reading "rate" hingegen hat um 14:50 das letzte mal ein update erhalten. (Korrektur: es gab ein weiteres update um 16:28; jetzt ist es bereits 16:33 ohne dass sich der Zeitstempel verändert hätte)

Internals:
   DEF        (["^OWX_1D_18DC84000003$:^A_rate"] && ([{sunrise()}-{sunset("3600")}]))
({
my ($a1,$b1) = split(" ", "$EVENT");
fhem("setreading $SELF rate $b1");

my $power = [$SELF:power];
my $power_sec = [$SELF:power:sec];
my $work = [$SELF:work];
my $deltawork = (( $power * $power_sec ) / 3600 / 1000 );
my $totalwork = $deltawork + $work;
fhem("setreading $SELF lastdeltawork $deltawork");
fhem("setreading $SELF work $totalwork");
})
DOELSEIF([23:59])
(
setreading $SELF solarerwartung_heute [wetter_prop:fc0_prg_ges],
setreading $SELF solarerwartung_morgen [wetter_prop:fc1_prg_ges],
setreading $SELF solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges],
setreading $SELF workDay [$SELF:work],
setreading $SELF work 0
)
DOELSE
(
setreading $SELF rate 0
)
   FUUID      5c844715-f33f-4040-d4c8-602d2be86c1a37b3
   MODEL      FHEM
   NAME       DF_WMZ_Solar
   NOTIFYDEV  global,OWX_1D_18DC84000003,RE_TEMP_Vorlauf_Solar,RE_TEMP_Ruecklauf_Solar,DF_WMZ_Solar
   NR         476
   NTFY_ORDER 50-DF_WMZ_Solar
   STATE      882 W
   TYPE       DOIF
   VERSION    20229 2019-09-22 18:55:46
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_Ruecklauf_Solar','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_Vorlauf_Solar','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_Solar','VL')-::ReadingValDoIf($hash,'DF_WMZ_Solar','RL'))
     lastdeltawork (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*1.05*::ReadingSecDoIf('DF_WMZ_Solar','work'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate'))
     p1         (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*3600*1.05*::ReadingValDoIf($hash,'DF_WMZ_Solar','deltaT'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_Solar','p1','','d0'))
   Helper:
     DBLOG:
       literpromin:
         logdb:
           TIME       1569248897.29532
           VALUE      7.99998529334802
       power:
         logdb:
           TIME       1569248897.29532
           VALUE      1008
   READINGS:
     2019-09-23 16:28:17   Device          OWX_1D_18DC84000003
     2019-09-23 16:29:49   RL              37.81
     2019-09-23 16:30:21   VL              39.50
     2019-09-23 16:28:17   cmd             1
     2019-09-23 16:28:17   cmd_event       OWX_1D_18DC84000003
     2019-09-23 16:28:17   cmd_nr          1
     2019-09-23 16:30:21   deltaT          1.69
     2019-09-23 16:28:17   lastdeltawork   0
     2019-09-23 16:28:17   literpromin     7.99998529334802
     2019-09-23 16:28:17   literprosec     0.133333088222467
     2019-09-23 16:29:52   p1              881.998378591619
     2019-09-23 16:29:52   power           882
     2019-09-23 16:28:17   rate            0.133333088222467
     2019-09-22 23:59:00   solarerwartung_heute 33
     2019-09-22 23:59:00   solarerwartung_morgen 19
     2019-09-22 23:59:00   solarerwartung_uebermorgen 25
     2019-09-23 16:28:17   state           cmd_1
     2019-09-23 11:49:31   timer_01_c01    24.09.2019 06:41:01
     2019-09-23 11:49:31   timer_02_c01    23.09.2019 20:55:42
     2019-09-23 11:49:31   timer_03_c02    23.09.2019 23:59:00
     2019-09-23 16:28:17   work            0.0420019444444445
     2019-09-22 23:59:00   workDay         0
   Regex:
     DOIF_Readings:
       DF_WMZ_Solar:
         deltaT:
           RL         ^DF_WMZ_Solar$:^RL:
           VL         ^DF_WMZ_Solar$:^VL:
         lastdeltawork:
           rate       ^DF_WMZ_Solar$:^rate:
           work       ^DF_WMZ_Solar$:^work:
         literpromin:
           rate       ^DF_WMZ_Solar$:^rate:
         literprosec:
           rate       ^DF_WMZ_Solar$:^rate:
         p1:
           deltaT     ^DF_WMZ_Solar$:^deltaT:
           rate       ^DF_WMZ_Solar$:^rate:
         power:
           p1         ^DF_WMZ_Solar$:^p1:
       RE_TEMP_Ruecklauf_Solar:
         RL:
           temperature ^RE_TEMP_Ruecklauf_Solar$:^temperature:
       RE_TEMP_Vorlauf_Solar:
         VL:
           temperature ^RE_TEMP_Vorlauf_Solar$:^temperature:
     accu:
     cond:
       :
         0:
           "^OWX_1D_18DC84000003$:^A_rate" ^OWX_1D_18DC84000003$:^A_rate
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('^OWX_1D_18DC84000003$',$hash,'^A_rate',0) && (::DOIF_time($hash,0,1,$wday,$hms))
     1          ::DOIF_time_once($hash,2,$wday)
   days:
   do:
     0:
       0          { my ($a1,$b1) = split(" ", "$EVENT"); fhem("setreading DF_WMZ_Solar rate $b1");  my $power = [DF_WMZ_Solar:power]; my $power_sec = [DF_WMZ_Solar:power:sec]; my $work = [DF_WMZ_Solar:work]; my $deltawork = (( $power * $power_sec ) / 3600 / 1000 ); my $totalwork = $deltawork + $work; fhem("setreading DF_WMZ_Solar lastdeltawork $deltawork"); fhem("setreading DF_WMZ_Solar work $totalwork"); }
     1:
       0           setreading DF_WMZ_Solar solarerwartung_heute [wetter_prop:fc0_prg_ges], setreading DF_WMZ_Solar solarerwartung_morgen [wetter_prop:fc1_prg_ges], setreading DF_WMZ_Solar solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges], setreading DF_WMZ_Solar workDay [DF_WMZ_Solar:work], setreading DF_WMZ_Solar work 0
     2:
       0           setreading DF_WMZ_Solar rate 0
   helper:
     event      VL: 39.50
     globalinit 1
     last_timer 3
     sleeptimer -1
     timerdev   OWX_1D_18DC84000003
     timerevent A_rate: 0.133333088222467
     triggerDev DF_WMZ_Solar
     DOIF_Readings_events:
       deltaT: 1.69
     DOIF_Readings_eventsState:
       deltaT: 1.69
     timerevents:
       A_rate: 0.133333088222467
     timereventsState:
       A_rate: 0.133333088222467
     triggerEvents:
       VL: 39.50
       deltaT: 1.69
     triggerEventsState:
       VL: 39.50
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   localtime:
     0          1569300061
     1          1569264942
     2          1569275940
   perlblock:
   readings:
   realtime:
     0          06:41:01
     1          20:55:42
     2          23:59:00
   time:
     0          {sunrise()}
     1          {sunset("3600")}
     2          23:59:00
   timeCond:
     0          0
     1          0
     2          1
   timer:
     0          0
     1          0
     2          0
   timers:
     0           0  1
     1           2
   trigger:
   triggertime:
     1569264942:
       localtime  1569264942
       hash:
     1569275940:
       localtime  1569275940
       hash:
     1569300061:
       localtime  1569300061
       hash:
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_Vorlauf_Solar:temperature]),
RL:([RE_TEMP_Ruecklauf_Solar:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
p1:([$SELF:rate]*3600*1.05*[$SELF:deltaT]),
power:([$SELF:p1:d0]),
lastdeltawork:([$SELF:rate]*1.05*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   DbLogInclude power,literpromin
   do         always
   room       Counter,FHEM2FHEM,Solar,_doif
   selftrigger all
   stateFormat power W


Jetzt hab ich mal ein trigger OWX_1D_18DC84000003 A_rate: 0.1 ausgeführt, auf hzfhem, weil es auf New-Fhem die Fehlermeldung
ZitatPlease define OWX_1D_18DC84000003 first
wirft.

Das ganze kommt im Event-Monitor auch einwandfrei an:
Zitat2019-09-23 16:34:09.354 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.1
Leider aber nicht im DOIF:
Zitatrate   0.133333088222467   2019-09-23 16:28:17

Als nächstes werde ich in NewFHEM ein dummy namens OWX_1D_18DC84000003 erstellen. Dieses sollte dann ja automatisch alle Werte über FHEM2FHEM erhalten. Dann kann ich auch lokal auf NewFHEM ein "trigger .." ausführen. Melde mich.

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

abc2006

#34
So, das ging schnell:
define  OWX_1D_18DC84000003 dummy
und die aktualisierungen im DF_WMZ_Solar brummen wieder wie gewünscht.

Was mir dabei aufgefallen ist:
Ich hab noch so ein DOIF. Das macht im Prinzip genau das gleiche, nur nicht beschränkt auf den Tageszeitraum:
Internals:
   DEF        (["^OWX_1D_18DC84000003$:^B_rate"])({
my ($a1,$b1) = split(" ", "$EVENT");
$b1 = $b1/52;
fhem("setreading $SELF rate $b1");

my $power = [$SELF:power:d];
my $lastdeltawork_sec = [$SELF:lastdeltawork:sec];
fhem("setreading $SELF _lastdeltawork_sec $lastdeltawork_sec");
my $work = [$SELF:work:d];
my $deltawork = (( $power * $lastdeltawork_sec ) / 3600 / 1000 );
my $totalwork = $deltawork + $work;
fhem("setreading $SELF lastdeltawork $deltawork");
fhem("setreading $SELF work $totalwork");
})
DOELSEIF([23:59])
(
setreading $SELF workDay [$SELF:work],
setreading $SELF work 0
)
   FUUID      5c844715-f33f-4040-7cd6-92841e952dc0661d
   MODEL      FHEM
   NAME       DF_WMZ_HZG_main
   NOTIFYDEV  global,OWX_1D_18DC84000003,RE_TEMP_VorlaufHK,RE_TEMP_RuecklaufHK,DF_WMZ_HZG_main
   NR         477
   NTFY_ORDER 50-DF_WMZ_HZG_main
   STATE      956 W
   TYPE       DOIF
   VERSION    20229 2019-09-22 18:55:46
   CHANGED:
     power: 956
   CHANGEDWITHSTATE:
     power: 956
   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'))
   Helper:
     DBLOG:
       lastdeltawork:
         logdb:
           TIME       1569249787.40592
           VALUE      0.00266388888888889
       literpromin:
         logdb:
           TIME       1569249787.34286
           VALUE      27.4711678186731
   READINGS:
     2019-09-23 16:43:07   Device          OWX_1D_18DC84000003
     2019-09-23 16:31:22   RL              25.00
     2019-09-23 16:35:26   VL              25.50
     2019-09-23 16:43:07   _lastdeltawork_sec 10
     2019-09-23 16:43:07   cmd             1
     2019-09-23 16:43:07   cmd_event       OWX_1D_18DC84000003
     2019-09-23 16:43:07   cmd_nr          1
     2019-09-23 16:35:26   deltaT          0.5
     2019-09-23 16:43:07   lastdeltawork   0.00266388888888889
     2019-09-23 16:43:07   literpromin     27.4711678186731
     2019-09-23 16:43:07   literprosec     0.457852796977885
     2019-09-23 16:43:07   p1              955.996640089824
     2019-09-23 16:43:07   power           956
     2019-09-23 16:43:07   rate            0.457852796977885
     2019-09-23 16:43:07   state           cmd_1
     2019-09-23 11:49:31   timer_01_c02    23.09.2019 23:59:00
     2019-09-23 16:43:07   work            30.2372997222223
     2019-09-22 23:59:00   workDay         41.0245616666663
   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:
       RE_TEMP_RuecklaufHK:
         RL:
           temperature ^RE_TEMP_RuecklaufHK$:^temperature:
       RE_TEMP_VorlaufHK:
         VL:
           temperature ^RE_TEMP_VorlaufHK$:^temperature:
     accu:
     cond:
       :
         0:
           "^OWX_1D_18DC84000003$:^B_rate" ^OWX_1D_18DC84000003$:^B_rate
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('^OWX_1D_18DC84000003$',$hash,'^B_rate',0)
     1          ::DOIF_time_once($hash,0,$wday)
   days:
   do:
     0:
       0          { my ($a1,$b1) = split(" ", "$EVENT"); $b1 = $b1/52; fhem("setreading DF_WMZ_HZG_main rate $b1");  my $power = [DF_WMZ_HZG_main:power:d]; my $lastdeltawork_sec = [DF_WMZ_HZG_main:lastdeltawork:sec]; fhem("setreading DF_WMZ_HZG_main _lastdeltawork_sec $lastdeltawork_sec"); my $work = [DF_WMZ_HZG_main:work:d]; my $deltawork = (( $power * $lastdeltawork_sec ) / 3600 / 1000 ); my $totalwork = $deltawork + $work; fhem("setreading DF_WMZ_HZG_main lastdeltawork $deltawork"); fhem("setreading DF_WMZ_HZG_main work $totalwork"); }
     1:
       0           setreading DF_WMZ_HZG_main workDay [DF_WMZ_HZG_main:work], setreading DF_WMZ_HZG_main work 0
     2:
   helper:
     event      p1: 955.996640089824,literpromin: 27.4711678186731,literprosec: 0.457852796977885
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   OWX_1D_18DC84000003
     timerevent B_rate: 23.80834544285
     triggerDev DF_WMZ_HZG_main
     timerevents:
       B_rate: 23.80834544285
     timereventsState:
       B_rate: 23.80834544285
     triggerEvents:
       p1: 955.996640089824
       literpromin: 27.4711678186731
       literprosec: 0.457852796977885
     triggerEventsState:
       p1: 955.996640089824
       literpromin: 27.4711678186731
       literprosec: 0.457852796977885
   internals:
   intervalfunc:
   localtime:
     0          1569275940
   perlblock:
   readings:
   realtime:
     0          23:59:00
   time:
     0          23:59:00
   timeCond:
     0          1
   timer:
     0          0
   timers:
     1           0
   trigger:
   triggertime:
     1569275940:
       localtime  1569275940
       hash:
   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]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   DbLogInclude literpromin,power,lastdeltawork,workDay
   do         always
   event-on-change-reading power:10,.*
   room       Counter,FHEM2FHEM,Heizung,_doif
   selftrigger all
   stateFormat power W


Das wiederum funktioniert einwandfrei...
Leider nicht! Habe die Datenbank gewälzt, gleiches Problem.
Kann von mir aus erstmal so bleiben (mit dem Dummy) aber imho ist das nicht die gewünsche Verhaltensweise?

Edit: Die Event-Monitor-Liste sieht jetzt anders aus:

2019-09-23 16:35:57.197 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333239623415
2019-09-23 16:36:07.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133332851196159
2019-09-23 16:36:17.351 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333498905635
2019-09-23 16:36:27.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333200277047
2019-09-23 16:36:37.562 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333831166206
2019-09-23 16:36:47.206 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333784541344
2019-09-23 16:36:57.250 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333462545698
2019-09-23 16:37:07.204 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333770104126
2019-09-23 16:37:17.217 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331663510811
2019-09-23 16:37:27.221 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331514889333
2019-09-23 16:37:37.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331232077329
2019-09-23 16:37:47.223 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331634308046
2019-09-23 16:37:57.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331654376513
2019-09-23 16:38:07.527 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133331719350328
2019-09-23 16:38:17.203 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333493276561
2019-09-23 16:38:27.236 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333810239867
2019-09-23 16:38:37.205 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133333434664182
2019-09-23 16:38:47.200 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133329962612454
2019-09-23 16:38:57.239 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133328596983189
2019-09-23 16:39:07.524 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133328943512263
2019-09-23 16:39:17.203 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133329864494052
2019-09-23 16:39:27.202 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.13333000479359
2019-09-23 16:39:37.199 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133330690491819
2019-09-23 16:39:47.201 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133334836629386
2019-09-23 16:39:57.646 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336613913656
2019-09-23 16:40:07.198 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336294561514
2019-09-23 16:40:17.201 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336332314559
2019-09-23 16:40:27.200 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336358933193
2019-09-23 16:40:37.200 OWCOUNT OWX_1D_18DC84000003 A_rate: 0.133336294439143
2019-09-23 16:40:47.354 dummy OWX_1D_18DC84000003 A_rate: 0.133336236551109
2019-09-23 16:40:57.284 dummy OWX_1D_18DC84000003 A_rate: 0.133336459298852
2019-09-23 16:41:07.256 dummy OWX_1D_18DC84000003 A_rate: 0.133336182386221
2019-09-23 16:41:17.422 dummy OWX_1D_18DC84000003 A_rate: 0.133336114695782
2019-09-23 16:41:27.624 dummy OWX_1D_18DC84000003 A_rate: 0.133335881742548
2019-09-23 16:41:37.276 dummy OWX_1D_18DC84000003 A_rate: 0.133335829496031
2019-09-23 16:41:47.257 dummy OWX_1D_18DC84000003 A_rate: 0.133334432287637
2019-09-23 16:41:57.255 dummy OWX_1D_18DC84000003 A_rate: 0.133334046802573
2019-09-23 16:42:07.274 dummy OWX_1D_18DC84000003 A_rate: 0.133334024021245
2019-09-23 16:42:17.295 dummy OWX_1D_18DC84000003 A_rate: 0.133333510092142
2019-09-23 16:42:27.683 dummy OWX_1D_18DC84000003 A_rate: 0.133333453998614
2019-09-23 16:42:37.412 dummy OWX_1D_18DC84000003 A_rate: 0.13333323538257
2019-09-23 16:42:47.313 dummy OWX_1D_18DC84000003 A_rate: 0.133330778258477
2019-09-23 16:42:57.616 dummy OWX_1D_18DC84000003 A_rate: 0.13332964440543
2019-09-23 16:43:07.340 dummy OWX_1D_18DC84000003 A_rate: 0.133330259240789
2019-09-23 16:43:17.569 dummy OWX_1D_18DC84000003 A_rate: 0.133330645168244
2019-09-23 16:43:27.294 dummy OWX_1D_18DC84000003 A_rate: 0.13333012751529
2019-09-23 16:43:37.292 dummy OWX_1D_18DC84000003 A_rate: 0.133330146724995
2019-09-23 16:43:47.279 dummy OWX_1D_18DC84000003 A_rate: 0.133333571909748
2019-09-23 16:43:57.275 dummy OWX_1D_18DC84000003 A_rate: 0.133334882567266
2019-09-23 16:44:07.275 dummy OWX_1D_18DC84000003 A_rate: 0.133334630054895
2019-09-23 16:44:17.379 dummy OWX_1D_18DC84000003 A_rate: 0.133334079007102
2019-09-23 16:44:27.408 dummy OWX_1D_18DC84000003 A_rate: 0.133334313444433
2019-09-23 16:44:37.271 dummy OWX_1D_18DC84000003 A_rate: 0.133334832295695
2019-09-23 16:44:47.769 dummy OWX_1D_18DC84000003 A_rate: 0.133334081539366
2019-09-23 16:44:57.293 dummy OWX_1D_18DC84000003 A_rate: 0.133333638173481
2019-09-23 16:45:07.270 dummy OWX_1D_18DC84000003 A_rate: 0.133333874262957
2019-09-23 16:45:17.402 dummy OWX_1D_18DC84000003 A_rate: 0.13333657890949
2019-09-23 16:45:27.276 dummy OWX_1D_18DC84000003 A_rate: 0.133337489025421
2019-09-23 16:45:37.257 dummy OWX_1D_18DC84000003 A_rate: 0.133337281054982



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

abc2006

Vorhin kamen mal ein paar Werte durch:


2019-09-23 14:51:17
DF_WMZ_HZG_main
DOIF
literpromin
28.0288311213623
2019-09-23 14:51:17
DF_WMZ_Solar
DOIF
literpromin
8.00019400078092
2019-09-23 14:42:17
DF_WMZ_HZG_main
DOIF
literpromin
27.8461548305526
2019-09-23 14:42:17
DF_WMZ_Solar
DOIF
literpromin
8.00001300580158
2019-09-23 14:41:07
DF_WMZ_HZG_main
DOIF
literpromin
27.8365259158843
2019-09-23 14:41:07
DF_WMZ_Solar
DOIF
literpromin
8.0002407113076
2019-09-23 14:40:57
DF_WMZ_HZG_main
DOIF
literpromin
27.778840664693
2019-09-23 14:40:57
DF_WMZ_Solar
DOIF
literpromin
8.00007609003144
2019-09-23 14:40:56
KNX10.I05_Zaehler_Holzvergaser
KNX
literpromin
0.00
l/min
2019-09-23 14:40:47
DF_WMZ_HZG_main
DOIF
literpromin
27.7980708400324
2019-09-23 14:40:47
DF_WMZ_Solar
DOIF
literpromin
8.00007700388382
2019-09-23 14:40:38
DF_WMZ_HZG_main
DOIF
literpromin
27.8269159655512
2019-09-23 14:40:37
DF_WMZ_Solar
DOIF
literpromin
8.00005915564686
2019-09-23 14:40:37
KNX10.I05_Zaehler_Holzvergaser
KNX
literpromin
0.00
l/min
2019-09-23 14:40:27
DF_WMZ_HZG_main
DOIF
literpromin
27.8365290316149
2019-09-23 14:40:27
DF_WMZ_Solar
DOIF
literpromin
8.0000605146744
2019-09-23 14:40:17
DF_WMZ_HZG_main
DOIF
literpromin
27.8750001001051
2019-09-23 14:40:17
DF_WMZ_Solar
DOIF
literpromin
8.00006296228704


Ich weiss aber nicht, was ich da gemacht haben könnte, damit es mal funktioniert hat...
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

Was ich jetzt verstanden habe ist, dass Events vom NOTIFYDEV-Filter geschluckt werden, wenn kein passendes Device existiert. Das sind aber Dinge außerhalb von DOIF. Dann dürfte auch ein notify damit nicht klar kommen, weil es ja auch den NOTFYDEV-Filter nutzt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

abc2006

Hm. Das verstehe ich wiederum nicht. Dann dürfte es ja nie funktioniert haben - oder?
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

Zitat von: abc2006 am 23 September 2019, 18:01:40
Hm. Das verstehe ich wiederum nicht. Dann dürfte es ja nie funktioniert haben - oder?

Ich habe gerade die Antwort im Development-Board erhalten. NOTFYDEV-Filter wird im notify nicht gesetzt, wenn es das Device nicht gibt. Da muss ich mir noch was überlegen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

abc2006

#39
Ich weiss nicht, obs auch noch dazugehört, aber gerade stelle ich fest, dass ein DOIF-Reading nicht aktualisiert wird. Selbes Device wie oben.
Ich kann mal probieren, ob resetten, initialize, set cmd, DEF oder shutdown restart irgendwas dran ändern ...

p1           1794.23229204803     2019-09-24 13:40:36
power     0                                  2019-09-23 20:56:01


DOIF_Readings:
[...]
p1:([$SELF:rate]*3600*1.05*[$SELF:deltaT]),
power:([$SELF:p1:d0]),
[...]


Edit: Ändern und speichern der DOIF_Readings (durch klicken auf "attr") aktualisiert "power" einmalig. Danach veraltet es wieder.
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

#40
Die angehängte Version sollte jetzt auch mit FHEM2FHEM klarkommen.

Edit: neue Version eingecheckt
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

abc2006

Hi,
danke für das mega schnelle update!
ja, funktioniert jetzt auch ohne den Dummy.
Leider werden die DOIF-Readings aber noch nicht aktualisiert.
Ich poste auch gerne noch mal ein list.
Die Readings p1 und power sollen alle 10 Sekunden (wenn ein Event kommt) aktualisiert werden und müssten somit den gleichen Timestamp bekommen wie "rate". Oder zumindest fast gleich. Und rot werden. Oder lieg ich falsch?

grüße,
Stephan

Internals:
   DEF        (["^OWX_1D_18DC84000003$:^A_rate"] && ([{sunrise()}-{sunset("3600")}]))
({
my ($a1,$b1) = split(" ", "$EVENT");
fhem("setreading $SELF rate $b1");

my $power = [$SELF:power];
my $power_sec = [$SELF:power:sec];
my $work = [$SELF:work];
my $deltawork = (( $power * $power_sec ) / 3600 / 1000 );
my $totalwork = $deltawork + $work;
fhem("setreading $SELF lastdeltawork $deltawork");
fhem("setreading $SELF work $totalwork");
})
DOELSEIF([23:59])
(
setreading $SELF solarerwartung_heute [wetter_prop:fc0_prg_ges],
setreading $SELF solarerwartung_morgen [wetter_prop:fc1_prg_ges],
setreading $SELF solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges],
setreading $SELF workDay [$SELF:work],
setreading $SELF work 0
)
DOELSE
(
setreading $SELF rate 0
)
   FUUID      5c844715-f33f-4040-d4c8-602d2be86c1a37b3
   MODEL      FHEM
   NAME       DF_WMZ_Solar
   NR         476
   NTFY_ORDER 50-DF_WMZ_Solar
   STATE      786 W
   TYPE       DOIF
   CHANGED:
     RL: 37.63
   CHANGEDWITHSTATE:
     RL: 37.63
   DOIF_Readings:
     RL         (::ReadingValDoIf($hash,'RE_TEMP_Ruecklauf_Solar','temperature'))
     VL         (::ReadingValDoIf($hash,'RE_TEMP_Vorlauf_Solar','temperature'))
     deltaT     (::ReadingValDoIf($hash,'DF_WMZ_Solar','VL')-::ReadingValDoIf($hash,'DF_WMZ_Solar','RL'))
     lastdeltawork (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*1.05*::ReadingSecDoIf('DF_WMZ_Solar','work'))
     literpromin (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*60)
     literprosec (::ReadingValDoIf($hash,'DF_WMZ_Solar','rate'))
     p1         int(::ReadingValDoIf($hash,'DF_WMZ_Solar','rate')*3600*1.05*::ReadingValDoIf($hash,'DF_WMZ_Solar','deltaT'))
     power      (::ReadingValDoIf($hash,'DF_WMZ_Solar','p1','','d0'))
   READINGS:
     2019-09-24 15:39:26   Device          OWX_1D_18DC84000003
     2019-09-24 15:39:27   RL              37.63
     2019-09-24 15:38:31   VL              41.19
     2019-09-24 15:39:26   cmd             1
     2019-09-24 15:39:26   cmd_event       OWX_1D_18DC84000003
     2019-09-24 15:39:26   cmd_nr          1
     2019-09-24 15:30:56   deltaT          1.56
     2019-09-24 15:39:26   lastdeltawork   0.108511666666667
     2019-09-24 13:40:36   literpromin     7.99996563245958
     2019-09-24 13:40:36   literprosec     0.133332760540993
     2019-09-24 15:30:56   p1              786
     2019-09-24 15:31:09   power           786
     2019-09-24 15:39:26   rate            0.0166663856517311
     2019-09-23 23:59:00   solarerwartung_heute 25
     2019-09-23 23:59:00   solarerwartung_morgen 31
     2019-09-23 23:59:00   solarerwartung_uebermorgen 23
     2019-09-24 15:39:26   state           cmd_1
     2019-09-24 15:31:22   timer_01_c01    25.09.2019 06:42:34
     2019-09-24 15:31:22   timer_02_c01    24.09.2019 20:53:28
     2019-09-24 15:31:22   timer_03_c02    24.09.2019 23:59:00
     2019-09-24 15:39:26   work            2.910165
     2019-09-23 23:59:00   workDay         0.361130833333333
   Regex:
     DOIF_Readings:
       DF_WMZ_Solar:
         deltaT:
           RL         ^DF_WMZ_Solar$:^RL:
           VL         ^DF_WMZ_Solar$:^VL:
         lastdeltawork:
           rate       ^DF_WMZ_Solar$:^rate:
           work       ^DF_WMZ_Solar$:^work:
         literpromin:
           rate       ^DF_WMZ_Solar$:^rate:
         literprosec:
           rate       ^DF_WMZ_Solar$:^rate:
         p1:
           deltaT     ^DF_WMZ_Solar$:^deltaT:
           rate       ^DF_WMZ_Solar$:^rate:
         power:
           p1         ^DF_WMZ_Solar$:^p1:
       RE_TEMP_Ruecklauf_Solar:
         RL:
           temperature ^RE_TEMP_Ruecklauf_Solar$:^temperature:
       RE_TEMP_Vorlauf_Solar:
         VL:
           temperature ^RE_TEMP_Vorlauf_Solar$:^temperature:
     accu:
     cond:
       :
         0:
           "^OWX_1D_18DC84000003$:^A_rate" ^OWX_1D_18DC84000003$:^A_rate
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::EventDoIf('^OWX_1D_18DC84000003$',$hash,'^A_rate',0) && (::DOIF_time($hash,0,1,$wday,$hms))
     1          ::DOIF_time_once($hash,2,$wday)
   days:
   do:
     0:
       0          { my ($a1,$b1) = split(" ", "$EVENT"); fhem("setreading DF_WMZ_Solar rate $b1");  my $power = [DF_WMZ_Solar:power]; my $power_sec = [DF_WMZ_Solar:power:sec]; my $work = [DF_WMZ_Solar:work]; my $deltawork = (( $power * $power_sec ) / 3600 / 1000 ); my $totalwork = $deltawork + $work; fhem("setreading DF_WMZ_Solar lastdeltawork $deltawork"); fhem("setreading DF_WMZ_Solar work $totalwork"); }
     1:
       0           setreading DF_WMZ_Solar solarerwartung_heute [wetter_prop:fc0_prg_ges], setreading DF_WMZ_Solar solarerwartung_morgen [wetter_prop:fc1_prg_ges], setreading DF_WMZ_Solar solarerwartung_uebermorgen [wetter_prop:fc2_prg_ges], setreading DF_WMZ_Solar workDay [DF_WMZ_Solar:work], setreading DF_WMZ_Solar work 0
     2:
       0           setreading DF_WMZ_Solar rate 0
   helper:
     DEVFILTER  ^global$|^OWX_1D_18DC84000003$|^RE_TEMP_Vorlauf_Solar$|^RE_TEMP_Ruecklauf_Solar$|^DF_WMZ_Solar$
     NOTIFYDEV  global|OWX_1D_18DC84000003|RE_TEMP_Vorlauf_Solar|RE_TEMP_Ruecklauf_Solar|DF_WMZ_Solar
     event      temperature: 41.19
     globalinit 1
     last_timer 3
     sleeptimer -1
     timerdev   OWX_1D_18DC84000003
     timerevent A_rate: 0.0166663856517311
     triggerDev RE_TEMP_Vorlauf_Solar
     timerevents:
       A_rate: 0.0166663856517311
     timereventsState:
       A_rate: 0.0166663856517311
     triggerEvents:
       temperature: 41.19
     triggerEventsState:
       temperature: 41.19
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   localtime:
     0          1569386554
     1          1569351208
     2          1569362340
   perlblock:
   readings:
   realtime:
     0          06:42:34
     1          20:53:28
     2          23:59:00
   time:
     0          {sunrise()}
     1          {sunset("3600")}
     2          23:59:00
   timeCond:
     0          0
     1          0
     2          1
   timer:
     0          0
     1          0
     2          0
   timers:
     0           0  1
     1           2
   trigger:
   triggertime:
     1569351208:
       localtime  1569351208
       hash:
     1569362340:
       localtime  1569362340
       hash:
     1569386554:
       localtime  1569386554
       hash:
   uiState:
   uiTable:
Attributes:
   DOIF_Readings VL:([RE_TEMP_Vorlauf_Solar:temperature]),
RL:([RE_TEMP_Ruecklauf_Solar:temperature]),
deltaT:([$SELF:VL]-[$SELF:RL]),
p1:int([$SELF:rate]*3600*1.05*[$SELF:deltaT]),
power:([$SELF:p1:d0]),
lastdeltawork:([$SELF:rate]*1.05*[$SELF:work:sec]),
literprosec:([$SELF:rate]),
literpromin:([$SELF:rate]*60)
   DbLogInclude power,literpromin
   do         always
   room       Counter,FHEM2FHEM,Solar,_doif
   selftrigger all
   stateFormat p1 W
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Damian

#42
Es war noch ein Tippfehler in der letzten Version. Lade noch mal neu.

Edit: DOIF_Readings selbst produzieren keine Events, daher werden sie nie rot. Man muss schon den Browser aktualisieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

hackepeter

Hast du schon eingecheckt? Bin unterwegs und kann es manuell schlecht testen.

abc2006

Bei mir siehts gut aus. Auch ein anderes Problem, was ich gerade formuliert habe, scheint behoben.
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX