57_Calendar.pm: alpha-Test der neuen Version

Begonnen von Dr. Boris Neubert, 02 Januar 2016, 19:08:17

Vorheriges Thema - Nächstes Thema

Benni

Hallo Boris,

ich habe die neue Version gestern Abend noch auf mein Testsystem eingespielt und heute Morgen, nachdem es dort problemlos und in Funktionalität wie erwartet durchlief, auf mein Produktiv-System übernommen.
Auch hier läuft im Moment alles wie erwartet. Mit dem triggered-Event liefert nun auch mein notify die korrekten Ergebnisse aus den Readings.

Ich hätte da übrigens noch eine Idee für den max-Parameter beim get-Command. Könnte man den eventuell auch eventuell mit max-days (bspw. 10d) angeben, denn u.U. interessieren ja nicht die nächsten 10 Termine, sondern die der nächsten 10 Tage, schließlich kann es an einem Tag ja auch mehrere Ereignisse geben.
Natürlich könnte man hier auch über hideLaterThan einschränken, was sich ja aber wieder generell auf die Sichtbarkeit auswirken würde. Mit max-days könnte einzelne Abfragen flexibel einschränken (Noch flexibler wäre natürlich eine Range-Angabe ;) )

Auf jeden Fall scheint bei mir alles soweit korrekt zu funktionieren, so dass einem Release von meiner Seite her nichts entgegen steht.

Gruß und vielen Dank!
Benni.

Dr. Boris Neubert

Danke, Benni, für Deinen Test!

Auch Danke für den Vorschlag. Ich gehe jetzt in den Feature Freeze und mache dann erstmal Calendar-Pause. Habe noch Themen auf der ECMD-Schiene.

Wenn ich mit Calendar wieder anfange, werde ich als erstes

get myCalendar events filter:mode=alarm|start|upcoming format=custom:{ sprintf("...") } select:series=next,max=8,from=-3d,to=10d

entwickeln. Wird aufwändig, aber lieber einmal richtig ran. Ich habe gestern den Bedarf gut gesehen, als ich versucht habe, CALVIEW für Arme aka CalendarAsHtml() zu entwickeln.

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

Benni

#77
Zitat von: Dr. Boris Neubert am 24 Januar 2016, 11:29:36
get myCalendar events filter:mode=alarm|start|upcoming format=custom:{ sprintf("...") } select:series=next,max=8,from=-3d,to=10d

gefällt mir! ;D

betateilchen

Hallo Boris,

was wurde eigentlich aus diesem von Dir am 29.09.2013 gemachten Vorschlag?

Zitat von: Dr. Boris Neubert
Was hältst Du von einer superduperselbstkonfigurierbaren Lösung?

attr myCalendar customFormat uid,summary,location
get myCalendar all custom


Viele Grüße
Boris

(ich gebe zu, ich habe noch nicht die gesamte commandref der aktuellen Neuentwicklung durchforstet)

Viele Grüße
Udo

---
-----------------------
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 24 Januar 2016, 20:03:13
was wurde eigentlich aus diesem von Dir am 29.09.2013 gemachten Vorschlag?

(ich gebe zu, ich habe noch nicht die gesamte commandref der aktuellen Neuentwicklung durchforstet)

Steht wieder auf der Agenda.

Den Vorschlag von damals habe ich als ungenügend verworfen. Wer nämlich am selben Kalender verschiedene custom-Formate anwenden möchte, muss diese immer erst als Attribut setzen, bevor es benutzen kann. Die Form

get myCalendar events format:custom=<irgendwas> ...

ist meine präferierte Variante. <irgendwas> wird so ähnlich wie stateFormat funktionieren, mit vorgefertigten Variablen $SUMMARY, $STARTDATE, ... und vollem Zugriff $e->... auf das Event (wie in onCreate).

Aber ich will erstmal die Version freilassen und mich ausruhen, bevor ich das angehe.

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

betateilchen

Schade. :(

Ich fand den angedachten Ansatz sehr praktisch, in vielen Fällen völlig ausreichend und sehr viel inuitiver (und damit vor allem Anfängern leichter erklärbar) als die jetzt favorisierte Lösung.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

get oc_Schalter text all 2

Sollte eigentlich immer - wie im alten Modul, zwecks Abwärtskompatibilität - vom aktuellen Zeitpunkt ausgehend die nächsten zwei events zeigen und nicht die ersten zwei events der Serie. In meiner Anwendung kommen da Werte aus 2014 im InfoPanel zur Anzeige.
-----------------------
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,

all durch next ersetzen.

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

betateilchen

ja ja... ich hab bereits erkannt, dass ich für das neue Calendar-Modul einfach zu doof bin :(
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Kann es sein, dass bei einem erfolglosen update-Versuch eines bestehenden Kalenders (beispielsweise weil der Server auf dem der Kalender liegt, nicht erreichbar ist) sämtliche in fhem vorhandenen events verlorengehen?

Zumindest hatte ich heute den Effekt, dass mir in fhem plötzlich keine events mehr angezeigt wurden, weil der Server bei Strato nicht erreichbar war und das regluäre update (3600 Sekunden) gescheitert war. In state des device war die Fehlermeldung, dass der Server nicht erreicht werden konnte, enthalten.
-----------------------
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

Ernstzunehmende Frage. Muss mir zuhause den Flow ansehen. Gibt es ein verwertbares Log von dem Incident?
Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Erstmal nicht. Prinzipiell kann ich die Situation jederzeit reproduzieren, weil der Kalenderserver mir selbst gehört - ich brauche ihn nur runterzufahren. Aber heute nicht mehr.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

ok ok... aber wirklich aussagekräftig ist selbst verbose=5 nicht.


2016.01.27 21:18:42 4: Calendar oc_Heizung: Updating...
2016.01.27 21:18:42 4: Calendar oc_Heizung: Getting data from URL <hidden>
2016.01.27 21:18:42 1: Calendar oc_Heizung: retrieval failed with error message cloud.betateilchen.de: Verbindungsaufbau abgelehnt
2016.01.27 21:20:34 4: Calendar oc_Schalter: Updating...
2016.01.27 21:20:34 4: Calendar oc_Schalter: Getting data from URL <hidden>
2016.01.27 21:20:34 1: Calendar oc_Schalter: retrieval failed with error message cloud.betateilchen.de: Verbindungsaufbau


Das richtig schlimme an der Sache: Nach einem fehlgeschlagenen Update wird offenbar die regelmäßige Aktualisierung komplett verworfen, denn seit halb fünf heute abend gab es keine Aktualisierungen mehr, obwohl der Server längst wieder läuft und die Calendar-devices nach einem manuellen set ... reload wieder korrekt arbeiten.

(http://up.picr.de/24413691hz.jpg)
-----------------------
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

Okay, die fehlende Aktualisierung kann auch ein Problem im Programmfluss sein. Die Angaben reichen erstmal. Schaue mir den Code an und komme dann zurück.

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

Dr. Boris Neubert

Zitat von: betateilchen am 25 Januar 2016, 08:56:02
Schade. :(

Ich fand den angedachten Ansatz sehr praktisch, in vielen Fällen völlig ausreichend und sehr viel inuitiver (und damit vor allem Anfängern leichter erklärbar) als die jetzt favorisierte Lösung.

Habe mir überlegt, ein Attribut

attr myCalendar defaultFormat <format>

einzuführen. Nach dem Release, wenn die Hitze abgeklungen ist.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!