57_CALVIEW - Erweiterungsmodul für 57_CALENDAR

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

Vorheriges Thema - Nächstes Thema

curt

@OdfFhem ist Dein Partner. Aber er ist offensichtlich nicht jeden Tag hier.

Ich kann lediglich in den nächsten Tagen Freezemon bei mir an den Start bringen ud schauen, wie es bei mir aussieht.
RPI 4 - Jeelink HomeMatic Z-Wave

Mave

Zitat von: curt am 20 Januar 2019, 08:12:27
@OdfFhem ist Dein Partner. Aber er ist offensichtlich nicht jeden Tag hier.

Ich kann lediglich in den nächsten Tagen Freezemon bei mir an den Start bringen ud schauen, wie es bei mir aussieht.

Super, vielen Dank.

Die könntest aber einfach auch mal einen Calendar Update starten und in einem zweiten Fenster testen, ob FHEM noch reagiert.

OdfFhem

Zitat
@OdfFhem ist Dein Partner.

Diese Aussage ist nicht ganz korrekt; ich habe nur den FTUI-Teil der CALVIEW-Implementierung übernommen. Das FHEM-Modul selbst wird weiterhin von chris1284 betreut.

chris1284

#363
Zitat von: Mave am 20 Januar 2019, 08:09:52
Mir ist nicht ganz klar, was CALVIEW im Moment des Calendar Updates macht. Und schon gar nicht, warum CALVIEW dazu 17 Sekunden benötigt.
Was wird CALVIEW machen, natürlich die Termine vom Kalender aufarbeiten  ;)

Zitat
019.01.20 07:52:08.561 5: CALVIEW Kalenderansicht - CALENDAR:Kalender_Alexa successfully got all updates for CALVIEW Kalenderansicht (CALVIEW_Notify). Now process updates...
--- log skips    17.492 secs.
2019.01.20 07:52:26.053 5: End notify loop for Kalender_Alexa
Now process updates... ist eigentlich schon das Ende der Calview verarbeitung!!!

Zitat
2019.01.20 07:52:26.053 5: End notify loop for Kalender_Alexa
2019.01.20 07:52:26.086 5: End notify loop for Kalender_Alexa
2019.01.20 07:52:26.087 4: Calendar Kalender_Alexa: process ended.

kommt wo anders her, dem Kalender will ich meinen. Calview hat keinerlei Log das so aussieht. Was der hier 20 Sekunden macht ... keine Ahnung. Wenn da 2 Notifys kommen, rennt calview auch 2 mal los was evtl zu solchen Hängern führen kann.
Hast du notifys auf Calendar?

hier ein sauberer Ablauf mit vielen Terminen
Zitat
2019.01.20 09:53:32 4: Calendar Kalender_Christian: Updating...
2019.01.20 09:53:32 4: Calendar Kalender_Christian: Getting data from URL <hidden>
2019.01.20 09:53:33 5: Calendar Kalender_Christian: HTTP response code 200
2019.01.20 09:53:33 4: Calendar Kalender_Christian: parsing data synchronously
2019.01.20 09:53:33 4: Calendar Kalender_Christian: merging data
2019.01.20 09:53:33 4: Calendar Kalender_Christian: 88 records processed, 0 new, 0 known, 88 modified, 0 changed.
2019.01.20 09:53:33 4: Calendar Kalender_Christian: creating calendar events
2019.01.20 09:53:33 4: Calendar Kalender_Christian: Checking times...
2019.01.20 09:53:33 5: CALVIEW View_All - CALENDAR:Kalender_Christian triggered, updating CALVIEW View_All (CALVIEW_Notify) ...
2019.01.20 09:53:33 5: CALVIEW View_All - All data:
...termin gedönse
2019.01.20 09:53:33 5: CALVIEW View_All - nextday = 16 , endday = 16 , startday = 15 , btime 00:00 , etime 00:00
2019.01.20 09:53:33 5: CALVIEW View_All - nextday = 16 , endday = 16 , startday = 15 , btime 00:00 , etime 00:00
2019.01.20 09:53:33 5: CALVIEW View_All - nextday = 18 , endday = 18 , startday = 17 , btime 00:00 , etime 00:00
2019.01.20 09:53:33 5: CALVIEW View_All - CALENDAR:Kalender_Christian successfully got all updates for CALVIEW View_All (CALVIEW_Notify). Now process updates...
2019.01.20 09:53:33 4: Calendar Kalender_Christian: process ended.


ToKa

Guten Morgen,

Was hat es denn mit dieser Fehlermeldung im Log auf sich?

2019.01.20 09:50:05 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/57_CALVIEW.pm line 226.

Beste Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

chris1284

Zitat von: ToKa am 20 Januar 2019, 09:53:43
Guten Morgen,

Was hat es denn mit dieser Fehlermeldung im Log auf sich?

2019.01.20 09:50:05 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/57_CALVIEW.pm line 226.

Beste Grüße
Torsten

nicht konformer Termin. Kein Ende gesetzt oder Ende = Start

ToKa

Danke für die schnelle Antwort. Dann sind wahrscheinlich meine ganztägigen Termine wieder zerschossen. Ich nutze verschiedene clients und irgendeiner macht aus den ganztägigen Terminen welche mit 0 Uhr als Start und Ende.

Grüße
Torsten
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

curt

Zitat von: chris1284 am 20 Januar 2019, 09:57:42
nicht konformer Termin. Kein Ende gesetzt oder Ende = Start

Dass hatten  wir schon: Termine ohne Ende sind ganztägig - und laut RFC sehr wohl konform. Und Joachim (?) hat das vor Monaten im Modul korrigiert.
RPI 4 - Jeelink HomeMatic Z-Wave

dogexan


ZitatDanke für die schnelle Antwort. Dann sind wahrscheinlich meine ganztägigen Termine wieder zerschossen. Ich nutze verschiedene clients und irgendeiner macht aus den ganztägigen Terminen welche mit 0 Uhr als Start und Ende.

Hab genau das selbe Problem mit den Terminen die keine Ende-Zeit haben. Mein gesammter FHEM log besteht eigentlich nur noch aus diesen Fehlermeldungen:

2019.01.21 16:49:17 1: PERL WARNING: Use of uninitialized value $d in concatenation (.) or string at (eval 1737) line 1.

Mir bringt es auch nichts, alle betroffen Tage im Google Kalender mit einer Endezeit zuversehen, denn sobald ein Client wieder die Termine synchroniersiert werden die vorher angepassten Termine wieder überschrieben und der Fehler ist wieder da. :-[

Ich wäre wirklich jemandem Verbunden der sich dieser Sache annehmen kann.

Gruß Alex

balli1187

@dogexan
Die Holzhammermethode wäre im calview verbose auf 0 zu setzen, dann war es das mit den log-Einträgen ;-)

Ansonsten wird es schwierig, denn eigentlich müsste man bei dem Client ansetzen, der sich nicht standardkonform verhält.


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

curt

Zitat von: balli1187 am 21 Januar 2019, 18:56:50
Ansonsten wird es schwierig, denn eigentlich müsste man bei dem Client ansetzen, der sich nicht standardkonform verhält.

Erbitte Konkretisierung - wo verhält sich der Client nicht standardkonform?
RPI 4 - Jeelink HomeMatic Z-Wave

balli1187

Zitat von: curt am 21 Januar 2019, 19:00:41
Erbitte Konkretisierung - wo verhält sich der Client nicht standardkonform?
Siehe hier:
Zitat von: chris1284 am 20 Januar 2019, 09:57:42
nicht konformer Termin. Kein Ende gesetzt oder Ende = Start
Genau kenne ich den Standard auch nicht aber laut Chris wandelt ein Client die ganztägigen Termine in Termine mit einer Laufzeit=0.


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

curt

#372
Das wird durch ständige Wiederholung nicht richtiger.

Zuständig ist RFC 5545. Dort steht:

Zitat
If such a "VEVENT" has a "DTEND" property, it MUST be specified as a DATE value also.

If  --> falls
Also: Wenn es ein DTEND gibt, muss es auch einen Start geben.

Zitat
The "DTEND" property for a "VEVENT" calendar component specifies the non-inclusive end of the event. For cases where a "VEVENT" calendar component specifies a "DTSTART" property with a DATE value type but no "DTEND" nor "DURATION" property, the event's duration is taken to be one day.

Wenn es kein DTEND gibt, dann gilt das Ende des gleichen Tages. Steht ganz klar da.

@Dr. Boris Neubert hatte sich eine Notiz gemacht, um das in calendar zu ändern. Ich ging/gehe davon aus, dass das getan sei?
@chris1284
RPI 4 - Jeelink HomeMatic Z-Wave

patman1607

#373
Hallo zusammen,

ich baue mir gerade ein FTUI zusammen und kann über das Calview Modul mir meinen Kalender bereits anzeigen lassen.
Nun möchte ich eigentlich mit device Color mir die Zeile heute rot Anzeigen lassen, morgen gelb und in* grün. Wie ist die Schreibweise für "in*" oder "in...x"?
meine config für FTUI

<li data-row="4" data-col="2" data-sizex="4" data-sizey="1">
<header>Kalender HomeSweetHome</header>
        <div data-type="calview"
     data-device="CV_Kalender_HSH"
     data-get="all"
     data-detail='["daysleftLong","summary","sourcecolor"]'
     data-detailwidth='["20","60"]'
             data-oneline="yes"
             data-sourcecolor="yes"
             class="left-narrow-2x"></div>     
</li>


meine FHEM config sieht so aus:
###Google HSH_Kalender
define Kalender_HSH Calendar ical url ICALLINK 14400
attr Kalender_HSH group x_config
attr Kalender_HSH hideOlderThan 3600
attr Kalender_HSH icon taster_ch6_6
attr Kalender_HSH room Kalender
###CalView HSH_Kalender
define CV_Kalender_HSH CALVIEW Kalender_HSH 1 3600
attr CV_Kalender_HSH group x_config
attr CV_Kalender_HSH maxreadings 5
attr CV_Kalender_HSH modes next
attr CV_Kalender_HSH oldStyledReadings 0
attr CV_Kalender_HSH room Kalender
###RG HSH
define READ_KalHSH readingsGroup <Wann>,<Termin> CV_Kalender_HSH:t_001_daysleftLong,t_001_summary,t_ CV_Kalender_HSH:t_002_daysleftLong,t_002_summary,t_ CV_Kalender_HSH:t_003_daysleftLong,t_003_summary,t_ CV_Kalender_HSH:t_004_daysleftLong,t_004_summary,t_ CV_Kalender_HSH:t_005_daysleftLong,t_005_summary,t_
attr READ_KalHSH alias Termine HomeSHome
attr READ_KalHSH group Kalender
attr READ_KalHSH nameStyle style="font-weight:bold;;;;color:White"
attr READ_KalHSH nonames 1
attr READ_KalHSH room Kalender
attr READ_KalHSH valueStyle { if($DEVICE eq "CV_Kalender_HSH" && $VALUE eq "heute"){ 'style="color:red"'}elsif($DEVICE eq "CV_Kalender_HSH" && $VALUE eq "morgen"){ 'style="color:yellow"'}elsif($DEVICE eq "CV_Kalender_HSH" && $VALUE eq "in*"){ 'style="color:green"'}else{ 'style="color:white"'}}


ich habe mir für das FHEMFrontend etwas mit Farben gebastelt mit ValueStyle. Dennoch auch nicht das gewünschte Ergebniss das es die Ganze Zeile rot macht.

evtl hat jemand ein Tip

im Wiki habe ich nur gefunden wie man das mit mehreren Kalendern macht.
Fritte 7950
FHEM on RasPi 3

OdfFhem

@patman1607
Mit dem Attribut sourcecolor kann man die Farbe für alle Einträge eines Kalenders festlegen, nicht die Farbe für einzelne Einträge eines Kalenders (s. https://fhem.de/commandref_DE.html#CALVIEW).

Für Dein Vorhaben scheint dieses Attribut also zunächst eher unpassend. Allerdings könnte man z.B. mittels notify auf das standardmäßige Setzen von sourcecolor reagieren und den Wert abhängig von daysleft anpassen ...

Sollte das funktionieren, wäre die FTUI-Anzeige schon mal in Ordnung.

In der readingsgroup würde man dann auch auf die Verwendung von sourcecolor umschwenken ...