57_CALVIEW - Erweiterungsmodul für 57_CALENDAR

Begonnen von chris1284, 28 Dezember 2016, 18:12:33

Vorheriges Thema - Nächstes Thema

chris1284

Da Calview noch auf das event "triggered" vom calendar lauscht, ist die Beobachtung durchaus nachvollziehbar.
Ihr könnt ja mal in der 57_CALVIEW.pm die Zeile 372 ändern

von if ($event eq "triggered") {
aufif ($event eq "Wakeup") { oderif ($event eq "Checking times...") { ändern.
Dann sollte das notify wieder getriggered werden. Ich stelle bei mir mal das logging ein um zu sehen ob nach dem wakeup und checking times noch eine Art "fertig" Event kommt.

rischbiter123

Werde ich machen. Komme aber erst Morgen dazu, gebe dann entsprechend Rückmeldung.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

rischbiter123

Es scheint nicht an Calview zu liegen. Hatte jetzt mal beides (Kalender und Calview) auf Verbose 5 und habe heute auch Events im Monitor bekommen.

2018-07-03 17:30:00 Calendar Andi changed: 69gjicb26hh36bb26hhj6b9k74rj4b9p68s38bb274q34cr5c5h6ce9l64googlecom end
2018-07-03 17:30:00 Calendar Andi end: 69gjicb26hh36bb26hhj6b9k74rj4b9p68s38bb274q34cr5c5h6ce9l64googlecom
2018-07-03 17:30:00 Calendar Andi modeUpcoming: 70o3cd9gc9j38b9h75im8b9kchi3gbb261gj6bb4clij8phm6sq3go9i74googlecom;6or6ad1o68qjcb9m6so34b9k64pm8b9ocdij2bb164p32phoc8sm2e1h6cgooglecom;acm27qo2clmloo5rje2n7a1730googlecom;n748798uj7mccp9c1gioeipqi4googlecom;bsgk6gopu43966a12uc4htpe1ggooglecom;s5h3fshrk7n5c3c9gqbsgdtv1ggooglecom;67qda2oasjcn0j3e5jkgtc267sgooglecom;bqvphdbifbthecdtm256avr6ksgooglecom;69gm2p9gcoo30bb16cr66b9kcpij8bb270smabb371hj0chm6co3ed356ggooglecom;60s3ee35c5im2bb1chj32b9k6cpj4b9pcgrmcbb570pj2p9mc9hmce9j74googlecom;c8o36phmccqj4b9pckqj6b9k6pij8b9p6cr38b9ockr3cp3370s68o9ncggooglecom;u9ovop6rtcsepj9mvrm8jkumvggooglecom;cosjadr468oj2bb2cos6cb9k6tj38bb2c4p3ib9ic8q6ad1gclh36dhkc4googlecom
2018-07-03 17:30:00 Calendar Andi modeAlarmOrStart:
2018-07-03 17:30:00 Calendar Andi modeChanged: 69gjicb26hh36bb26hhj6b9k74rj4b9p68s38bb274q34cr5c5h6ce9l64googlecom
2018-07-03 17:30:00 Calendar Andi modeStart:
2018-07-03 17:30:00 Calendar Andi modeEnd: Viel Text
2018-07-03 17:30:00 Calendar Andi modeEnded: 69gjicb26hh36bb26hhj6b9k74rj4b9p68s38bb274q34cr5c5h6ce9l64googlecom
2018-07-03 17:30:00 Calendar Andi triggered
2018-07-03 17:30:00 Calendar Andi nextWakeup: 2018-07-03 17:40:10


Calview hat dann auch brav auf triggered reagiert und neu eingelesen. Das Problem scheint zu sein, dass der Termin im Kalender drin bleibt, bis dieser das nächste Mal eingelesen wird und mit HideOlderThan bereits versteckt ist.
Muss nur leider gleich zum MRT, so dass ich diese Theorie heute nicht weiter testen kann.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

balli1187

Hallo,

und vielen Dank für das Modul. Mit den Terminen in gerodneten Readings kann ich jetzt auch vernünftig auf Ereignisse reagieren :-)

Eine Frage/Anmerkung hätte ich aber noch:
ich habe lange versucht die Termine wieder in einer Tabelle als Übersicht darzustellen bis ich den passenden Beitrag (https://forum.fhem.de/index.php?topic=49651.0) gefunden habe, da das Wiki leider in diesem Punkt nicht aktuell ist.
Wurde denn schon mal diskutiert die Erstellung der ReadingsGroup direkt in das Modul mit aufzunehmen. Es könnte ja ggf. über ein Attribut (de)aktivierbar geamcht werden. Ich war anfangs etwas verwundert, da nach meinem Empfinden das 'VIEW' irgendwie fehlt....

Grüße, Stephan
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

MegaData

Hallo zusammen,

also ich weis ja nicht was ich falsch mache, ich beobachte den Thread hier schon ewig... Bei mir läuft Calview seit Monaten nicht mehr. Habe gerade frisches Update gezogen und als t_001_edate gibt er mir den 06.06.2017 aus ?!

rischbiter123

Stell mal ein List Deines Calview und am Besten auch vom assoziierten Kalender ein.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Falkenstein

Dem kann ich mich nur anschließen...seit das Calendermodul umgestellt wurde läuft mein Callview auch nicht mehr.

Meine Kalender werden korregt aktualisiiert,das stimmt auch alles so...doch Callview zeigt mir in der Übersicht Termine vom letzten Jahr nur noch an.

Hier mein List von Callview:

Internals:
   DEF        Schichtplan_Kalender,Kalender_Haussteuerung,Muelltonnen_Kalender 2 3600
   INTERVAL   3600
   KALENDER   Schichtplan_Kalender,Kalender_Haussteuerung,Muelltonnen_Kalender
   NAME       vocalview2
   NR         1462
   NTFY_ORDER 50-vocalview2
   STATE      t: 10 td: 0 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-07-10 15:00:36   c-term          10
     2018-07-10 15:00:36   c-today         0
     2018-07-10 15:00:36   c-tomorrow      0
     2018-07-10 15:00:36   state           t: 10 td: 0 tm: 0
     2018-07-10 15:00:36   t_001_bdate     02.06.2017
     2018-07-10 15:00:36   t_001_btime     13:30
     2018-07-10 15:00:36   t_001_categories
     2018-07-10 15:00:36   t_001_daysleft  -403
     2018-07-10 15:00:36   t_001_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_001_description
     2018-07-10 15:00:36   t_001_duration  30600
     2018-07-10 15:00:36   t_001_edate     02.06.2017
     2018-07-10 15:00:36   t_001_etime     22:00
     2018-07-10 15:00:36   t_001_location 
     2018-07-10 15:00:36   t_001_mode      next
     2018-07-10 15:00:36   t_001_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_001_sourcecolor white
     2018-07-10 15:00:36   t_001_summary   Spätschicht
     2018-07-10 15:00:36   t_001_timeshort 13:30 - 22:00
     2018-07-10 15:00:36   t_001_weekday   5
     2018-07-10 15:00:36   t_001_weekdayname Freitag
     2018-07-10 15:00:36   t_002_bdate     02.06.2017
     2018-07-10 15:00:36   t_002_btime     13:30
     2018-07-10 15:00:36   t_002_categories
     2018-07-10 15:00:36   t_002_daysleft  -403
     2018-07-10 15:00:36   t_002_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_002_description
     2018-07-10 15:00:36   t_002_duration  30600
     2018-07-10 15:00:36   t_002_edate     02.06.2017
     2018-07-10 15:00:36   t_002_etime     22:00
     2018-07-10 15:00:36   t_002_location 
     2018-07-10 15:00:36   t_002_mode      next
     2018-07-10 15:00:36   t_002_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_002_sourcecolor white
     2018-07-10 15:00:36   t_002_summary   Spätschicht
     2018-07-10 15:00:36   t_002_timeshort 13:30 - 22:00
     2018-07-10 15:00:36   t_002_weekday   5
     2018-07-10 15:00:36   t_002_weekdayname Freitag
     2018-07-10 15:00:36   t_003_bdate     02.06.2017
     2018-07-10 15:00:36   t_003_btime     13:30
     2018-07-10 15:00:36   t_003_categories
     2018-07-10 15:00:36   t_003_daysleft  -403
     2018-07-10 15:00:36   t_003_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_003_description
     2018-07-10 15:00:36   t_003_duration  30600
     2018-07-10 15:00:36   t_003_edate     02.06.2017
     2018-07-10 15:00:36   t_003_etime     22:00
     2018-07-10 15:00:36   t_003_location 
     2018-07-10 15:00:36   t_003_mode      next
     2018-07-10 15:00:36   t_003_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_003_sourcecolor white
     2018-07-10 15:00:36   t_003_summary   Spätschicht
     2018-07-10 15:00:36   t_003_timeshort 13:30 - 22:00
     2018-07-10 15:00:36   t_003_weekday   5
     2018-07-10 15:00:36   t_003_weekdayname Freitag
     2018-07-10 15:00:36   t_004_bdate     02.06.2017
     2018-07-10 15:00:36   t_004_btime     13:30
     2018-07-10 15:00:36   t_004_categories
     2018-07-10 15:00:36   t_004_daysleft  -403
     2018-07-10 15:00:36   t_004_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_004_description
     2018-07-10 15:00:36   t_004_duration  28800
     2018-07-10 15:00:36   t_004_edate     02.06.2017
     2018-07-10 15:00:36   t_004_etime     21:30
     2018-07-10 15:00:36   t_004_location 
     2018-07-10 15:00:36   t_004_mode      next
     2018-07-10 15:00:36   t_004_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_004_sourcecolor white
     2018-07-10 15:00:36   t_004_summary   Spätschicht
     2018-07-10 15:00:36   t_004_timeshort 13:30 - 21:30
     2018-07-10 15:00:36   t_004_weekday   5
     2018-07-10 15:00:36   t_004_weekdayname Freitag
     2018-07-10 15:00:36   t_005_bdate     02.06.2017
     2018-07-10 15:00:36   t_005_btime     13:30
     2018-07-10 15:00:36   t_005_categories
     2018-07-10 15:00:36   t_005_daysleft  -403
     2018-07-10 15:00:36   t_005_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_005_description
     2018-07-10 15:00:36   t_005_duration  30600
     2018-07-10 15:00:36   t_005_edate     02.06.2017
     2018-07-10 15:00:36   t_005_etime     22:00
     2018-07-10 15:00:36   t_005_location 
     2018-07-10 15:00:36   t_005_mode      next
     2018-07-10 15:00:36   t_005_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_005_sourcecolor white
     2018-07-10 15:00:36   t_005_summary   Spätschicht
     2018-07-10 15:00:36   t_005_timeshort 13:30 - 22:00
     2018-07-10 15:00:36   t_005_weekday   5
     2018-07-10 15:00:36   t_005_weekdayname Freitag
     2018-07-10 15:00:36   t_006_bdate     02.06.2017
     2018-07-10 15:00:36   t_006_btime     22:00
     2018-07-10 15:00:36   t_006_categories
     2018-07-10 15:00:36   t_006_daysleft  -403
     2018-07-10 15:00:36   t_006_daysleftLong in -403 Tagen
     2018-07-10 15:00:36   t_006_description
     2018-07-10 15:00:36   t_006_duration  28800
     2018-07-10 15:00:36   t_006_edate     03.06.2017
     2018-07-10 15:00:36   t_006_etime     06:00
     2018-07-10 15:00:36   t_006_location 
     2018-07-10 15:00:36   t_006_mode      next
     2018-07-10 15:00:36   t_006_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_006_sourcecolor white
     2018-07-10 15:00:36   t_006_summary   Nachtschicht
     2018-07-10 15:00:36   t_006_timeshort 22:00 - 06:00
     2018-07-10 15:00:36   t_006_weekday   5
     2018-07-10 15:00:36   t_006_weekdayname Freitag
     2018-07-10 15:00:36   t_007_bdate     03.06.2017
     2018-07-10 15:00:36   t_007_btime     00:00
     2018-07-10 15:00:36   t_007_categories
     2018-07-10 15:00:36   t_007_daysleft  -402
     2018-07-10 15:00:36   t_007_daysleftLong in -402 Tagen
     2018-07-10 15:00:36   t_007_description
     2018-07-10 15:00:36   t_007_duration  86400
     2018-07-10 15:00:36   t_007_edate     04.06.2017
     2018-07-10 15:00:36   t_007_etime     00:00
     2018-07-10 15:00:36   t_007_location 
     2018-07-10 15:00:36   t_007_mode      next
     2018-07-10 15:00:36   t_007_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_007_sourcecolor white
     2018-07-10 15:00:36   t_007_summary   Urlaub
     2018-07-10 15:00:36   t_007_timeshort ganztägig
     2018-07-10 15:00:36   t_007_weekday   6
     2018-07-10 15:00:36   t_007_weekdayname Samstag
     2018-07-10 15:00:36   t_008_bdate     03.06.2017
     2018-07-10 15:00:36   t_008_btime     05:00
     2018-07-10 15:00:36   t_008_categories
     2018-07-10 15:00:36   t_008_daysleft  -402
     2018-07-10 15:00:36   t_008_daysleftLong in -402 Tagen
     2018-07-10 15:00:36   t_008_description
     2018-07-10 15:00:36   t_008_duration  30600
     2018-07-10 15:00:36   t_008_edate     03.06.2017
     2018-07-10 15:00:36   t_008_etime     13:30
     2018-07-10 15:00:36   t_008_location 
     2018-07-10 15:00:36   t_008_mode      next
     2018-07-10 15:00:36   t_008_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_008_sourcecolor white
     2018-07-10 15:00:36   t_008_summary   Frühschicht
     2018-07-10 15:00:36   t_008_timeshort 05:00 - 13:30
     2018-07-10 15:00:36   t_008_weekday   6
     2018-07-10 15:00:36   t_008_weekdayname Samstag
     2018-07-10 15:00:36   t_009_bdate     03.06.2017
     2018-07-10 15:00:36   t_009_btime     05:00
     2018-07-10 15:00:36   t_009_categories
     2018-07-10 15:00:36   t_009_daysleft  -402
     2018-07-10 15:00:36   t_009_daysleftLong in -402 Tagen
     2018-07-10 15:00:36   t_009_description
     2018-07-10 15:00:36   t_009_duration  30600
     2018-07-10 15:00:36   t_009_edate     03.06.2017
     2018-07-10 15:00:36   t_009_etime     13:30
     2018-07-10 15:00:36   t_009_location 
     2018-07-10 15:00:36   t_009_mode      next
     2018-07-10 15:00:36   t_009_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_009_sourcecolor white
     2018-07-10 15:00:36   t_009_summary   Frühschicht
     2018-07-10 15:00:36   t_009_timeshort 05:00 - 13:30
     2018-07-10 15:00:36   t_009_weekday   6
     2018-07-10 15:00:36   t_009_weekdayname Samstag
     2018-07-10 15:00:36   t_010_bdate     03.06.2017
     2018-07-10 15:00:36   t_010_btime     05:00
     2018-07-10 15:00:36   t_010_categories
     2018-07-10 15:00:36   t_010_daysleft  -402
     2018-07-10 15:00:36   t_010_daysleftLong in -402 Tagen
     2018-07-10 15:00:36   t_010_description
     2018-07-10 15:00:36   t_010_duration  30600
     2018-07-10 15:00:36   t_010_edate     03.06.2017
     2018-07-10 15:00:36   t_010_etime     13:30
     2018-07-10 15:00:36   t_010_location 
     2018-07-10 15:00:36   t_010_mode      next
     2018-07-10 15:00:36   t_010_source    Schichtplan_Kalender
     2018-07-10 15:00:36   t_010_sourcecolor white
     2018-07-10 15:00:36   t_010_summary   Frühschicht
     2018-07-10 15:00:36   t_010_timeshort 05:00 - 13:30
     2018-07-10 15:00:36   t_010_weekday   6
     2018-07-10 15:00:36   t_010_weekdayname Samstag
Attributes:
   icon       Zoom-in
   maxreadings 10
   modes      next
   room       Kalender


Vielleicht sieht ja jemand meinen Fehler warum keine aktuelle Kalenderdaten mehr in Callview bei mir sind.

Grüße Falkes

rischbiter123

Welchen Wert hast Du im Kalender bei HideOlderThen oder CutOlderThen? Ich habe meins auf 5 Minuten (300) gesetzt, da mir vorher auch die ganzen alten Termine angezeigt wurden.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

MegaData


Falkenstein

Bei HideOlderThen oder CutOlderThen habe ich gar nichts eingetragen. Das musste ich bisher auch nicht.Bevor das Kalenderupdate kam hatte ich auch keinerlei Probleme mit der Ansicht in Callview.

rischbiter123

War bei mir auch so. Versuch es einfach mal, löschen kann man es ja immer noch wieder. Denk dann nur dran, den Kalender einmal neu einzulesen. Bei mir funktioniert es jetzt jedenfalls einwandfrei mit 4 verknüpften Kalendern.
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

MegaData

Wow - das mit Hideolder ist des Rätsels Lösung - jetzt siehts wieder gut aus :) :) :)

DANKESCHÖN :)

rischbiter123

4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

Falkenstein

Vielen dank...das war auch bei mir die Rätsels Lösung - jetzt siehts auch wieder gut aus :)

Ein dickes Dankeschön !!!

balli1187

#284
Moin,

Ich wollte mal eine Variante zur Darstellung der Kalendereinträge in einer readingsgroup hier posten. In einem älteren Thread wurde das DEF der readingsGroup über ein notify befüllt. Diese Variante habe ich dahingehend angepasst, dass nur ein notify für alle Kalender benötigt wird. Ich bin zwar kein Entwickler aber würde denken, dass man dies theoretisch auch direkt in das Modul einbauen könnte (siehe meine Anfrage aus Post 273), da es eben recht generisch ist und sich nicht auf einen bestimmtes Device beschränkt.

hier das DEF des notify:
.*View:.* {
if (defined(AttrVal("$NAME","comment",undef))) {
my $ii;
my $jj;
my $modtext = AttrVal("rg_$NAME","comment","").' ';
my @fields = split /,/, AttrVal("$NAME","comment","");

for($ii= 1;$ii<= ReadingsVal("$NAME","c-today", 0);$ii++){
$modtext .= "$NAME:<Heute>";
for($jj= 2;$jj<= #$fields;$jj++) {
$modtext .= ",today_".sprintf('%03d',$ii)."_$fields[$jj]";}
$modtext .=" ";
}

for($ii= 1;$ii<= ReadingsVal("$NAME","c-tomorrow", 0);$ii++){
$modtext .= "$NAME:<Morgen>";
for($jj= 2;$jj<= #$fields;$jj++) {
$modtext .= ",tomorrow_".sprintf('%03d',$ii)."_$fields[$jj]";}
$modtext .=" ";
}

for($ii= 1;$ii<= ReadingsVal("$NAME","c-term", 0);$ii++){
if (ReadingsVal("$NAME","t_".sprintf('%03d',$ii)."_daysleft", 0) > 2) {
$modtext .= "$NAME:t_".sprintf('%03d',$ii)."_$fields[1]";
for($jj= 2;$jj<= #$fields;$jj++) {
$modtext .= ",t_".sprintf('%03d',$ii)."_$fields[$jj]";}
$modtext .=" ";
}
}

fhem("modify rg_$NAME $modtext");
fhem("SAVE");
}}


zur Erklärung:
- das notify triggert auf jedes Device, welches auf "View" endet. Dies ist bei mir so gewachsen, da ich zu jedem Kalender eben ein CALVIEW mit gleichem Namen+View angelegt habe
- zu jedem CALVIEW device muss eine readingsgroup mit gleichem namen und "rg_" Präfix existieren, damit dieses angepasst werden kann.
- die Readings, welche in der rg angezeigt werden sollen, werden aus dem Attribut "comment" des CALVIEW-Devices gelesen. hier darf nur die eigentliche Bezeichnung ohne laufende Nummer (also "bdate" statt "t_001_bdate") stehen. Einzelne Readings werden mit Komma getrennt.
- Für einen Tabellenkopf, wird die entsprechende Bezeichnung aus dem comment der rg gelesen. Die Synthax entspricht 1:1 der normalen definition (Bsp: <Datum>,<Uhrzeit>,<Termin>,....)

Ich hoffe es hilft dem einen oder anderen. Falls jemand noch Verbesserungsvorschläge hat, immer her damit :-)

Grüße, Stephan
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero