57_CALVIEW - Erweiterungsmodul für 57_CALENDAR

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

Vorheriges Thema - Nächstes Thema

mumpitzstuff

{
  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";
    }
  }
  elsif ($READING =~ /timeshort/)
  {
    my $readingStart = $READING;
    $readingStart =~ s/timeshort//;
    if ('00:00:00 - 00:00:00' eq ReadingsVal($DEVICE, $readingStart.'timeshort', -1))
    {
      "ganztägig";
    }
  }
}


Versuchs mal eher so...

TRallala


AmunRe

Guten Morgen und frohes Neues Jahr,


Ich habe jetzt den kompletten Thread gelesen, auch viel zu ganztägigen Ereignissen, aber nichts was direkt mein Problem/meine Frage beantwortet.


Ich habe noch nicht alle Readings verstanden, aber c-today gibt doch an ob heute ein Termin ist, richtig? Wenn dem so ist, gibt es da ein Problem mit Ganztägigen und oder Serienterminen?


Ich habe zum Beispiel einen Kalender in dem die Feiertage stehen. Er zeigt für heute keinen Termin an obwohl der Termin noch läuft. Ich würde über Calview nämlich gern einfach auswerten ob c-today 1 hat, dann könnte ich mir die Auswertung der anderen Readings sparen.


Internals:
   CFGFN     
   DEF        ferien next 900
   INTERVAL   900
   KALENDER   ferien
   NAME       CalViewFerien
   NR         16758
   NTFY_ORDER 50-CalViewFerien
   STATE      t: 2 td: 0 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-01-01 12:56:10   c-term          2
     2018-01-01 12:56:10   c-today         0
     2018-01-01 12:56:10   c-tomorrow      0
     2018-01-01 12:56:10   state           t: 2 td: 0 tm: 0
     2018-01-01 12:56:10   t_001_bdate     24.12.2017
     2018-01-01 12:56:10   t_001_btime     00:00:00
     2018-01-01 12:56:10   t_001_categories 
     2018-01-01 12:56:10   t_001_daysleft  -8
     2018-01-01 12:56:10   t_001_daysleftLong in -8 Tagen
     2018-01-01 12:56:10   t_001_description Dieser Kalender enthält zur Zeit die Ferien bis Januar 2022.
     2018-01-01 12:56:10   t_001_edate     14.01.2018
     2018-01-01 12:56:10   t_001_etime     00:00:00
     2018-01-01 12:56:10   t_001_location  Hessen
     2018-01-01 12:56:10   t_001_mode      next
     2018-01-01 12:56:10   t_001_source    ferien
     2018-01-01 12:56:10   t_001_sourcecolor white
     2018-01-01 12:56:10   t_001_summary   Weihnachtsferien
     2018-01-01 12:56:10   t_001_timeshort 00:00:00 - 00:00:00
     2018-01-01 12:56:10   t_001_weekday   0
     2018-01-01 12:56:10   t_001_weekdayname Sonntag
     2018-01-01 12:56:10   t_002_bdate     26.03.2018
     2018-01-01 12:56:10   t_002_btime     00:00:00
     2018-01-01 12:56:10   t_002_categories 
     2018-01-01 12:56:10   t_002_daysleft  84
     2018-01-01 12:56:10   t_002_daysleftLong in 84 Tagen
     2018-01-01 12:56:10   t_002_description Dieser Kalender enthält zur Zeit die Ferien bis Januar 2022.
     2018-01-01 12:56:10   t_002_edate     08.04.2018
     2018-01-01 12:56:10   t_002_etime     00:00:00
     2018-01-01 12:56:10   t_002_location  Hessen
     2018-01-01 12:56:10   t_002_mode      next
     2018-01-01 12:56:10   t_002_source    ferien
     2018-01-01 12:56:10   t_002_sourcecolor white
     2018-01-01 12:56:10   t_002_summary   Osterferien
     2018-01-01 12:56:10   t_002_timeshort 00:00:00 - 00:00:00
     2018-01-01 12:56:10   t_002_weekday   1
     2018-01-01 12:56:10   t_002_weekdayname Montag
Attributes:
   DbLogExclude .*
   event-on-change-reading .*
   maxreadings 2
   modes      next
   room       Kalender
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

buchner51

Hallo zusammen,

ich würde gerne einen Familienkalender erstellen, leider gibt das der Googlekalender nicht her.

Ich hätte gerne in der einen Achse die Namen und in der anderen die Tage.

Hat dies schon jemand probiert oder einen Ansatz???
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

buchner51

Hallo,

ist mein Wunsch so falsch oder hab ich jemand zum nachdenken bekommen???

gruß
Raspberry pi 3+
KNX mit TUL, FHEM mit SMARTVISU 2.9

Torsten_MG

Hallo,
ich habe heute ein Calview erstellt, wo 3 Kalender zusammen abgefragt werden. Nun wollte ich, das im Tablet UI die unterschiedlichen Kalender in verschiedenen Farben dargestellt werden. Nur funktioniert das bei mir leider nicht.

Hier meine Kalender:

Kalender1:
Internals:
   DEF        Kalender_Tanja_Torsten 1 21200
   INTERVAL   21200
   KALENDER   Kalender_Tanja_Torsten
   NAME       vKalender_Tanja_Torsten
   NR         39
   NTFY_ORDER 50-vKalender_Tanja_Torsten
   STATE      t: 7 td: 1 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-01-27 11:01:56   c-term          7
     2018-01-27 11:01:56   c-today         1
     2018-01-27 11:01:56   c-tomorrow      0
     2018-01-27 11:01:56   state           t: 7 td: 1 tm: 0
.
.
.
Attributes:
   maxreadings 10
   modes      modeAlarm,modeStart,modeStarted,modeUpcoming
   room       Kalender
   sourcecolor #FF0000
   weekdayformat de-short


Kalender2
Internals:
   DEF        Kalender_Denise 1 21200
   INTERVAL   21200
   KALENDER   Kalender_Denise
   NAME       vKalender_Denise
   NR         41
   NTFY_ORDER 50-vKalender_Denise
   STATE      t: 10 td: 0 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-01-27 11:01:54   c-term          10
     2018-01-27 11:01:54   c-today         0
     2018-01-27 11:01:54   c-tomorrow      0
.
.
.
Attributes:
   maxreadings 10
   modes      modeAlarm,modeStart,modeStarted,modeUpcoming
   room       Kalender
   sourcecolor #00FF00
   weekdayformat de-short


Kalender3
Internals:
   DEF        Kalender_Ben 1 21200
   INTERVAL   21200
   KALENDER   Kalender_Ben
   NAME       vKalender_Ben
   NR         43
   NTFY_ORDER 50-vKalender_Ben
   STATE      t: 10 td: 0 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-01-27 11:01:54   c-term          10
     2018-01-27 11:01:54   c-today         0
     2018-01-27 11:01:54   c-tomorrow      0
.
.
.
Attributes:
   maxreadings 10
   modes      next
   room       Kalender
   sourcecolor #FFA500
   weekdayformat de-short


Zusammengefügte Kalender:
Internals:
   CFGFN     
   DEF        Kalender_Tanja_Torsten,Kalender_Denise,Kalender_Ben next 3600
   INTERVAL   3600
   KALENDER   Kalender_Tanja_Torsten,Kalender_Denise,Kalender_Ben
   NAME       Kalender_alle_Termine
   NR         402
   NTFY_ORDER 50-calview_all
   STATE      t: 27 td: 1 tm: 0
   TYPE       CALVIEW
   READINGS:
     2018-01-27 14:02:01   c-term          27
     2018-01-27 14:02:01   c-today         1
     2018-01-27 14:02:01   c-tomorrow      0
.
.
.
Attributes:
   modes      next
   room       Kalender
   sourcecolor vKalender_Tanja_Torsten:#FF0000
vKalender_Denise:#00FF00
vKalender_Ben:#FFA500


und in der Ftui habe ich folgenden Code eingefügt:
<div data-type="calview"
data-device="Kalender_alle_Termine"
data-get="all"
data-dateformat="short"
data-timeformat="short"
data-detail='["bdate","btime","summary","sourcecolor"]'
data-detailwidth='["20","60"]'
data-sourcecolor="yes" >
</div>


Anscheinend habe ich irgendwas vergessen, leider weiß ich nicht was

chris1284

#201
dein Attribut Sourcecolor ist falsch

deines
sourcecolor vKalender_Tanja_Torsten:#FF0000
                  ^- ein"v" zuviel
aber deine Kalender heißen  Kalender_Tanja_Torsten,Kalender_Denise,Kalender_Ben
also muss  das Attribut lauten

sourcecolor Kalender_Tanja_Torsten:#FF0000

die 3 anderen View v.... sind eigentlich überflüssig wenn du eh alle Calendar-Devices in einer View darstellen willst

Torsten_MG

#202
In meinem Calview "Kalender_alle_Termine" werden ja 3 Kalender vereinigt. Wie bekomme ich es jetzt hin, dass Termine vom Kalender1 in Rot, Termine von Kalender3 in Orange und Termine von Kalender3 in Grün dargestellt wird?

Jetzt habe ich es nur so hinbekommen, dass die Termine vom Kalender1 in Rot dargestellt werden.

Edit:

Zusatzfrage:

Hat data-showempty noch eine funktion? Egal ob ich data-showempty="false" oder  data-showempty="true" eingebe, das Widget bleibt leer. Ich dachte, da kommt eine Info wenn kein Termin ansteht, so habe ich zumindest Zeigt einen Text an, wenn keine Termine im angegebenen Zeitraum vorhanden sind verstanden.

chris1284

Zitat von: Torsten_MG am 27 Januar 2018, 16:37:39
In meinem Calview "Kalender_alle_Termine" werden ja 3 Kalender vereinigt. Wie bekomme ich es jetzt hin, dass Termine vom Kalender1 in Rot, Termine von Kalender3 in Orange und Termine von Kalender3 in Grün dargestellt wird?


In dem du bei Calview Kalender_alle_Termine das Attribut Sourcecolor weiter füllst (wie es auch in der Commadref beschrieben steht):

sourcecolor Kalender_Tanja_Torsten:#FF0000,Kalender_Denise:#ffad46,Kalender_Ben:#006400

Torsten_MG

Zitat von: chris1284 am 27 Januar 2018, 17:40:14
In dem du bei Calview Kalender_alle_Termine das Attribut Sourcecolor weiter füllst (wie es auch in der Commadref beschrieben steht)

Hatte ich gemacht, aber ohne Wirkung. Erst nachdem ich gerade set Kalender_alle_Termine update gemacht habe, hat es funktioniert. Vorher hatte ich ein shutdown restart gemacht, aber das hatte nichts bewirkt :o

Torsten_MG

#205
Jetzt habe ich aber noch ein Problem,

ich wollte eine Überschrift über den Terminen machen (Datum, Von, Bis, Termin).

Aber nun habe ich eine große Lücke zw. Überschrift und den Terminen. Siehe Bild.

Anbei noch der Code, den ich benutzt habe:<header><div data-type="label" class="large">Termine</div></header>
<div class="sheet">
<div class="row">
<div class="col-15">
<div class="yellow" data-type="label">Datum</div>
</div>
<div class="col-15">
<div class="yellow" data-type="label">Von</div>
</div>
<div class="col-15">
<div class="yellow" data-type="label">Bis</div>
</div>
<div class="col-50">
<div class="yellow" data-type="label">Termin</div>
</div>
</div>
<div class="row">
<div data-type="calview"
data-device="Kalender_alle_Termine"
data-get="all"
data-dateformat="short"
data-timeformat="short"
data-detail='["bdate","btime","etime","summary","sourcecolor"]'
data-detailwidth='["15","15","15","55"]'
data-sourcecolor="yes" >
</div>
</div>
</div>


EDIT:

Die Summe der 4 Col ist deshalb <100, weil sonst der Text Termin in die nächste Zeile rutscht, diese ist dann ca. in der Mitte des Bereiches


Zusatzfrage:

Hat data-showempty noch eine funktion? Egal ob ich data-showempty="false" oder  data-showempty="true" eingebe, das Widget bleibt leer. Ich dachte, da kommt eine Info wenn kein Termin ansteht, so habe ich zumindest Zeigt einen Text an, wenn keine Termine im angegebenen Zeitraum vorhanden sind verstanden.

Torsten_MG

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.

chris1284

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

In data-showempty war wirklich ein Syntaxfehler, ist behoben (im github)

Torsten_MG

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

Aus irgendeinem Grund funktioniert es noch nicht bei mir :o

Ich habe die widget_calview.js in den www/tablet/js-Ordner gepackt. Auch nochmal ein shutdown restart gemacht. Aber weder bei data-showempty="true" noch bei data-showempty="false" wird mir was angezeigt

chris1284

Es funktioniert auch nur bei data-get="today" und data-get="tomorrow". Ich bräuchte wenn es bei dir so definiert ist die tui-definition