57_CALENDAR - welche RRULE funktionieren?

Begonnen von betateilchen, 06 Mai 2018, 14:33:12

Vorheriges Thema - Nächstes Thema

betateilchen

Hallo Boris,
gibt es irgendwo eine zuverlässige Aufstellung darüber, welche RRULE für wiederkehrende Termine im Kalendermodul funktionieren und welche nicht?

In folgendem Kalendereintrag werden mir bei "get .. vevents" zwar alle events angezeigt,


130: VEVENT @213 [new]
    CREATED: 20180506T121321Z
    DTEND: 20180507T020000
    DTSTAMP: 20180506T121347Z
    DTSTART: 20180507T010000
    RRULE: FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,WE,FR
    SEQUENCE: 0
    SUMMARY: bd_Ventilator
    TRANSP: OPAQUE
    UID: 63646721-388B-4BCF-81F8-46DFBC7FD941
    X-APPLE-TRAVEL-ADVISORY-BEHAVIOR: AUTOMATIC
    >>> is a series
    >>> Events:
      63646721388B4BCF81F846DFBC7FD941    upcoming                     07.05.2018 01:00-07.05.2018 02:00 bd_Ventilator   
      63646721388B4BCF81F846DFBC7FD941    upcoming                     09.05.2018 01:00-09.05.2018 02:00 bd_Ventilator   
      63646721388B4BCF81F846DFBC7FD941    upcoming                     11.05.2018 01:00-11.05.2018 02:00 bd_Ventilator   
      63646721388B4BCF81F846DFBC7FD941    upcoming                     14.05.2018 01:00-14.05.2018 02:00 bd_Ventilator   
      63646721388B4BCF81F846DFBC7FD941    upcoming                     16.05.2018 01:00-16.05.2018 02:00 bd_Ventilator   


aber bei einem "get ... text next 10" taucht nur der Eintrag für morgen (Montag) auf.


06.05.18 21:00 sz_Bett_rechts
07.05.18 01:00 bd_Ventilator
07.05.18 02:00 ar_Ventilator
07.05.18 21:00 sz_Bett_rechts
08.05.18 21:00 sz_Bett_rechts
16.05.18 21:00 sz_Bett_rechts
17.05.18 21:00 sz_Bett_rechts
18.05.18 21:00 sz_Bett_rechts
19.05.18 21:00 sz_Bett_rechts
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Hallo,

es gibt eine kurze Beschreibung dazu in der commandref unter Description beim Modul.

Der gezeigte Fall ist implementiert.

Kannst Du bitte mal get ... events  ... benutzen?

Ich schau mir das am Wochenende an.

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

betateilchen

Hallo Boris,

in "get events" kommen die events alle korrekt:


07.05.2018 21:00 8h sz_Bett_rechts
08.05.2018 21:00 8h sz_Bett_rechts
>> 09.05.2018 01:00 1h bd_Ventilator
09.05.2018 02:00 1h ar_Ventilator
>> 11.05.2018 01:00 1h bd_Ventilator
11.05.2018 02:00 1h ar_Ventilator
>> 14.05.2018 01:00 1h bd_Ventilator
14.05.2018 02:00 1h ar_Ventilator
14.05.2018 21:00 8h sz_Bett_rechts
15.05.2018 21:00 8h sz_Bett_rechts
>> 16.05.2018 01:00 1h bd_Ventilator
16.05.2018 02:00 1h ar_Ventilator
16.05.2018 21:00 8h sz_Bett_rechts
17.05.2018 21:00 8h sz_Bett_rechts
>> 18.05.2018 01:00 1h bd_Ventilator
18.05.2018 02:00 1h ar_Ventilator
18.05.2018 21:00 8h sz_Bett_rechts
19.05.2018 21:00 8h sz_Bett_rechts
20.05.2018 21:00 8h sz_Bett_rechts
>> 21.05.2018 01:00 1h bd_Ventilator
21.05.2018 02:00 1h ar_Ventilator
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Hallo Udo,

ich möchte in einer kommenden Version nur noch get events zulassen und die alten Methoden entfernen. Eine Markierung als deprecated in der Commandref und ein Hinweis in den Ankündigen genügen vermutlich dafür nicht. Eine Ausgabe bei Benutzung der Methoden stört bestehende Systeme. Hast Du eine praktische Idee?

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

amenomade

@betateilchen: bin mal neugierig. Anscheinend sind deine Events nach Dauer + Devices genannt. Wie füllst Du diesen Kalender aus (hast Du z.B. eine komplexe Kalkulation abhängig von Feiertage, Urlaub usw..), und wie werden dann die Events genutzt?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Dr. Boris Neubert

Zitat von: amenomade am 10 Mai 2018, 12:43:00
Anscheinend sind deine Events nach Dauer ... genannt.

Nein. get events liefert eine konfigurierbare Ausgabe. Die Dauer wird aus Start- und Endzeitpunkt abgeleitet und ausgewiesen. Siehe Commandref.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

amenomade

Ok, sorry und danke. Trotzdem bin ich interessiert, wie man Events mit Devicenamen nutzt.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Dr. Boris Neubert

Siehe commandref, unter "switch actors on and off"
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Zitat von: Dr. Boris Neubert am 10 Mai 2018, 12:30:37
ich möchte in einer kommenden Version nur noch get events zulassen und die alten Methoden entfernen

Dann sollte aber "get events" bitte auch die Angabe "next <n>" akzeptieren, was bisher nicht funktioniert. Sonst hätte ich längst umgestellt.

Diese grundsätzliche Umstellung solltest Du zu einem nächsten Major Release einfach hart umsetzen aber im Vorfeld ankündigen und bis dahin als "deprecated" ins Logfile schreiben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: amenomade am 10 Mai 2018, 13:23:14
Trotzdem bin ich interessiert, wie man Events mit Devicenamen nutzt.

das ist doch ein der grundsätzlichen Aufgaben, weshalb man das Calendar-Modul überhaupt verwendet?

Hier im Forum habe ich schon ein paar Lösungsansätze mit notify beschrieben, sowohl zum Schalten von Aktoren als auch zum Steuern von Raumheizungen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 10 Mai 2018, 18:39:58
Dann sollte aber "get events" bitte auch die Angabe "next <n>" akzeptieren, was bisher nicht funktioniert. Sonst hätte ich längst umgestellt.

series:next=<n>

geht nicht oder tut nicht das von Dir Erwartete?

Zitat
Diese grundsätzliche Umstellung solltest Du zu einem nächsten Major Release einfach hart umsetzen aber im Vorfeld ankündigen und bis dahin als "deprecated" ins Logfile schreiben.

So wird es gemacht!
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Zitat von: Dr. Boris Neubert am 10 Mai 2018, 19:01:33
series:next=<n>

geht nicht oder tut nicht das von Dir Erwartete?

nicht wirklich das, was ich erwarte...

get ... events series:next=10

liefert


11.05.2018 01:00 1h bd_Ventilator
11.05.2018 02:00 1h ar_Ventilator
14.05.2018 01:00 1h bd_Ventilator
14.05.2018 02:00 1h ar_Ventilator
14.05.2018 21:00 8h sz_Bett_rechts
15.05.2018 21:00 8h sz_Bett_rechts
16.05.2018 01:00 1h bd_Ventilator
16.05.2018 02:00 1h ar_Ventilator
16.05.2018 21:00 8h sz_Bett_rechts
17.05.2018 21:00 8h sz_Bett_rechts
18.05.2018 01:00 1h bd_Ventilator
18.05.2018 02:00 1h ar_Ventilator
18.05.2018 21:00 8h sz_Bett_rechts
19.05.2018 21:00 8h sz_Bett_rechts
20.05.2018 21:00 8h sz_Bett_rechts
21.05.2018 01:00 1h bd_Ventilator
21.05.2018 02:00 1h ar_Ventilator
21.05.2018 21:00 8h sz_Bett_rechts
22.05.2018 21:00 8h sz_Bett_rechts
23.05.2018 01:00 1h bd_Ventilator
23.05.2018 02:00 1h ar_Ventilator
23.05.2018 21:00 8h sz_Bett_rechts
25.05.2018 01:00 1h bd_Ventilator
25.05.2018 02:00 1h ar_Ventilator
27.05.2018 12:00 17h sz_Bett_rechts
28.05.2018 01:00 1h bd_Ventilator
28.05.2018 02:00 1h ar_Ventilator
28.05.2018 21:00 8h sz_Bett_rechts
29.05.2018 21:00 8h sz_Bett_rechts
30.05.2018 01:00 1h bd_Ventilator
30.05.2018 02:00 1h ar_Ventilator
30.05.2018 21:00 8h sz_Bett_rechts
31.05.2018 21:00 8h sz_Bett_rechts
01.06.2018 01:00 1h bd_Ventilator
01.06.2018 02:00 1h ar_Ventilator
01.06.2018 21:00 8h sz_Bett_rechts
02.06.2018 21:00 8h sz_Bett_rechts
03.06.2018 21:00 8h sz_Bett_rechts
04.06.2018 21:00 8h sz_Bett_rechts
05.06.2018 21:00 8h sz_Bett_rechts
06.06.2018 21:00 8h sz_Bett_rechts
10.06.2018 12:00 17h sz_Bett_rechts
11.06.2018 21:00 8h sz_Bett_rechts
12.06.2018 21:00 8h sz_Bett_rechts
13.06.2018 21:00 8h sz_Bett_rechts
14.06.2018 21:00 8h sz_Bett_rechts
15.06.2018 21:00 8h sz_Bett_rechts
16.06.2018 21:00 8h sz_Bett_rechts
17.06.2018 21:00 8h sz_Bett_rechts
18.06.2018 21:00 8h sz_Bett_rechts
19.06.2018 21:00 8h sz_Bett_rechts
20.06.2018 21:00 8h sz_Bett_rechts
24.06.2018 12:00 17h sz_Bett_rechts
25.06.2018 21:00 8h sz_Bett_rechts
26.06.2018 21:00 8h sz_Bett_rechts
27.06.2018 21:00 8h sz_Bett_rechts
28.06.2018 21:00 8h sz_Bett_rechts
29.06.2018 21:00 8h sz_Bett_rechts
30.06.2018 21:00 8h sz_Bett_rechts
01.07.2018 21:00 8h sz_Bett_rechts
02.07.2018 21:00 8h sz_Bett_rechts
03.07.2018 21:00 8h sz_Bett_rechts
04.07.2018 21:00 8h sz_Bett_rechts
08.07.2018 12:00 17h sz_Bett_rechts
09.07.2018 21:00 8h sz_Bett_rechts
10.07.2018 21:00 8h sz_Bett_rechts
11.07.2018 21:00 8h sz_Bett_rechts
12.07.2018 21:00 8h sz_Bett_rechts
13.07.2018 21:00 8h sz_Bett_rechts
14.07.2018 21:00 8h sz_Bett_rechts
15.07.2018 21:00 8h sz_Bett_rechts
16.07.2018 21:00 8h sz_Bett_rechts
17.07.2018 21:00 8h sz_Bett_rechts
18.07.2018 21:00 8h sz_Bett_rechts
22.07.2018 12:00 17h sz_Bett_rechts
26.07.2018 21:00 8h sz_Bett_rechts
27.07.2018 21:00 8h sz_Bett_rechts
28.07.2018 21:00 8h sz_Bett_rechts
29.07.2018 21:00 8h sz_Bett_rechts
05.08.2018 12:00 17h sz_Bett_rechts
09.08.2018 21:00 8h sz_Bett_rechts
10.08.2018 21:00 8h sz_Bett_rechts
11.08.2018 21:00 8h sz_Bett_rechts
12.08.2018 21:00 8h sz_Bett_rechts
19.08.2018 12:00 17h sz_Bett_rechts
23.08.2018 21:00 8h sz_Bett_rechts
24.08.2018 21:00 8h sz_Bett_rechts
25.08.2018 21:00 8h sz_Bett_rechts
26.08.2018 21:00 8h sz_Bett_rechts
02.09.2018 12:00 17h sz_Bett_rechts
06.09.2018 21:00 8h sz_Bett_rechts
07.09.2018 21:00 8h sz_Bett_rechts
08.09.2018 21:00 8h sz_Bett_rechts
09.09.2018 21:00 8h sz_Bett_rechts
16.09.2018 12:00 17h sz_Bett_rechts
20.09.2018 21:00 8h sz_Bett_rechts
21.09.2018 21:00 8h sz_Bett_rechts
22.09.2018 21:00 8h sz_Bett_rechts
23.09.2018 21:00 8h sz_Bett_rechts
30.09.2018 12:00 17h sz_Bett_rechts


und das sind definitiv mehr als 10 Einträge  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Zitat von: betateilchen am 10 Mai 2018, 20:38:19
und das sind definitiv mehr als 10 Einträge  8)

Ich habe mit ein paar Varianten gespielt und kann das nicht nachvollziehen. Bei mir funktioniert es spezifikationsgemäß. Sogar mit dem Kalender, den Du mir mal in einem anderen Thema gegeben hast. Kannst Du mir bitte den iCalender zur Verfügung stellen zum Testen?

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

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Danke. Ursache identifiziert.

get ... events format:custom="$T1-$T2 $U  $S $DS $M" series:next=3

zeigt anhand der UIDs, dass die Termine mit Beschreibung sz_Bett_rechts mehreren Serienterminen entstammen. Aus jeder Serie kommen korrekt bis zu 3 Termine.

Was nun?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!