57_CALVIEW - Erweiterungsmodul für 57_CALENDAR

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

Vorheriges Thema - Nächstes Thema

Torsten_MG

Der Code sieht folgendermaßen aus:

<div data-type="calview"
data-device="Kalender_alle_Termine"
data-get="today"
data-dateformat="short"
data-timeformat="short"
data-showempty="true"
data-detail='["bdate","timeshort","summary","sourcecolor"]'
data-detailwidth='["20","20","60"]'
data-sourcecolor="yes" >
</div>

Torsten_MG

#211
Leider funktioniert data-showempty="true" bei mir immer noch nicht. Ich habe aber noch etwas festgestellt.

Ich rufe mit meinem Calview Kalender_alle_Termine 20 Termine ab, Termin 19 & 20 sind u.a. ganztätige Termine, dort wird bei t_019_timeshort & t_020_timeshort 00:00-00:00 statt ganztägig angezeigt. Bei früheren Terminen passt das.

EDIT:

Das Problem hat sich jetzt verschoben. :o

Im Kalender sind jetzt alle Termine 1 raufgewandert. Nun sind die Termine auf 18 & 19 und werden auch da mit 00:00-00:00 statt ganztägig angezeigt. Was mich jetzt aber wundert, der neue Termin auf 20 ist auch ganztägig und da wird wieder ganztägig angezeigt  :o . Ich habe jetzt nochmal alle Termine überprüft, alle sind als ganztägig markiert! Das Datum bei den Terminen  sind bei 18 & 19 der 30.04. und bei Termin 20 der 11.05.

DarkT

Hallo zusammen,

ich entdecke zur Zeit kleinen Freezes (6 Sekunden) meines FHEM Systems. Diese treten regelmäßig jede halbe Stunde auf.
Bei der Analyse bin ich dann auf die folgenden Sachen gestoßen:

Die folgenden Meldung finde ich im Log (verbose 5)



2018.02.09 08:29:55 3: CALVIEW myCalView - CALENDAR:MyCalendar triggered, updating CALVIEW myCalView ...
2018.02.09 08:30:02 5: CALVIEW myCalView - nextday = 10 , endday = 10 , startday = 09 , btime 00:00:00 , etime 00:00:00



.... scheint, doch dass das Auslesen des Kalenders 7 Sekunden dauert... und das blockierend?

Dazu passt dann auch die Ausgabe von apptime:


maxDly   avgDly TS Max call     param Max call
myCalView                                CALVIEW_Notify                        6769      216    6789.92    31.43



Ich frage dort einen iCloud Kalender ab. Habt ihr eine Idee wie man die Freezes eliminieren kann?

Amenophis86

Ich habe eine zweite FHEM Instanz auf meinem Pi dir nur solche Device inne hat. Hole mir dann per FHEM2FHEM die Daten in die Hauptinstanz ohne Blockieren.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DarkT

Danke ;)

Also arbeitet das tatsächlich blocking? Wäre es nicht sinnvoll das zu ändern?

LG Thomas

Amenophis86

Es ist nicht CALVIEW sondern das Calender Modul und da lässt sich kaum noch was machen. Gibt irgendwo ein Thread dazu wo pah (meine es war pah) versucht hat noch bissi was raus zu holen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DarkT

Dachte mir schon, dass das am Kalender Modul liegt.

Ne verrückte Idee (meine FHEM Kenntnisse sind noch zu rudimentär), könnte man nicht eine Art Proxy-Modul schreiben. Das Modul könnte dann solche Blocking Anfragen unabhängig vom Orginal-Modul non-blocking ausführen. Dem Orginl-Modul würde man dann anstatt der URL die ProxyURL geben, so dass der blocking Aufruf extrem schnell geht (da lokal und vorgecached vom Proxy Modul)

lg Darkt

Amenophis86

https://forum.fhem.de/index.php/topic,56831.0.html lies dir das Thema durch und wenn du dann noch Ideen hast, raus damit :) Und es war nicht pah, sondern Dr. Boris Neubert damals ;)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Torsten_MG

Zitat von: Torsten_MG am 29 Januar 2018, 14:37:41
Ich habe noch eine Frage:

Ist es möglich einzelne Termine in einem Kalender andersfarbig zu Kennzeichnen?

In meinem Fall geht es um meinen Schichtkalender. Dort habe ich Frühschicht, Spätschicht, Nachtschicht & Urlaub drin. Diese würde ich gerne jeweils andersfarbig kennzeichnen.
Zitat von: chris1284 am 29 Januar 2018, 18:48:11
Aktuell nur über einzelne Kalender für jede schicht. Theoretisch sollte ich die Farbzuordnung pro Kalender auch auf Termine adaptieren können. Ich schaue es mir mal an
Hast du diesbezüglich schon was gemacht?

Zitat von: chris1284 am 29 Januar 2018, 18:48:11
In data-showempty war wirklich ein Syntaxfehler, ist behoben (im github)

Bei mir wird, wenn kein Termin ansteht nur ein leeres Feld angezeigt. Anscheinend habe ich da noch einen Fehler, aber welchen?

thuranga

Hallo in die Runde!

Wie kann ich denn mehrtägige Termine kennzeichen? Gibts da schon eine Lösung?

rischbiter123

Zitat von: Torsten_MG am 29 Januar 2018, 14:37:41
Ich habe noch eine Frage:

Ist es möglich einzelne Termine in einem Kalender andersfarbig zu Kennzeichnen?

In meinem Fall geht es um meinen Schichtkalender. Dort habe ich Frühschicht, Spätschicht, Nachtschicht & Urlaub drin. Diese würde ich gerne jeweils andersfarbig kennzeichnen.

Ich hab da mal was gebastelt. Vielleicht hilft es ja übergangsweise.

https://forum.fhem.de/index.php/topic,84301.0.html
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

mumpitzstuff

defmod rg_KALENDER readingsGroup <Datum>,<Tag>,<Zeit>,<Termin>,<Ort>\
KALENDER_VIEW:t_001_bdate,t_001_weekday,t_001_timeshort,t_001_summary,t_001_location\
KALENDER_VIEW:t_002_bdate,t_002_weekday,t_002_timeshort,t_002_summary,t_002_location\
KALENDER_VIEW:t_003_bdate,t_003_weekday,t_003_timeshort,t_003_summary,t_003_location\
KALENDER_VIEW:t_004_bdate,t_004_weekday,t_004_timeshort,t_004_summary,t_004_location\
KALENDER_VIEW:t_005_bdate,t_005_weekday,t_005_timeshort,t_005_summary,t_005_location\
KALENDER_VIEW:t_006_bdate,t_006_weekday,t_006_timeshort,t_006_summary,t_006_location\
KALENDER_VIEW:t_007_bdate,t_007_weekday,t_007_timeshort,t_007_summary,t_007_location\
KALENDER_VIEW:t_008_bdate,t_008_weekday,t_008_timeshort,t_008_summary,t_008_location\
KALENDER_VIEW:t_009_bdate,t_009_weekday,t_009_timeshort,t_009_summary,t_009_location\
KALENDER_VIEW:t_010_bdate,t_010_weekday,t_010_timeshort,t_010_summary,t_010_location\
KALENDER_VIEW:t_011_bdate,t_011_weekday,t_011_timeshort,t_011_summary,t_011_location\
KALENDER_VIEW:t_012_bdate,t_012_weekday,t_012_timeshort,t_012_summary,t_012_location\
KALENDER_VIEW:t_013_bdate,t_013_weekday,t_013_timeshort,t_013_summary,t_013_location\
KALENDER_VIEW:t_014_bdate,t_014_weekday,t_014_timeshort,t_014_summary,t_014_location\
KALENDER_VIEW:t_015_bdate,t_015_weekday,t_015_timeshort,t_015_summary,t_015_location\
KALENDER_VIEW:t_016_bdate,t_016_weekday,t_016_timeshort,t_016_summary,t_016_location\
KALENDER_VIEW:t_017_bdate,t_017_weekday,t_017_timeshort,t_017_summary,t_017_location\
KALENDER_VIEW:t_018_bdate,t_018_weekday,t_018_timeshort,t_018_summary,t_018_location\
KALENDER_VIEW:t_019_bdate,t_019_weekday,t_019_timeshort,t_019_summary,t_019_location\
KALENDER_VIEW:t_020_bdate,t_020_weekday,t_020_timeshort,t_020_summary,t_020_location
attr rg_KALENDER nameStyle style="font-weight:bold;;text-decoration:underline;;"
attr rg_KALENDER nonames 1
attr rg_KALENDER notime 1
attr rg_KALENDER room KALENDER
attr rg_KALENDER valueFormat {\
  if ($READING =~ /bdate$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/bdate$//;;\
    if (0 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Heute";;\
    }\
    elsif (1 == ReadingsVal($DEVICE, $readingStart.'daysleft', -1))\
    {\
      "Morgen";;\
    }\
    else\
    {\
      # the follwoing line strips the year of the date (remove it if needed)\
      substr($VALUE, 0, 5);;\
    }\
  }\
  elsif ($READING =~ /weekday$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/weekday$//;;\
    \
     # the follwoing line strips the weekday down to 3 chars (remove it if needed)\
    substr($VALUE, 0, 3);;\
  }\
  elsif ($READING =~ /summary$/)\
  {\
    my $readingStart = $READING;;\
    $readingStart =~ s/summary$//;;\
    my $age = ReadingsVal($DEVICE, $readingStart.'age', undef);;\
    if (defined($age))\
    {\
      $VALUE.' ('.$age.')';;\
    }\
    else\
    {\
      $VALUE;;\
    }\
  }\
}
attr rg_KALENDER valueStyle {\
  my $readingStart = $READING;;\
  $readingStart =~ s/(t_\d+_).+/$1/;;\
  'style="color:'.ReadingsVal($DEVICE, $readingStart."sourcecolor", "white").'"'\
}


Ist nur kurz zusammen kopiert, aber versuchs mal damit. Auch hier musst du das sourcecolor Attribut verwenden.

Fenris_Wolff

Zitatich das Perl Modul Date::Parse mittels cpan installiert

kann mir da einer helfen , denke mal das deswegen mein Kalender nicht geht, habe leider keine Ahnung wie ich es installieren  soll.
Dankeschön

http://www.bilder-upload.eu/show.php?file=cb611e-1520333141.jpg
http://www.bilder-upload.eu/show.php?file=d07967-1520333185.jpg

curt

Hallo,
ich habe mal eher eine Anfängerfrage.

Ich habe Ferien/Feiertage an Hand https://forum.fhem.de/index.php/topic,36244.0.html (dort Beitrag #7) übernommen. Das scheint zu funktionieren, zeigt aber erstmal naturgemäß nichts an. Dann wollte ich eine Liste. Leider bekomme ich das nicht hin. Und leider ist das mit den Calendar/Calview-Beispielen für mich sehr unübersichtlich.

Frage:
Das Codebeispiel aus https://forum.fhem.de/index.php/topic,19922.0.html (Beitrag #1) - ist das überhaupt noch aktuell? (Wirft bei mir Fehler.) Oder gibt es irgendwo ein aktuelleres Beispiel?
RPI 4 - Jeelink HomeMatic Z-Wave

mumpitzstuff

Nimm doch das aus Beitrag #221. Das aus Beitrag #1 ist mehr als suboptimal.