FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Kalendermodule => Thema gestartet von: kaihs am 19 März 2018, 20:39:38

Titel: 57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: kaihs am 19 März 2018, 20:39:38
Hallo,

wäre es möglich das CLASS Attribut eines Kalendareintrags zu unterstützen?

Da steht so was drin wie
CLASS:PRIVATE
CLASS:PUBLIC

also die Sichtbarkeit eines Termins.
Könnte ich gut gebrauchen.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: nils_ am 20 März 2018, 10:56:48
guck mal hier https://forum.fhem.de/index.php/topic,79237.0.html
das war eine erweiterung für Kategorien.

Boris freut sich immer über patches :)
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: nils_ am 20 März 2018, 12:06:32
was zum testen :)
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: kaihs am 20 März 2018, 21:25:17
Vielen Dank für deine Mühe.

Interessanterweise kommt es nach einem

reload 57_Calendar


zu dem Fehler

Too many arguments for main::Calendar_CheckAndRearm at ./FHEM/57_Calendar.pm line 2216, near "$t)"


Das hat aber nichts mit deinen Änderungen zu tun, der Fehler war auch schon vorher drin.
Er wird aber nicht ausgegeben, wenn fhem neu gestartet wird was ich nicht so ganz verstehe.

Deine Änderungen muss ich noch testen.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: nils_ am 21 März 2018, 08:13:14
gibt es noch mehr im log?? (siehe code unten, da sollten noch etwas stehen ;) )
der teil wird eigentlich nur durchlaufen, wenn keine daten ausgelesen werden konnten, wenn ich das alles richtig verstehe! ansonsten musst du auf antwort von boris warten.

if($errmsg or !defined($ics) or ("$ics" eq "") ) {
    Log3 $hash, 1, "Calendar $name: retrieved no or empty data";
    readingsSingleUpdate($hash, "state", "error (no or empty data)", 1);
    Calendar_CheckAndRearm($hash, $t);


bin mir nicht sicher, ob für den aufruf von Calendar_CheckAndRearm() der zweite parameter benötigt wird oder entfallen kann.
der verursacht zumindest die fehlermeldung(?) / warnung im log.



zur eigentlichen problematik:
was ist mit den CLASS Einträgen?
ich hab die mal - kraft eigener unwissenheit - Classification genannt. ich wollte schlüsselwort-überschneidungen vermeiden (ich habe nicht gesucht ob es class in perl überhaupt gibt!)

Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: kaihs am 22 März 2018, 20:59:40
Zitat von: nils_ am 21 März 2018, 08:13:14
gibt es noch mehr im log?? (siehe code unten, da sollten noch etwas stehen ;) )

Der oben gemeldete Fehler erschien im Webfrontend nach einem reload des Moduls.

Im Log steht jetzt

2018.03.22 20:40:21 1: Calendar cal_Beruflich: retrieval failed with error message read from https://calendar.google.com:443 timed out
2018.03.22 20:40:21 1: Calendar cal_Beruflich: retrieved no or empty data
2018.03.22 20:40:22 1: PERL WARNING: Use of uninitialized value $t in numeric lt (<) at ./FHEM/57_Calendar.pm line 1942.
2018.03.22 20:40:22 1: stacktrace:
2018.03.22 20:40:22 1:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (1942)
2018.03.22 20:40:22 1:     main::Calendar_RearmTimer           called by ./FHEM/57_Calendar.pm (2257)
2018.03.22 20:40:22 1:     main::Calendar_CheckAndRearm        called by ./FHEM/57_Calendar.pm (2225)
2018.03.22 20:40:22 1:     main::Calendar_ProcessUpdate        called by FHEM/HttpUtils.pm (108)
2018.03.22 20:40:22 1:     main::HttpUtils_Err                 called by fhem.pl (3108)
2018.03.22 20:40:22 1:     main::HandleTimeout                 called by fhem.pl (636)
2018.03.22 20:44:46 1: Calendar cal_Beruflich: retrieval failed with error message read from https://calendar.google.com:443 timed out
2018.03.22 20:44:46 1: Calendar cal_Beruflich: retrieved no or empty data
2018.03.22 20:44:47 1: PERL WARNING: Use of uninitialized value $t in numeric lt (<) at ./FHEM/57_Calendar.pm line 1942.
2018.03.22 20:44:47 1: stacktrace:
2018.03.22 20:44:47 1:     main::__ANON__                      called by ./FHEM/57_Calendar.pm (1942)
2018.03.22 20:44:47 1:     main::Calendar_RearmTimer           called by ./FHEM/57_Calendar.pm (2257)
2018.03.22 20:44:47 1:     main::Calendar_CheckAndRearm        called by ./FHEM/57_Calendar.pm (2225)
2018.03.22 20:44:47 1:     main::Calendar_ProcessUpdate        called by FHEM/HttpUtils.pm (108)
2018.03.22 20:44:47 1:     main::HttpUtils_Err                 called by fhem.pl (3108)
2018.03.22 20:44:47 1:     main::HandleTimeout                 called by fhem.pl (636)


Da klappt wohl gerade der Zugrifff auf den Kalender bei Google nicht und es kommt in der Folge zu dem Fehler.

Zitat
zur eigentlichen problematik:
was ist mit den CLASS Einträgen?
ich hab die mal - kraft eigener unwissenheit - Classification genannt. ich wollte schlüsselwort-überschneidungen vermeiden (ich habe nicht gesucht ob es class in perl überhaupt gibt!)

Ja, das klappt. Die Frage wie man das innerhalb des Moduls benennen sollte hatte mich davon abgehalten die Erweiterung selbst vorzunehmen. Aber classification halte ich für eine gute Lösung.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: nils_ am 23 März 2018, 08:48:19
leider habe ich die gesamte logik noch nicht durchblickt.
also wofür das $t gebraucht wird zB., und ob es weggelassen werden kann.


ich schick boris mal ne pn, vielleicht guckt er mal drüber wenn er zeit hat.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: Dr. Boris Neubert am 23 März 2018, 09:54:31
Zitat von: kaihs am 20 März 2018, 21:25:17
zu dem Fehler

Too many arguments for main::Calendar_CheckAndRearm at ./FHEM/57_Calendar.pm line 2216, near "$t)"


Das habe ich schon gefixt aber noch nicht eingecheckt.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: Dr. Boris Neubert am 23 März 2018, 09:57:08
Zitat von: nils_ am 20 März 2018, 12:06:32
was zum testen :)

Schaue ich mir an. Bin sowieso gerade an ein paar Erweiterungen des Moduls dran.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: nils_ am 23 März 2018, 10:04:33
Danke für die Rückmeldung :)

Zitat von: Dr. Boris Neubert am 23 März 2018, 09:54:31
Das habe ich schon gefixt aber noch nicht eingecheckt.
ah oki...
ich bin gespannt  8)
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: Dr. Boris Neubert am 23 März 2018, 20:49:08
So, classification ist eingebaut. Default ist PUBLIC. Wird mit der kommenden Testversion veröffentlicht - dazu wird es einen extra Beitrag in diesem Board geben.
Titel: Antw:57_Calender: Unterstützung für CLASS Attribut einbauen?
Beitrag von: kaihs am 23 März 2018, 22:37:39
Vielen Dank, werde ich dann testen.