57_CALVIEW - Erweiterungsmodul für 57_CALENDAR

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

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Ein Device mittels Notify zu modifizieren und dann Save auszulösen ist so ziemlich die unsauberste Art und Weise sowas zu lösen (meine Meinung). Im Beitrag 221 gibt's eine Variante, die ohne sowas auskommt.

balli1187

#286
Zitat von: mumpitzstuff am 11 Juli 2018, 17:56:58
Ein Device mittels Notify zu modifizieren und dann Save auszulösen ist so ziemlich die unsauberste Art und Weise sowas zu lösen (meine Meinung). Im Beitrag 221 gibt's eine Variante, die ohne sowas auskommt.
Wie gesagt, ich bin kein Entwickler und wäre auch eher dafür die Funktionalität direkt ins Modul zu übernehmen.....

Die Grundidee stammt auch nicht von mir sondern habe ich aus einem Beitrag des Modulentwicklers übernommen. Den vorgeschlagenen Beitrag schaue ich mir aber dennoch mal an.

Edit: In #221 geht es soweit ich das sehe ja nur um die Farbe aber in #222 steht was mit defmod. Werde ich mal versuchen, dann sollte sich ja auch das vorherige anlegen der readingsGroup erübrigen.
Das, worum es mir hauptsächlich ging wird da jedoch nicht erreicht: ich möchte nicht für jeden Kalender ein eigenes notify oder dergleichen anlegen müssen, wo ich die Darstellung dann hardcode. Ich wollte lieber eine universellere und weniger statische Methode nutzen.

Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

julianG

@rischbiter123: Der Tipp mit dem HideOlderThen hat mir auch seh geholfen. Jetzt funktioniert Calview wieder so wie erwartet. Danke!

ToM_ToM

Hi Chris,

ist es möglich das Modul daingehend zu erweitern dass man auch Einträge hinzufügen kann?
Mir geht es hier primär um meinen Geburtstagskalender der als iCal-File vorliegt. Aktuell nutze ich Thunderbird um meinen Geburtstagskalender zu editieren.
Cooler wäre es jedoch wenn ich das Ganze direkt per FHEM machen könnte.

Ist dies möglich oder zu aufwändig?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

chris1284

Das wäre er eine Funktion für Calendar als für Calview da hier das Augenmerk auf der Darstellung der Daten aus Calendar liegt

ToM_ToM

ZitatDas wäre er eine Funktion für Calendar als für Calview da hier das Augenmerk auf der Darstellung der Daten aus Calendar liegt
Oh schon wieder die 2 verwechselt...  ::)
Sorry. :)
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

HGButte

Ich habe seit einem FHEM Update vor ca. 4 Wochen das Problem dass ich stündlich eine PERL WARNING im Log habe.
Habe etwas nachgeforscht und festgestellt dass der Eintrag immer beim Update meines FamKalView (CALVIEW) passiert.


2018.07.22 09:18:08 5: Cmd: >set FamKalView update<
2018.07.22 09:18:08 1: PERL WARNING: Use of uninitialized value $d in concatenation (.) or string at (eval 65093) line 1.
2018.07.22 09:18:08 5: CALVIEW FamKalView - All data:


Kann die Änderung am CALVIEW in Zeile 342 damit zu tun haben ?

https://github.com/mhop/fhem-mirror/commit/53e242ddc7447ebf9c90cde9999abb059963029a#diff-103eeeed4ff3837de5549fda357c67cd

Kann es sein dass '$d' ein '$D' sein sollte ?


ThoTo

Zitat von: HGButte am 22 Juli 2018, 09:41:00
Ich habe seit einem FHEM Update vor ca. 4 Wochen das Problem dass ich stündlich eine PERL WARNING im Log habe.
Habe etwas nachgeforscht und festgestellt dass der Eintrag immer beim Update meines FamKalView (CALVIEW) passiert.

Ich lese mal mit, gleiches Verhalten bei mir.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

chris1284

#293
Zitat von: HGButte am 22 Juli 2018, 09:41:00
Ich habe seit einem FHEM Update vor ca. 4 Wochen das Problem dass ich stündlich eine PERL WARNING im Log habe.
Habe etwas nachgeforscht und festgestellt dass der Eintrag immer beim Update meines FamKalView (CALVIEW) passiert.


2018.07.22 09:18:08 5: Cmd: >set FamKalView update<
2018.07.22 09:18:08 1: PERL WARNING: Use of uninitialized value $d in concatenation (.) or string at (eval 65093) line 1.
2018.07.22 09:18:08 5: CALVIEW FamKalView - All data:


Kann die Änderung am CALVIEW in Zeile 342 damit zu tun haben ?

https://github.com/mhop/fhem-mirror/commit/53e242ddc7447ebf9c90cde9999abb059963029a#diff-103eeeed4ff3837de5549fda357c67cd

Kann es sein dass '$d' ein '$D' sein sollte ?


Falscher Thread? Wende dich bitte an Marc Hoppe wenn du seine Version meines Modules verwendest. Hier geht es um mein Modul direkt aus dem FHEM Update oder aus meinem Git repo https://github.com/chris1284
Im offiziellen Modul gibt es der genannten Zeile kein $d und auch bisher keine solchen Fehler und es wurde auch noch keiner gemeldet. $d    (siehe Calendar commandref) ist "the duration in seconds" und ist im Modul nur ein string und keine Variable. Zudem bei mir ein $D ($D   the duration in human-readable form). Das scheint also eine Anpassung von Marc Hoppe zu sein die ich nicht supporte. Ist es absicht gewesen das Modul aus anderen Quellen in FHEM zu nutzen (ich frage weil evtl fehlt dir ja ein Feature im offiziellen Modul)

ThoTo

2018.07.22 18:35:54 1: PERL WARNING: Use of uninitialized value $d in concatenation (.) or string at (eval 1639485) line 1.
2018.07.22 18:35:54 1: stacktrace:
2018.07.22 18:35:54 1:     main::__ANON__                      called by (eval 1639485) (1)
2018.07.22 18:35:54 1:     (eval)                              called by ./FHEM/57_Calendar.pm (588)
2018.07.22 18:35:54 1:     Calendar::Event::formatted          called by ./FHEM/57_Calendar.pm (2035)
2018.07.22 18:35:54 1:     main::Calendar_Get                  called by fhem.pl (3584)
2018.07.22 18:35:54 1:     main::CallFn                        called by ./FHEM/57_CALVIEW.pm (342)
2018.07.22 18:35:54 1:     main::getsummery                    called by ./FHEM/57_CALVIEW.pm (92)
2018.07.22 18:35:54 1:     main::CALVIEW_GetUpdate             called by ./FHEM/57_CALVIEW.pm (374)
2018.07.22 18:35:54 1:     main::CALVIEW_Notify                called by fhem.pl (3584)
2018.07.22 18:35:54 1:     main::CallFn                        called by fhem.pl (3504)
2018.07.22 18:35:54 1:     main::DoTrigger                     called by fhem.pl (4531)
2018.07.22 18:35:54 1:     main::readingsEndUpdate             called by ./FHEM/57_Calendar.pm (3071)
2018.07.22 18:35:54 1:     main::Calendar_CheckTimes           called by ./FHEM/57_Calendar.pm (2581)
2018.07.22 18:35:54 1:     main::Calendar_CheckAndRearm        called by ./FHEM/57_Calendar.pm (2592)
2018.07.22 18:35:54 1:     main::Calendar_SynchronousUpdateCalendar called by ./FHEM/57_Calendar.pm (2558)
2018.07.22 18:35:54 1:     main::Calendar_ProcessUpdate        called by FHEM/HttpUtils.pm (592)
2018.07.22 18:35:54 1:     main::__ANON__                      called by fhem.pl (720)


So siehts bei mir aus, Modul ist aus dem FHEM Update.

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

chris1284

#295
ja, da ist erstmal ein log-Auszug. Aber leider sagt er nicht dass die Warnung von Calview kommt, könnte auch Calendar oder FHEM sein. stell die Frage mal ehr im Fhem bereich denn ich wüsste nichts mit der Meldung anzufangen, schon gar nicht in line 1

ein Calview Fehler wäre so gemeldet

ZitatPERL WARNING: Use of uninitialized value $d in concatenation (.) or string at  ./FHEM/57_CALVIEW.pm ............ 

HGButte

Ich habe keine spezielle Version von CALVIEW, zumindest nicht bewusst.
Ich habe 57_CALVIEW.pm bei mir lokal in Zeile 342 angepasst und zumindest seitdem keine Fehlermeldung mehr im Log.

Den Github Link habe ich von Google bei der Suche nach "github 57_calview.pm"

Hier sieht die Code Stelle genauso aus:
https://svn.fhem.de/fhem/trunk/fhem/FHEM/57_CALVIEW.pm

Prinzipiell meine ich diese Zeile.
CallFn($calendername, "GetFn", $defs{$calendername},("-","events","format:custom='\$U|\$T1|\$T2|\$S|\$L|\$DS|\$CA|\$d'"));

ThoTo

Zitat von: chris1284 am 22 Juli 2018, 19:42:03
ja, da ist erstmal ein log-Auszug. Aber leider sagt er nicht dass die Warnung von Calview kommt, könnte auch Calendar oder FHEM sein. stell die Frage mal ehr im Fhem bereich denn ich wüsste nichts mit der Meldung anzufangen, schon gar nicht in line 1

Sicher? Scheinbar sind da wirklich zwei Versionen von deinem Modul im Umlauf.

FHEM SVN:
CallFn($calendername, "GetFn", $defs{$calendername},("-","events","format:custom='\$U|\$T1|\$T2|\$S|\$L|\$DS|\$CA|\$d'"))

github.com/chris1284:
CallFn($calendername, "GetFn", $defs{$calendername},("-","events","format:custom='\$U|\$T1|\$T2|\$S|\$L|\$DS|\$CA'"))

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

chris1284

#298
Stimmt, da habe ich mich selbst wohl etwas vermacht, sorry. Die Version im SVN ist die aktuellste mit $d für die neue Ganztagserkennung.
Ich habe getestet und es liegt am Calendat der bei Terminen ohne Laufzeit die Variabel nicht mit 0 füllt

Ihr könnt auch mal von Hand schauen ob die Meldung vom Calendar kommt in dem ihr dort folgendes ausführt

get [kalendername] events format:custom="$U|$T1|$T2|$S|$L|$DS|$CA|$d"
es müsste dann am Schluss jeder Zeile eine Zahl stehen und keine Meldung im Log.
Termine ohne Zahl am Ende generieren die Meldung
Zitat2018.07.23 07:48:26 1: PERL WARNING: Use of uninitialized value $d in concatenation (.) or string at (eval 33013) line 1.
Daraus resultiert nun im aktuellen (von heute 7022) Calview Modul ein Duration Reading mit Wert "keine Laufzeit"

Ich gebe das mal an Boris weiter.

HGButte