57_CALENDAR und Kategorien

Begonnen von caldir65, 08 November 2017, 18:53:24

Vorheriges Thema - Nächstes Thema

caldir65

Hallo,

ich habe mehrere Kalender definiert, die von einem NextCloud-Server geliefert werden. In den Kalendern werden z.T. auch Kategorien eingesetzt, die dann auch in der entsprechenden ical-Datei  zu finden sind

BEGIN:VEVENT
DTSTAMP:20171108T173915Z
CREATED:20171108T173831Z
UID:libkcal-1293077445.855
SEQUENCE:4
LAST-MODIFIED:20171108T173915Z
SUMMARY:Überstunden frei Meike
LOCATION:Bakum
STATUS:CONFIRMED
CATEGORIES:Urlaub
DTSTART;VALUE=DATE:20171113
DTEND;VALUE=DATE:20171114
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR

(Ausschnitt aus einer von Nextcloud exportierten Kalenderdatei)

Ich würde die Kategorien gerne in fhem auswerten, z.B. für Heizungs- oder Rollosteuerung, aber offenbar werden die nicht vom Modul übernommen?
Ein get kalender full all ergibt
libkcal1293077445855  upcoming                     13.11.2017 00:00:00-14.11.2017 00:00:00 Überstunden frei Meike Bakum

Gibt es eine Möglichkeit, die Kats auch hier / im Modul mit einzubringen?

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Dr. Boris Neubert

Hallo Christoph,

wenn Du selbst etwas Perl kannst, kannst Du mal bitte versuchen, Kategorien in der Funktion ab Zeile 1094 in 57_Calendar.pm als

  $event->{categories}= $self->valueOrDefault("CATEGORIES", "");

zu ergänzen. Ferner categories in Zeile 1753 aufführen und in der Litanei ab Zeile 1815 als $event->categories() ergänzenund dann noch eine sub categories ab 483 einbauen.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

caldir65



Zitat von: Dr. Boris Neubert am 09 November 2017, 21:39:28
Hallo Christoph,

wenn Du selbst etwas Perl kannst,

Hallo Boris,

das ist das Problem, ich kann nicht wirklich programmieren - das was ich mit fhem bisher realisiert habe, ist letztlich zusammen gesucht und etwas angepaßt ;) ... ich habe mal etwas Basic und Turbopascal gelernt - aber das war vor über 30 Jahren :D

Ich will mich wohl mal in der nächsten Zeit versuchen (am We bin ich allerdings nicht da), aber ob es wirklich klappt... - schauen wir mal ;)

Gruß Christoph

Gesendet von meinem SM-G930F mit Tapatalk

Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Dr. Boris Neubert

Hallo,

ich schaue mal, wann ich die paar Zeilen eingebaut bekomme.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

nils_

viele Wege in FHEM es gibt!

caldir65

#5
Moin,

ich habe mir die obigen Modifikationen einmal angesehen und eingebaut - nach der Änderung von category in categories an verschiedenen Stellen scheint es zu klappen - zumindest erhalte ich bei
get <kalendar> categories all
für die geladenen Events die Kategorie ausgeworfen.

Bei
get <kalendar> full all
kommen zwar alle Events, aber die Kategorie wird nicht angezeigt, und auch in den Readings ist sie noch nicht dabei...

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

nils_

Zitat von: caldir65 am 13 November 2017, 11:18:08
ich habe mir die obigen Modifikationen einmal angesehen und eingebaut - nach der Änderung von category in categories an verschiedenen Stellen scheint es zu klappen - zumindest erhalte ich bei
get <kalendar> categories all
für die geladenen Events die Kategorie ausgeworfen.
oh, hab ich da noch was verbockt??

Zitat von: caldir65 am 13 November 2017, 11:18:08
Bei
get <kalendar> full all
kommen zwar alle Events, aber die Kategorie wird nicht angezeigt, und auch in den Readings ist sie noch nicht dabei...

für abfrage von "full", müsste wohl noch die sub asFull() angepasst werden.
(und um es vollständig zu machen, wohl auch asDebug() )

sub asFull {
  my ($self)= @_;
  return sprintf("%s %9s %s %s-%s %s %s %s",
    $self->uid(),
    $self->getMode(),
    $self->{alarm} ? $self->ts($self->{alarm}) : "                   ",
    $self->ts($self->{start}),
    $self->ts($self->{end}),
    $self->{summary},
    $self->{category},
    $self->{location}
  );
}

sub asDebug {
  my ($self)= @_;
  return sprintf("%s %s %9s %s %s-%s %s %s %s %s",
    $self->uid(),
    $self->modeChanged() ? "*" : " ",
    $self->getMode(),
    $self->{alarm} ? $self->ts($self->{alarm}) : "                   ",
    $self->ts($self->{start}),
    $self->ts($self->{end}),
    $self->{summary},
    $self->{category},
    $self->{location},
    $self->hasNote() ? $self->getNote() : ""
  );
}

viele Wege in FHEM es gibt!

caldir65

Moin,

jupp, jetzt kommt es auch im
get <kalendar> categories all

Nur in den Readings ist noch nix

Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

nils_

#8
nur zur info:

bei
return sprintf("%s %9s %s %s-%s %s %s %s",
ist ein %s mehr drin! durch das hinzufügen einer weiteren variable (categories)



nur kurz, bin gleich unterwegs.

//edit
wie sehen denn mometan die readings aus? poste doch mal ein list (evtl. persönliche daten vorher entfernen!)
viele Wege in FHEM es gibt!

caldir65

Moin,

Internals:
   DEF        ical url https://NAME:PASSWORT@fSERVER/remote.php/dav/calendars/christoph/urlaubs-kalender/?export 86400
   NAME       fhem_Urlaub
   NOTIFYDEV  global
   NR         1497
   NTFY_ORDER 50-fhem_Urlaub
   STATE      triggered
   TYPE       Calendar
   READINGS:
     2017-11-13 21:37:16   calname         Urlaubs-Kalender
     2017-11-13 21:37:16   lastUpdate      2017-11-13 21:37:14
     2017-10-29 17:01:47   modeAlarm
     2017-11-14 00:00:00   modeAlarmOrStart
     2017-10-29 17:01:47   modeAlarmed
     2017-11-14 00:00:00   modeChanged     libkcal1293077445855
     2017-11-14 00:00:00   modeEnd         libkcal1293077445855;libkcal613483831795;libkcal19232735521006;libkcal20283278581014
     2017-11-14 00:00:00   modeEnded       libkcal1293077445855
     2017-11-14 00:00:00   modeStart
     2017-11-13 10:41:07   modeStarted
     2017-11-13 00:00:00   modeUpcoming
     2017-11-13 21:37:16   nextUpdate      2017-11-14 21:37:14
     2017-11-14 00:00:00   nextWakeup      2017-11-14 21:37:14
     2017-11-14 00:00:00   state           triggered
Attributes:
   alias      Urlaubskalender
   hideOlderThan 7d
   room       Kalender
   verbose    5


Ein
get <kalendar> categories all

bringt aktuell das Ergebnis im Anhang

Gruß, CHristoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

nils_

ist das nun richtig oder falsch?

viele Wege in FHEM es gibt!

caldir65

Moin,

was get all betrifft, sind meine Kategorien ja da, aber in den Readings noch nicht...
Ich weiß jetzt nicht, wie Calview letztlich abfragen würde - ob es da in den Readings sein müßte...

Mal sehen, wann ich wieder mehr Zeit habe ;) Im Moment komme ich nicht wirklich groß dazu ...

Gruß, CHristoph

PS: im Update von heute früh sind die Categories noch nicht enthalten ;) - also werde ich sie wieder einarbeiten ;)
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

nils_

Zitat von: caldir65 am 15 November 2017, 08:12:51
Ich weiß jetzt nicht, wie Calview letztlich abfragen würde - ob es da in den Readings sein müßte...
hab dort auch mal reingeschaut, da werden die Kategorien nicht abgefragt, d.h. dort müsste vmtl. auch etwas angepasst werden!

Zitat von: caldir65 am 15 November 2017, 08:12:51
PS: im Update von heute früh sind die Categories noch nicht enthalten ;) - also werde ich sie wieder einarbeiten ;)
es gibt ja kein offizielles update von Boris. wurde deine lokale anpassung überschrieben?
entweder musste die Änderungen immer wieder einbauen, oder exclude_from_update nutzen bis es eine neue version gibt. (und dann nicht vergessen, das auch wieder zu entfernen ;) )
viele Wege in FHEM es gibt!

caldir65

Zitat von: nils_ am 15 November 2017, 08:35:22
hab dort auch mal reingeschaut, da werden die Kategorien nicht abgefragt, d.h. dort müsste vmtl. auch etwas angepasst werden!
es gibt ja kein offizielles update von Boris. wurde deine lokale anpassung überschrieben?
entweder musste die Änderungen immer wieder einbauen, oder exclude_from_update nutzen bis es eine neue version gibt. (und dann nicht vergessen, das auch wieder zu entfernen ;) )
Ist ja kein Problem mit dem Update - ich habe auch noch meine Version gesichert ;)

Wenn ich die Zeit finde, werde ich mich noch mal damit auseinander setzen - mal sehen, was ich hin bekomme ;)

Gesendet von meinem SM-G930F mit Tapatalk

Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 64GB SSD, Lubuntu 22.04LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Dr. Boris Neubert

Hi,

Danke für die Vorarbeiten und den Patch. Habe mir vorgenommen, ihn dieses Wochenende zu integrieren.

Was meinst Du mit Kategorien in Readings? Es gibt nichts Vergleichbares im Modul. Wie sollte das Deiner Meinung nach durch Dich benutzt werden können bzw. was willst Du damit erreichen?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!