DOIF wird nicht getriggert?

Begonnen von n4rrOx, 24 Mai 2016, 13:01:19

Vorheriges Thema - Nächstes Thema

n4rrOx

Hallo zusammen,

ich habe ein Problem, dass mein DOIF nicht reagiert, wenn er eigentlich getriggert werden sollte.

In meinem FHEM sind 3 Kalender definiert (Abfall, Geburtstage und Termine) und jeweils ein calview_ dazu.
In den calviews gibt es jeweils ein Reading für die Anzahl der heutigen Termine: c-today
Mein DOIF sollte bei einer Änderung der 3 Readings die Werte der Readings zusammen zählen und in ein weiteres Reading "Summe" schreiben:

DEF
([calview_Abfall:c-today] or [calview_Geburtstage:c-today] or [calview_Termine:c-today]) (setreading Termine_aktuell Summe {([calview_Abfall:c-today]+[calview_Geburtstage:c-today]+[calview_Termine:c-today])})

NAME
Termine_aktuell

TYPE
DOIF


Atrtibute:

checkReadingEvent    1
do                               always
room                           Termine
stateFormat                Summe
userReadings              Summe


Bei den calview habe ich jeweils folgendes Attribut hinzugefügt:

event-on-change-reading       1


Leider wird das DOIF nicht getriggert, wenn ich für heute einen neuen Termin erstelle und diesen ins FHEM laden lasse.
Wo ist der Fehler?
Ich bilde mir ein, dass es manchmal funktioniert hat.
Bitte um Hilfe!

CoolTux

event-on-change-reading       1

Informiere Dich mal was das genau heißt

Bedeutet im Klartext, bei keinem einzigen Reading wird bei Readingsänderung ein Event ausgelöst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

n4rrOx

#2
Hallo CoolTux,

habe das Attr erst heute hinzugefügt.
Wenn ich es lösche und die Readings der calview_ neu einlesen lasse, bekommt das DOIF es mit und zählt dann die Summe (Wert = 1) zusammen.
Wenn ich aber dann den Termin im Kalender lösche und die Readings aktualisieren lasse, steht folgendes in der Übersicht:

CALVIEW
calview_Abfall                    t: 6 td: 0 tm: 0
calview_Geburtstage         t: 6 td: 0 tm: 0
calview_Termine                t: 2 td: 0 tm: 0

td ist überall 0, d. h. alle c-today sind 0.
Das DOIF wird hierbei aber nicht getriggert, was ich nicht verstehe (dass meinte ich auch mit "mal funktioniert es mal nicht").
Hochzählen geht...runter nicht??
Die Logik macht für mich keinen Sinn?

n4rrOx

Push,

niemand eine Idee?

Ich versteh nicht warum das DOIF nicht getriggert wird?
Dies sollte doch bei jeder Aktualisierung einer der 3 Readings passieren?
Sind die Klammern richtig gesetzt?

Ich sehe einfach keinen Fehler .... :S

CoolTux

Gib mal bitte noch mal ein KOMPLETTES list vom DOIF Device.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

n4rrOx

Hi CoolTux,

anbei der komplette Auszug:

Internals:
   DEF        ([calview_Abfall:c-today] or [calview_Geburtstage:c-today] or [calview_Termine:c-today]) (setreading Termine_aktuell Summe {([calview_Abfall:c-today]+[calview_Geburtstage:c-today]+[calview_Termine:c-today])})
   NAME       Termine_aktuell
   NR         202
   NTFY_ORDER 50-Termine_aktuell
   STATE      1
   TYPE       DOIF
   Readings:
     2016-05-25 10:00:00   Device          calview_Termine
     2016-05-24 15:13:22   Summe           1
     2016-05-24 15:13:22   cmd             1
     2016-05-24 15:13:22   cmd_event       calview_Termine
     2016-05-24 15:13:22   cmd_nr          1
     2016-05-25 09:17:03   e_calview_Abfall_c-today 0
     2016-05-25 03:16:41   e_calview_Geburtstage_c-today 0
     2016-05-25 10:00:00   e_calview_Termine_c-today 0
     2016-05-24 15:13:22   state           cmd_1
   Condition:
     0          ReadingValDoIf($hash,'calview_Abfall','c-today','','',AttrVal($hash->{NAME},'notexist',undef)) or ReadingValDoIf($hash,'calview_Geburtstage','c-today','','',AttrVal($hash->{NAME},'notexist',undef)) or ReadingValDoIf($hash,'calview_Termine','c-today','','',AttrVal($hash->{NAME},'notexist',undef))
   Devices:
     0           calview_Abfall calview_Geburtstage calview_Termine
     all         calview_Abfall calview_Geburtstage calview_Termine
   Do:
     0:
       0          setreading Termine_aktuell Summe {([calview_Abfall:c-today]+[calview_Geburtstage:c-today]+[calview_Termine:c-today])}
     1:
   Helper:
     event      t_001_bdate: 02.06.2016,t_001_btime: 00:00:00,t_001_summary: Testtermin 1,t_001_source: Termine,t_001_location: AmOrt,t_001_edate: 03.06.2016,t_001_etime: 00:00:00,t_001_mode: next,t_002_bdate: 09.06.2016,t_002_btime: 13:30:00,t_002_summary: zweiter Testtermin 2,t_002_source: Termine,t_002_location: am Ort,t_002_edate: 09.06.2016,t_002_etime: 14:30:00,t_002_mode: next,t: 2 td: 0 tm: 0,c-term: 2,c-tomorrow: 0,c-today: 0
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   calview_Termine
     timerevent t_001_bdate: 24.05.2016,t_001_btime: 15:00:00,t_001_summary: gh,t_001_source: Termine,t_001_edate: 24.05.2016,t_001_etime: 16:00:00,t_001_mode: next,t_002_bdate: 02.06.2016,t_002_btime: 00:00:00,t_002_summary: Testtermin 1,t_002_source: Termine,t_002_location: AmOrt,t_002_edate: 03.06.2016,t_002_etime: 00:00:00,t_002_mode: next,t_003_bdate: 09.06.2016,t_003_btime: 13:30:00,t_003_summary: zweiter Testtermin 2,t_003_source: Termine,t_003_location: am Ort,t_003_edate: 09.06.2016,t_003_etime: 14:30:00,t_003_mode: next,today_001_bdate: heute,today_001_btime: 15:00:00,today_001_summary: gh,today_001_source: Termine,today_001_edate: 24.05.2016,today_001_etime: 16:00:00,today_001_mode: next,t: 3 td: 1 tm: 0,c-term: 3,c-tomorrow: 0,c-today: 1
     triggerDev calview_Termine
     timerevents:
       t_001_bdate: 24.05.2016
       t_001_btime: 15:00:00
       t_001_summary: gh
       t_001_source: Termine
       t_001_edate: 24.05.2016
       t_001_etime: 16:00:00
       t_001_mode: next
       t_002_bdate: 02.06.2016
       t_002_btime: 00:00:00
       t_002_summary: Testtermin 1
       t_002_source: Termine
       t_002_location: AmOrt
       t_002_edate: 03.06.2016
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_bdate: 09.06.2016
       t_003_btime: 13:30:00
       t_003_summary: zweiter Testtermin 2
       t_003_source: Termine
       t_003_location: am Ort
       t_003_edate: 09.06.2016
       t_003_etime: 14:30:00
       t_003_mode: next
       today_001_bdate: heute
       today_001_btime: 15:00:00
       today_001_summary: gh
       today_001_source: Termine
       today_001_edate: 24.05.2016
       today_001_etime: 16:00:00
       today_001_mode: next
       t: 3 td: 1 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 1
     timereventsState:
       t_001_bdate: 24.05.2016
       t_001_btime: 15:00:00
       t_001_summary: gh
       t_001_source: Termine
       t_001_edate: 24.05.2016
       t_001_etime: 16:00:00
       t_001_mode: next
       t_002_bdate: 02.06.2016
       t_002_btime: 00:00:00
       t_002_summary: Testtermin 1
       t_002_source: Termine
       t_002_location: AmOrt
       t_002_edate: 03.06.2016
       t_002_etime: 00:00:00
       t_002_mode: next
       t_003_bdate: 09.06.2016
       t_003_btime: 13:30:00
       t_003_summary: zweiter Testtermin 2
       t_003_source: Termine
       t_003_location: am Ort
       t_003_edate: 09.06.2016
       t_003_etime: 14:30:00
       t_003_mode: next
       today_001_bdate: heute
       today_001_btime: 15:00:00
       today_001_summary: gh
       today_001_source: Termine
       today_001_edate: 24.05.2016
       today_001_etime: 16:00:00
       today_001_mode: next
       state: t: 3 td: 1 tm: 0
       c-term: 3
       c-tomorrow: 0
       c-today: 1
     triggerEvents:
       t_001_bdate: 02.06.2016
       t_001_btime: 00:00:00
       t_001_summary: Testtermin 1
       t_001_source: Termine
       t_001_location: AmOrt
       t_001_edate: 03.06.2016
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_bdate: 09.06.2016
       t_002_btime: 13:30:00
       t_002_summary: zweiter Testtermin 2
       t_002_source: Termine
       t_002_location: am Ort
       t_002_edate: 09.06.2016
       t_002_etime: 14:30:00
       t_002_mode: next
       t: 2 td: 0 tm: 0
       c-term: 2
       c-tomorrow: 0
       c-today: 0
     triggerEventsState:
       t_001_bdate: 02.06.2016
       t_001_btime: 00:00:00
       t_001_summary: Testtermin 1
       t_001_source: Termine
       t_001_location: AmOrt
       t_001_edate: 03.06.2016
       t_001_etime: 00:00:00
       t_001_mode: next
       t_002_bdate: 09.06.2016
       t_002_btime: 13:30:00
       t_002_summary: zweiter Testtermin 2
       t_002_source: Termine
       t_002_location: am Ort
       t_002_edate: 09.06.2016
       t_002_etime: 14:30:00
       t_002_mode: next
       state: t: 2 td: 0 tm: 0
       c-term: 2
       c-tomorrow: 0
       c-today: 0
   Internals:
   Itimer:
   Readings:
     0           calview_Abfall:c-today calview_Geburtstage:c-today calview_Termine:c-today
     all         calview_Abfall:c-today calview_Geburtstage:c-today calview_Termine:c-today
   Regexp:
     0:
     All:
   State:
   Trigger:
Attributes:
   checkReadingEvent 1
   do         always
   room       Termine
   stateFormat Summe
   userReadings Summe

CoolTux

Also zu mindest wurde er einmal ausgeführt. Er scheint also korrekt zu triggern. Als nächstes solltest Du mal im Eventmonitor schauen ob es auch bei allen Zuständen der Readings von Deinem Kalendermodul zu Events kommt. Denn nur wenn auch ein Event kommt wird getriggert. Eventuell hast Du event-on-change-reading hier auch falsch angesetzt. Oder es ändert sich in der Tat nichts am Reading im Calender Device. Ich kenne den Kalender nicht, also das Modul daher kann ich dazu nichts weiter sagen. Aber das DOIF sieht so erstmal ok aus.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

n4rrOx

#7
Hi CoolTux,

vielen Dank für die Unterstützung!

Habe folgendes gemacht:
1) Im DOIF stand fälschlicherweise bei Reading "Summe" 1, obwohl alle calviews für heute keine Termine hatten
2) Neuen Termin angelegt und aktualisiert -> Summe ist weiterhin bei 1 (was nun stimmt). Anbei der Eventauszug:

2016-05-25 12:26:38 Calendar Termine update
2016-05-25 12:26:39 Calendar Termine retrieved
2016-05-25 12:26:39 Calendar Termine lastUpdate: 2016-05-25 12:26:38
2016-05-25 12:26:39 Calendar Termine nextUpdate: 2016-05-25 18:26:38
2016-05-25 12:26:39 DOIF Termine_aktuell Summe: 1
2016-05-25 12:26:39 DOIF Termine_aktuell cmd_nr: 1
2016-05-25 12:26:39 DOIF Termine_aktuell cmd: 1
2016-05-25 12:26:39 DOIF Termine_aktuell cmd_event: calview_Termine
2016-05-25 12:26:39 DOIF Termine_aktuell cmd_1
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_bdate: 25.05.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_btime: 13:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_summary: löschen
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_source: Termine
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_edate: 25.05.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_etime: 14:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_001_mode: next
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_bdate: 02.06.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_btime: 00:00:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_summary: Testtermin 1
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_source: Termine
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_location: AmOrt
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_edate: 03.06.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_etime: 00:00:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_002_mode: next
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_bdate: 09.06.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_btime: 13:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_summary: zweiter Testtermin 2
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_source: Termine
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_location: am Ort
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_edate: 09.06.2016
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_etime: 14:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine t_003_mode: next
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_bdate: heute
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_btime: 13:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_summary: löschen
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_source: Termine
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_edate: 25.05.2016
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_etime: 14:30:00
2016-05-25 12:26:39 CALVIEW calview_Termine today_001_mode: next
2016-05-25 12:26:39 CALVIEW calview_Termine t: 3 td: 1 tm: 0
2016-05-25 12:26:39 CALVIEW calview_Termine c-term: 3
2016-05-25 12:26:39 CALVIEW calview_Termine c-tomorrow: 0
2016-05-25 12:26:39 CALVIEW calview_Termine c-today: 1
2016-05-25 12:26:39 Calendar Termine modeUpcoming: 8h3lnd206cqtler17cls9il8rsgooglecom;q4j72qkc1br3a5l0krk879ehvcgooglecom;r9rrjc6ls7aog1cg5gdtovcctogooglecom
2016-05-25 12:26:39 Calendar Termine triggered
2016-05-25 12:26:39 Calendar Termine nextWakeup: 2016-05-25 13:30:00

3) Termin wieder gelöscht und aktualisiert. Summe weiterhin bei 1!! (falsch) und DOIF wurde nicht getriggert?? .... Eventauszug:

2016-05-25 12:30:24 Calendar Termine update
2016-05-25 12:30:25 Calendar Termine retrieved
2016-05-25 12:30:25 Calendar Termine lastUpdate: 2016-05-25 12:30:24
2016-05-25 12:30:25 Calendar Termine nextUpdate: 2016-05-25 18:30:24
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_bdate: 02.06.2016
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_btime: 00:00:00
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_summary: Testtermin 1
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_source: Termine
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_location: AmOrt
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_edate: 03.06.2016
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_etime: 00:00:00
2016-05-25 12:30:25 CALVIEW calview_Termine t_001_mode: next
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_bdate: 09.06.2016
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_btime: 13:30:00
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_summary: zweiter Testtermin 2
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_source: Termine
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_location: am Ort
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_edate: 09.06.2016
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_etime: 14:30:00
2016-05-25 12:30:25 CALVIEW calview_Termine t_002_mode: next
2016-05-25 12:30:25 CALVIEW calview_Termine t: 2 td: 0 tm: 0
2016-05-25 12:30:25 CALVIEW calview_Termine c-term: 2
2016-05-25 12:30:25 CALVIEW calview_Termine c-tomorrow: 0
2016-05-25 12:30:25 CALVIEW calview_Termine c-today: 0
2016-05-25 12:30:25 Calendar Termine modeUpcoming: 8h3lnd206cqtler17cls9il8rsgooglecom;q4j72qkc1br3a5l0krk879ehvcgooglecom
2016-05-25 12:30:25 Calendar Termine modeEnd: juc55air6l7l5c8bhet59016t8googlecom;60qjae34ccr64b9ocopj4b9k74pmcb9pcks36b9p6osj4o9l64qjcpb5ccgooglecom
2016-05-25 12:30:25 Calendar Termine triggered
2016-05-25 12:30:25 Calendar Termine nextWakeup: 2016-05-25 18:30:24

4) 3 neue Termine heute angelegt und aktualisiert, Summe ist bei 3, DOIF wurde getriggert. Auszug:

2016-05-25 12:55:16 Calendar Termine update
2016-05-25 12:55:16 Calendar Termine retrieved
2016-05-25 12:55:17 Calendar Termine lastUpdate: 2016-05-25 12:55:16
2016-05-25 12:55:17 Calendar Termine nextUpdate: 2016-05-25 18:55:16
2016-05-25 12:55:17 DOIF Termine_aktuell Summe: 3
2016-05-25 12:55:17 DOIF Termine_aktuell cmd_nr: 1
2016-05-25 12:55:17 DOIF Termine_aktuell cmd: 1
2016-05-25 12:55:17 DOIF Termine_aktuell cmd_event: calview_Termine
2016-05-25 12:55:17 DOIF Termine_aktuell cmd_1
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_bdate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_btime: 13:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_summary: ssss
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_etime: 14:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_001_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_bdate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_btime: 18:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_summary: iuzt
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_etime: 19:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_002_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_bdate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_btime: 22:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_summary: eeeee
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_etime: 23:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_003_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_bdate: 30.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_btime: 17:00:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_summary: tttttttttt
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_location: Pppp
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_edate: 30.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_etime: 18:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_004_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_bdate: 01.06.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_btime: 17:00:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_summary: ggggggg
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_edate: 01.06.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_etime: 18:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_005_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_bdate: 02.06.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_btime: 00:00:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_summary: Testtermin 1
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_location: AmOrt
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_edate: 03.06.2016
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_etime: 00:00:00
2016-05-25 12:55:17 CALVIEW calview_Termine t_006_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_bdate: heute
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_btime: 13:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_summary: ssss
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_etime: 14:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_001_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_bdate: heute
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_btime: 18:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_summary: iuzt
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_etime: 19:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_002_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_bdate: heute
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_btime: 22:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_summary: eeeee
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_source: Termine
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_edate: 25.05.2016
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_etime: 23:30:00
2016-05-25 12:55:17 CALVIEW calview_Termine today_003_mode: next
2016-05-25 12:55:17 CALVIEW calview_Termine t: 6 td: 3 tm: 0
2016-05-25 12:55:17 CALVIEW calview_Termine c-term: 6
2016-05-25 12:55:17 CALVIEW calview_Termine c-tomorrow: 0
2016-05-25 12:55:17 CALVIEW calview_Termine c-today: 3
2016-05-25 12:55:17 Calendar Termine modeUpcoming: 5rokm81nh369atgqnd4nk8fk24googlecom;q4j72qkc1br3a5l0krk879ehvcgooglecom;8h3lnd206cqtler17cls9il8rsgooglecom;78tegapru4h2mlnp9enk6mroj4googlecom;44gtqsvki3613ckb5pk61ol0jsgooglecom;sag6hv84ftu34o3pj5mh5iq314googlecom;v1v9tkvc2k82jnoedd6kddfgr8googlecom;mts77jbp7a8289b4eva77rma34googlecom
2016-05-25 12:55:17 Calendar Termine modeEnd: 60qjae34ccr64b9ocopj4b9k74pmcb9pcks36b9p6osj4o9l64qjcpb5ccgooglecom;juc55air6l7l5c8bhet59016t8googlecom
2016-05-25 12:55:17 Calendar Termine triggered
2016-05-25 12:55:17 Calendar Termine nextWakeup: 2016-05-25 13:30:00

5) zwei Termine gelöscht, aktualisiert, DOIF zählt runter auf 1 -> richtig.
6) einen neuen ganztägigen Termin angelegt -> Summe auf 2 -> richtig
7) einen Termin gelöscht, aktualisiert -> Summe 1 -> richtig
8.) ganztägigen Termin gelöscht -> Summe weiterhin auf 1 -> falsch!!

Die event-on-change-reading habe ich gestern schon bei allen calviews gelöscht.
Ich verstehe das nicht warum es manchmal funktioniert und manchmal nicht... oO ??
Irgendwie kann er über 1 alles normal zählen, aber sobald es auf 1 runter gehen soll, funktioniert es nicht mehr??

CoolTux

Nur weil Dein Reading nicht geschrieben wird heißt es ja noch lange nicht das nicht getriggert wird.
Versuch mal ein Eintrag im Log zu bekommen.


(setreading Termine_aktuell Summe {([calview_Abfall:c-today]+[calview_Geburtstage:c-today]+[calview_Termine:c-today])}, {Log 1, "Trigger erfolgt"})


Schau mal ob es so geht. Bin mir gerade nicht sicher
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

n4rrOx

#9
Es sieht so aus, wie befürchtet:

0) Ausgangszustand: keine Termine, Summe 1 (falsch)

1) einen Termin hinzugefügt: es wird getriggert: Summe 1 (richtig)

2016.05.25 16:32:16 3: CALVIEW calview_Termine - CALENDAR:Termine triggered, updating CALVIEW calview_Termine ...
2016.05.25 16:32:16 1: Trigger erfolgt


2) zweiten Termin hinzugefügt: es wird getriggert: Summe 2 (richtig)

2016.05.25 16:32:53 3: CALVIEW calview_Termine - CALENDAR:Termine triggered, updating CALVIEW calview_Termine ...
2016.05.25 16:32:53 1: Trigger erfolgt


3) einen Termin gelöscht: es wird getriggert: Summe 1 (richtig)

2016.05.25 16:33:36 3: CALVIEW calview_Termine - CALENDAR:Termine triggered, updating CALVIEW calview_Termine ...
2016.05.25 16:33:36 1: Trigger erfolgt


3) zweiten Termin gelöscht: es wird nicht (!!) getriggert: Summe 1 (falsch)

2016.05.25 16:34:19 3: CALVIEW calview_Termine - CALENDAR:Termine triggered, updating CALVIEW calview_Termine ...


Warum es > = 1 funktioniert und nicht bis zur 0 runter, hab ich keine Ahnung...
Woran könnte es liegen??

Interessanterweise werden andere Readings im DOIF ja automatisch hinzugefügt bzw. geändert (e_calview_Termine_c-today 0):

Internals:
   DEF        ([calview_Abfall:c-today] or [calview_Geburtstage:c-today] or [calview_Termine:c-today]) (setreading Termine_aktuell Summe 0,  {Log 1, "Trigger erfolgt Summe 0"}, setreading Termine_aktuell Summe {([calview_Abfall:c-today]+[calview_Geburtstage:c-today]+[calview_Termine:c-today])}, {Log 1, "Trigger erfolgt neue Summe"})
   NAME       Termine_aktuell
   NR         202
   NTFY_ORDER 50-Termine_aktuell
   STATE      1
   TYPE       DOIF
   Readings:
     2016-05-25 16:48:23   Device          calview_Termine
     2016-05-25 16:47:42   Summe           1                                <-------------------------
     2016-05-25 16:47:42   cmd             1
     2016-05-25 16:47:42   cmd_event       calview_Termine
     2016-05-25 16:47:42   cmd_nr          1
     2016-05-25 16:48:23   e_calview_Termine_c-today 0           <-------------------------
     2016-05-25 16:47:42   state           cmd_1
[...]

CoolTux

Werden denn die Readings geschrieben? Ist der Readingstimestamp aktuell? Also Zeit wo du null Termine erfasst hast?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

n4rrOx

Zitat von: CoolTux am 25 Mai 2016, 16:54:14
Werden denn die Readings geschrieben? Ist der Readingstimestamp aktuell? Also Zeit wo du null Termine erfasst hast?

JA!

Internals:
   NAME       calview_Termine
[...]
     2016-05-25 16:48:23   c-today         0
[...]

CoolTux

Bin ich ratlos. Als Workaround ein DOELSE Zweig mit selben set Befehl.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Vergiss den DOELSE der würde  nicht gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Ellert

Wenn Du nur die Summe berechen möchtest, könntest Du ein bedingungsloses DOIF mit dem Attribut state verwenden, s. http://fhem.de/commandref_DE.html#DOIF_state