Neues FTUI Widget - fullcalview - Kalenderanzeige (ab FTUI 2.2)

Begonnen von h3llsp4wn, 01 Februar 2016, 17:24:29

Vorheriges Thema - Nächstes Thema

Florian_GT

Zitat von: h3llsp4wn am 03 November 2017, 14:38:52
Hallo Ingo,

kannst Du mal die angehängte Version testen. Konnte den Doppel-Load der Serientermine jetzt auf einem Tablet nachstellen.

h3ll

nene... falsche Richtung, jetzt sind alle Termine doppelt da :D
Und nach dem ersten Laden, und neuladen kommt nix mehr... Außer man drückt auf Monat...
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

ih-sqeezer

Hallo h3ll,

das wird kompliziert mit der Erklärung ... ich hoffe man versteht es. Ich habe mal die neuste Version vom widget geladen.

Einzelkalender (1 Callview):
Beim ersten Aufruf erscheint ein leerer Kalender. Es muss ein vollständiger page reload erfolgen, ansonsten passiert gar nichts weiter mit dem Kalender. Mit dem page reload erscheint jedoch zunächst gar kein Kalender mehr. Es kommen nur noch die button "Heute", "Monat" und "Woche". Sofern auf z.B. "Monat" klickt, wird der Kalender mit allen events korrekt angezeigt. Jedoch habe ich in solch einem Callview keine Serienelemente enthalten. Deshalb kann ich darüber keine Aussage machen.

MultiKalender (4 Callviews - 3x Google + 1x ics lokal):
In diesem MultiKalender habe ich drei Einzelkalender plus einen Geb.-Kalender (SerienTermine) enthalten. Dieser erscheint ebenfalls beim ersten Aufruf vollständig leer. Ebenfalls nur mit einem vollständigen page reload und einem Klick auf z.B. "Monat" füllbar. Also gleiches Spiel wie beim EinzelKalender. Jedoch erscheinen die Einzeltermine zunächst korrekt, aber nach ca. 0.5 - 1 Sekunde wird jeder Einzeltermin noch zwei Mal zusätzlich geladen und angezeigt. Es scheint mir so, als ob die Anzahl der eingebauten Callviews etwas damit zu tun hat. Jedenfalls werden auch die Serientermine auch alle drei Mal angezeigt. Also alle Termine werden wahrscheinlich immer so oft geladen, wie Callviews (Einzel-/Google-Kalender) eingebunden sind. Den GeburtstagsKalender habe ich lokal als "ics" auf dem RPI.

Getestet in FF, Chrome und Fully. Überall das gleiche Problem.

Grüße,
Ingo

h3llsp4wn

Nächster Versuch.

Fix:
- Serientermine werden nun über einen Workaround zur Anzeige gebracht (einmal vor-/zurück wird simuliert), aus meiner Sicht ist dies wohl eher ein fullcalender Bug, da die Termine vorhanden sind, aber alle Versuche über Rendern/refresh/refetch nicht die Lösung bringen (vielleicht macht es doch mehr Sinn, das FHEM Kalender-Modul um die JSON Ausgabe zu erweitern ...)

Kein Fix für den erstmaligen Aufruf - es scheint, als würde im Chrome beim erstmaligen Aufruf (Cash leer) das Update-Event für die Kalender 2x getriggert - das sieht mir eher nach einem Bug im Zusammenspiel mit FTUI aus ... und müsste ggf. auch an anderer Stelle auftreten, da dann ggf. ohne sichtbare Konsequenzen. Beim nächsten Aufruf und ab da an scheint dann alles zu funktionieren und sollte dann auch so bleiben.

Im Anhang die 1.6 für testinteressierte ...

h3ll

ih-sqeezer

Hallo h3ll,

die neue Version sieht nicht wirklich besser aus :-( sorry.

Einzelkalender:
Mit dem ersten Aufruf wird kein Kalender angezeigt. Mit einem page reload ändert sich nix. Jedoch mit einem Klick auf z.B. Monat wird alles korrekt angezeigt im Kalender.

Multikalender:
Mit dem ersten Aufruf wird ebenfalls kein Kalender angezeigt. Mit einem Klick auf "Monat" erscheint der Kalender mit Inhalten. Jedoch wird jeder Eintrag aus jedem Kalender exakt so viel mal angezeigt, wieviele Kalender eingebunden sind.

Grüße,
Ingo

pula

Hi h3ll,

super, danke für das widget!
Gibts eigentlich eine Gesamt-Doku dazu? Oder hat jemand screenshots?

Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

kroemmel

Hallöchen,

leider bekomme ich beim Aufruf konstant die Toast-Meldung "Cannot read property 'length' of undefined". An welcher Stelle kann ich denn mal schauen, was er da genau nicht geöffnet bekommt?

Kalender ist definiert und funktioniert (via FTUI Widget Calview getestet). FHEM und FTUI sind auf dem aktuellsten Stand. widget_fullcalview.js ist auf Version 1.55 (im File geschaut), FullCalendar auf v3.5.1.

Uncaught TypeError: Cannot read property 'length' of undefined
    at Component.getAllSubcomponents (ical.js:2318)
    at jcal_events (ical_events.js:8)
    at ical_events (ical_events.js:4)
    at fc_events (ical_fullcalendar.js:25)
    at XMLHttpRequest.<anonymous> (widget_fullcalview.js:71)


Für Hinweise an welcher Stelle ich mal schrauben / schauen könnte, wäre ich dankbar :)

Grüße,
kroemmel
() FHEM als Ubuntu-VM
() VCCU mit 1 HMLAN, 2 UARTs und div. Sensoren/Aktoren (primär HM), HUE,
() Integration Fritz!Box, Googlekalender, Unifi, Viessmann Heizung, Umweltbedingungen, Sonnenstand, PWM, Jalousiesteuerung, Anwesenheitserkennung, Raumklimaüberwachung, Telegram

Johann.S

Hallo,

mal eine Frage, wird an dem Modul noch weitergearbeitet?
Ich habe es jetzt auf meine Tablet mit drei Kalendern so weit am laufen!
Aber das man beim ersten Aufruf einen Button betätigen muss ist halt nicht ganz so schön!
Ansonsten eine spitzen Leistung!

Danke

Gruß

Johann

PS: ich Teste am PC mit FireFox und am Tablet mit Kiosk Browser Pro
Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

kroemmel

Ahoi,

Ich fürchte, so richtig schwung ist hier nicht mehr drin :)

Bisher läuft es bei mir leider noch nicht rund, Meldung von oben ist immer noch aktuell. Wie genau hast du es eingebunden, dass es bei dir läuft? Button-Drück mal außer Acht gelassen.

cheers
kroemmel
() FHEM als Ubuntu-VM
() VCCU mit 1 HMLAN, 2 UARTs und div. Sensoren/Aktoren (primär HM), HUE,
() Integration Fritz!Box, Googlekalender, Unifi, Viessmann Heizung, Umweltbedingungen, Sonnenstand, PWM, Jalousiesteuerung, Anwesenheitserkennung, Raumklimaüberwachung, Telegram

Johann.S

Hallo,

ich greife auf 4 NextCloud Kalender zu:

define <Cal Name> Calendar ical url https://<NextCloud Benutzer>:<NextCloud PW>@<NextCloud IP>/nextcloud/remote.php/dav/calendars/<NextCloud Benutzer>/<NextCloud Kalendername>?export
attr <Cal Name>hideLaterThan 100d
attr <Cal Name>hideOlderThan 10d
attr <Cal Name>room Buero


und im Tablet UI ist das enthalten:

<li data-row="1" data-col="2" data-sizex="10" data-sizey="2"> <!-- Kalender -->
<header>Kalender</header>
<div class="container">
<div data-type="fullcalview"
data-device='["<Cal Name1>","<Cal Name2>","<Cal Name3>","<Cal Name4>"]'
data-defaultview="month"
data-eventlimit="false"
data-timeformat="H:mm"
data-lang="de"
data-weeknumbers="true"
data-headerleft="title"
data-headercenter=""
data-headerright="today month basicWeek prev,next"
data-contentheight="450"
data-eventcolors='["blue","yellow","yellow","red"]'
data-eventtextcolors='["white","black","black","black"]'
data-show_url="true"
class="darker small inline">
</div>
</div>
</li>


Eigentlich alles so wie hier beschrieben!
Ich habe hier verschieden Effekte die sich immer wieder Abwechseln:

  • alles sofort korrekt
  • nur Anzeige der Buttons
  • Kalendereintrag mehrfach

Würde ungern auf den Kalender verzichten, ist der Einzige der die Daten anspruchsvoll darstellt!
Die andere Alternative wäre mit iFrame aber da bin ich mit NextCloud nicht zurecht gekommen!

LG

Johann
Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

kroemmel

Interessant!

Mit einem Nextcloud Kalender funktioniert es (mit den von dir beschriebenen Einschränkungen) auch bei mir. Muss also irgendwie an der Konfiguration mit dem Googlekalender liegen.

Mein aktueller Umweg:
ich habe den Google Kalender per iFrame ist einer stark angepassten Ansicht eingebunden. Damit fahren wir derzeit ganz gut. Schicker wäre natürlich die Einbindung per "echtem Widget".

cheers,
kroemmel
() FHEM als Ubuntu-VM
() VCCU mit 1 HMLAN, 2 UARTs und div. Sensoren/Aktoren (primär HM), HUE,
() Integration Fritz!Box, Googlekalender, Unifi, Viessmann Heizung, Umweltbedingungen, Sonnenstand, PWM, Jalousiesteuerung, Anwesenheitserkennung, Raumklimaüberwachung, Telegram

Johann.S

Ich würde ja auch den iFrame Testen aber finde dazu nichts im Netz, weder hier bei FHEM noch bei NextCloud!
Raspi 3, Sduino 433MHz und 868MHz beide CC1101, Wetterstation TFA Dostmann 35.1119 (WH1080), intertechno PAR1000/PA1500
NOBILY Standard-Minifunkrolladenmotor PR4 13/147-40 ID-98, Homematic CCU3 (homematic-raspi), HmIP-eTRV-2, HmIP-SWDO, HmIP-STH, HmIP-WTH-2, Eigenbau sonoff für Gartenbewässerung

h3llsp4wn

Hallo zusammen,

habe mal eine (ältere) Version leicht angepasst. Bei mir habe ich damit keine Doppeltermine mehr und auch die Initialanzeige/Buttons funktionieren. Getestet gegen aktuelle Chrome/Opera Verisonen - sowohl mobile, tablet als auch PC - muss ja nix heißen ...

Wer mag' kann ja mal testen ...


Cheers,

h3ll

Parador

Hallo h3llsp4wn,

ich habe mir Deine neue/alte Version gleich nach Veröffentlichung geholt und bin seither am Testen!
Vielen Dank schon jetzt für Deine Mühen und Deine Ausdauer!!

Aktuell habe ich damit am Tablet immer wieder mal (zwischendurch - nicht immer) das Problem,
das keiner meiner beiden Kalender nichts angezeigt,
oder auch nur der zweite (<=zweiter Button = Google_Abfall) und der erste nicht angezeigt wirde (<=Google_Geburtstage).

Dafür habe ich aber noch keine doppelten Einträge gesehen!!

Gibt es evtl. eine Option -die ich noch nicht gesehen habe - die Kalender Buttons auszublenden? (also bei mir: "Google_Geburtstage", "Google_Abfall", "Alle") - Nicht die zum blättern

Viele Grüße

h3llsp4wn

Hi Parador,

ok - ich habe jetzt mal einen timeout eingebaut, der nach dem Update den 'today' Button triggert. Damit sind bei mir die sporadischen Fehler auch weg,
einziger Nachteil - solltest Du mal in der Vergangenheit oder Zukunft stehen und es gibt ein Kalender-Update, dann springt er auf den heutigen Tag (was vielleicht ja auch ein Feature ist).

Die Buttons für die Kalender kann man jetzt auch abschalten (Default aus) - einschalten mit

data-calbuttons="true"

Bitte mal testen und Feedback geben  :)


Cheers,

h3ll

Parador

Hallo h3llsp4wn,

bin schon seit ca. 17 Uhr am Testen - Das mit den Button's <= SUPERSPITZE das schaut jetzt gleich noch besser aus ;-)
Bisher hatte ich auch keine Probleme mit der Anzeige, würde das aber gerne mal zwei drei Tage laufen lassen.
Aktuell werden meine Kalender perfekt angezeigt (sofort ab Start und nix doppelt)

Also schon mal vielen Dank!!!
Ich melde zeitnah wieder!

Viele Grüße