[Modul] iCal Calender in IP Symcon lesen und verarbeiten

fragt nicht aber jetzt gehts…tippe mal auf copy &paste fehler oder beim händischer Eingabe große I mit kleinem L verwechselt :wink: was auch immer …läuft danke euch

Eine Regelmäßigkeit kann ich leider nicht erkennen.
Mit Netzwerkproblem meinst Du, dass er zum Zeitpunkt der Abfrage kein Internet hat? Könnte ich mir gut vorstellen, habe ständig Probleme mit Vodafone… :roll_eyes:
Ungünstig ist nur, dass er danach die Instanz komplett lahm legt und keine weiteren Anfrage Versuche unternommen werden. Könnte man da evtl. was machen?

Moin,
ist die Instanz dann irgendwie als defekt markiert? Wenn ja könnte man Event Control benutzen und bei Änderung drauf reagieren. Bei meinen problematischen Instanzen mache ich dann:

IPS_SetProperty(14290, "active", false);
IPS_ApplyChanges(14290);
IPS_Sleep(500);
IPS_SetProperty(14290, "active", true);
IPS_ApplyChanges(14290);

wobei 14290 die Instanz ist. In deinem Fall könntest Du vielleicht mit ping testen ob die Adresse erreichbar ist bevor Du wieder öfnnest und bei Mißerfolg vielleicht einen Timer starten der es alle 5 Minuten wieder versucht.

Ralf

Beim Error CURLE_SSL_CONNECT_ERROR (35) geht die Instanz auf Fehler und noch entscheidender: der Update-Timer wird auf 0 gestellt. Damit bleibt sie dauerhaft außer Betrieb.

Das habe ich jetzt in einer Beta Variante mal dahingehend geändert, dass der Update Timer in diesem Fall weiterläuft. Ich denke, das kann man machen.
Das ist auch jetzt schon das Verhalten, wenn es zu einem CURLE_OPERATION_TIMEOUTED (28) kommt.

Die Umgehung von Ralf greift natürlich auch.

1 „Gefällt mir“

Hi,
bei mir kommt es eher auf schnelle Reaktion an, d.h. die Instanz soll <1 Sekunde wieder einsatzbereit sein. Beim Kalender ist bumaas Lösung eleganter.

Ralf

Hallo zusammen,
bei der Abfrage von calendar.ics aus veröffentlichten Outlook Kalendern bekomme ich seit vorgestern in IPS die Fehlermeldung „Bad Request“. Selbst eine neue Veröffentlichung des Kalender hat leider keine Abhilfe geschaffen. Ein Aufruf des entsprechenden .ics im Webbrowser funktioniert problemlos. Wenn ich die .ics über wget lade, funktioniert es ebenfalls problemlos.
Hat evtl. noch jemand das Problem und/oder evtl. eine Idee woran es liegen könnte?
Nachtrag:
Ich habe das Problem erst einmal umgangen, indem ich die 5 ical Dateien per wget
alle 10 Minuten lade und dann über ein Medienobjekt eingefügt habe.
Als Workaround effektiv, löst aber leider das eigentliche Problem nicht.

LG
Matthias

Matthias, ich kann die fehlerhaften Abfragen der ICS Kalender aus Outlook Kalender (M365) bestätigen.
BAD REQUEST bei Verbindung mit allen Kalender-URL
Erster Vorfall am 07.06.22 12:05h

Matthias, lt. deinem Tipp versuche ich vergebens eine „stabile“ Verbindung mit WGET aufzubauen.

wget -O test.ics user=*** --password=*** --no-check-certificate "https://outlook.office365.com/owa/calendar/***/calendar.ics"

Es klappt zwar, aber meistens bleibe ich an der SSL Verbindung hängen.
Ich habe es auch mit --secure-protocol=auto probiert aber erfolglos.

Lt. einem Forum könnte es am user-agent liegen.
Aber auch mit --user-agent=Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, wie Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136 hatte ich keinen zufriedenstellenden Erfolg.

Könntest du mir weiterhelfen?

Gruß
Günter

Guten Morgen Günter,

ja, das Problem bei wget mit „Restective Sites“ ist mir leider nicht ganz unbekannt.
Da es sich bei mir um veröffentlichte ics handelt, bin ich in diesem Fall glücklicherweise
nicht auf Problem gestoßen.

Was mir damals geholfen hat, war das erstellen eines ~/wgetrc File.
Unter den beiden Link findest du die Beschreibung, wie ich es damals gemacht habe.

http - Sites not accepting wget user agent header - Stack Overflow

Wget Trick to Download from Restrictive Sites (askapache.com)

Wichtig ist ein „aktueller“ --user-agent.

Chrome mit Linux Agent:

–user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36

Firefox mit Linux Agent:
–user-agent= * Mozilla/5.0 (Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0

Ich hoffe das hilft Dir ein wenig weiter

Gruß
Matthias

Guten Abend,

bei mir besteht das Problem jetzt leider auch.
Mit der wget-Lösung komme ich ehrlicherweise nicht klar - gibt es noch einen anderen Ansatz um das Problem zu lösen?

grafik
grafik

Grüße

Hat jemand eine Idee, was beim curl Aufruf im Modul geändert werden müsste?
Leider habe ich keinen Kalenderzugang, bei dem ich es reproduzieren und testen kann.

Burkhard

würde dir ein öffentlicher Kalender mit Schreibrechten für „jeder“ ausreichen?
Dann erstelle ich dir einen über mein Office365-Zugang

Ich denke ja, wenn sich das Problem damit nachstellen lässt.

Ich habe eine neue Beta Version abgestellt, die das Anmeldeproblem beim Outlook Kalender (M365) beheben sollte.

Burkhard

2 „Gefällt mir“

Wie kann man denn einen Outlook Kalender einbinden?

Hallo Burkhard,

Habe erst jetzt deine neue Beta ausprobiert.
Danke, funktioniert bei mir wieder wie vorgesehen.

Gruß
Günter

bei mir funktioniert es jetzt auch wieder.
vielen Dank für die rasche Hilfe!

benötigst du den O365 Kalender noch für zukünftige Tests?
dann würde ich ihn bestehen lassen, ansonsten lösche ich ihn wieder.

Du kannst ihn gerne wieder löschen. Vielen Dank für deine Unterstützung!

Hallo,

vielen Dank für das Modul. Ich versuche folgenden Kalender einzulesen - Download-Link .ics-Datei:

https://www.schulferien.eu/downloads/ical4.php?land=10&type=1&year=2022

Es kommt dann die Meldung

Es wurden keine Einträge gefunden

Das debugging sieht wie folgt aus:

TXT: 21.08.2022, 20:33:46 |       UpdateCalendar | Entering UpdateCalendar()
TXT: 21.08.2022, 20:33:46 |      LoadCalendarURL | Entering LoadCalendarURL('https://www.schulferien.eu/downloads/ical4.php?land=10&type=1&year=2022')
TXT: 21.08.2022, 20:33:46 |      LoadCalendarURL | curl_result: BEGIN:VCALENDAR<CR><LF>VERSION:2.0<CR><LF>PRODID:-//hacksw/handcal//NONSGML v1.0//EN<CR><LF>CALSCALE:GREGORIAN<CR><LF>BEGIN:VEVENT<CR><LF>CREATED:20220821T203300Z<CR><LF>LAST-MODIFIED:20220821T203300Z<CR><LF>DTSTAMP:20220821T203300Z<CR><LF>SUMMARY:Osterferien Nordrhein-Westfalen 2022<CR><LF>DTSTART;VALUE=DATE:20220411<CR><LF>DTEND;VALUE=DATE:20220424<CR><LF>URL;VALUE=URI:http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu<CR><LF>TRANSP:TRANSPARENT<CR><LF>UID:Osterferien-Nordrhein-Westfalen-2022-20220411-schulferien.eu<CR><LF>END:VEVENT<CR><LF>BEGIN:VEVENT<CR><LF>CREATED:20220821T203300Z<CR><LF>LAST-MODIFIED:20220821T203300Z<CR><LF>DTSTAMP:20220821T203300Z<CR><LF>SUMMARY:Sommerferien Nordrhein-Westfalen 2022<CR><LF>DTSTART;VALUE=DATE:20220627<CR><LF>DTEND;VALUE=DATE:20220810<CR><LF>URL;VALUE=URI:http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu<CR><LF>TRANSP:TRANSPARENT<CR><LF>UID:Sommerferien-Nordrhein-Westfalen-2022-20220627-schulferien.eu<CR><LF>END:VEVENT<CR><LF>BEGIN:VEVENT<CR><LF>CREATED:20220821T203300Z<CR><LF>LAST-MODIFIED:20220821T203300Z<CR><LF>DTSTAMP:20220821T203300Z<CR><LF>SUMMARY:Herbstferien Nordrhein-Westfalen 2022<CR><LF>DTSTART;VALUE=DATE:20221004<CR><LF>DTEND;VALUE=DATE:20221016<CR><LF>URL;VALUE=URI:http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu<CR><LF>TRANSP:TRANSPARENT<CR><LF>UID:Herbstferien-Nordrhein-Westfalen-2022-20221004-schulferien.eu<CR><LF>END:VEVENT<CR><LF>BEGIN:VEVENT<CR><LF>CREATED:20220821T203300Z<CR><LF>LAST-MODIFIED:20220821T203300Z<CR><LF>DTSTAMP:20220821T203300Z<CR><LF>SUMMARY:Weihnachtsferien Nordrhein-Westfalen 2022<CR><LF>DTSTART;VALUE=DATE:20221223<CR><LF>DTEND;VALUE=DATE:20230107<CR><LF>URL;VALUE=URI:http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu<CR><LF>TRANSP:TRANSPARENT<CR><LF>UID:Weihnachtsferien-Nordrhein-Westfalen-2022-20221223-schulferien.eu<CR><LF>END:VEVENT<CR><LF>END:VCALENDAR
TXT: 21.08.2022, 20:33:46 |      LoadCalendarURL | Successfully loaded
TXT: 21.08.2022, 20:33:46 |         ReadCalendar | Calendar Statistic - Length: 1781, VEVENT: 4, STANDARD: 0, VTIMEZONE: 0, DAYLIGHT: 0
TXT: 21.08.2022, 20:33:46 |              LOG_ERR | parse: URL validity error #2, 'http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu'
TXT: 21.08.2022, 20:33:46 |       UpdateCalendar | Buffered Calendar: []
TXT: 21.08.2022, 20:33:46 |       UpdateCalendar | New Calendar: []
TXT: 21.08.2022, 20:33:46 |       UpdateCalendar | Calendar still in sync

Einträge sind definitiv vorhanden - hat jemand ein ähnliches Problem und ggf. eine Lösung?

Danke und viele Grüße!

Das Modul kann die URL nicht verarbeiten:

VALUE=URI:http://www.schulferien.euDESCRIPTION: Alle Angaben ohne Gewähr. Weitere Infos auf www.schulferien.eu

Die ICS Datei wurde nicht korrekt erstellt.