FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Thomas81 am 03 Mai 2013, 20:21:51

Titel: Calendar bei unterbrochener Interneverbindung
Beitrag von: Thomas81 am 03 Mai 2013, 20:21:51
Hallo

habe mal testweise einen Kalender erstellt, funktioniert alles gut bis gestern abend mein Router ausgefallen ist.

Hatte danach folgende einträge im "Sekundentakt" im Logfile:

2013.05.03 06:39:07 1: Calendar MyCalendar: Could not retrieve file at URL
2013.05.03 06:39:07 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443 (//www.google.com:443)

2013.05.03 06:39:07 1: Calendar MyCalendar: Could not retrieve file at URL
2013.05.03 06:39:08 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443 (//www.google.com:443)

2013.05.03 06:39:08 1: Calendar MyCalendar: Could not retrieve file at URL

2013.05.03 06:39:08 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443 (//www.google.com:443)

Das Log ist innerhalb eines Tages auf 63 MB angewachsen :-(

Definition des Kalenders:

define MyCalendar Calendar ical url https://www.google.com/calendar/ical/xxxxxxxx/basic.ics (//www.google.com/calendar/ical/xxxxxxxx/basic.ics)

OHNE interval da optional, 3600s passen mir.

Habt Ihr irgendwelche Ideen wie ich das Zumüllen des Logfiles, bzw. die permanenten Verbindungsversuche unterbinden kann?

Grüße
Thomas
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: Thomas81 am 14 Mai 2013, 19:24:37
hmm, keiner eine Idee?

LG
Tom
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: cornelius fillmore am 29 August 2013, 09:21:32
Hi Tom,

hast du dieses Problem lösen können?

Ich stehe mit meiner zweitem fhem-Anwendung auch vor dieser Aufgabenstellung.
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 01 Oktober 2013, 17:17:01
Ich habe das gleiche Problem wie ihr:

Egal, ob ich die URL zum Kalender mit oder ohne s bei http schreibe, ich erhale folgende Logeinträge: (Manuelles Herunterlades des ics-Files funktioniert, auch nach Ausloggen aus Gmail)


2013.10.01 17:10:58 1: Calendar Urlaub: Could not retrieve file at URL
2013.10.01 17:10:59 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443


Es wäre toll, wenn uns jemand helfen könnte!

Gruß
Manuel
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: betateilchen am 01 Oktober 2013, 18:53:33
Verwendest Du auch die aktuellste Version des Kalendermoduls? Google hat da neulich was geändert, und das Modul wurde letzte Woche darauf angepasst.
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 01 Oktober 2013, 20:37:46
Zitat von: betateilchen schrieb am Di, 01 Oktober 2013 18:53Verwendest Du auch die aktuellste Version des Kalendermoduls? Google hat da neulich was geändert, und das Modul wurde letzte Woche darauf angepasst.


57_Calendar.pm 3955 2013-09-24 17:37:49Z borisneubert $


Update check sagt nothing to do.
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: betateilchen am 01 Oktober 2013, 21:23:16
setze mal in Deinem Google Kalender deine private URL zurück und verwende die dann neu generierte URL
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 01 Oktober 2013, 22:06:40
Zitat von: betateilchen schrieb am Di, 01 Oktober 2013 21:23setze mal in Deinem Google Kalender deine private URL zurück und verwende die dann neu generierte URL

Das hat leider keine Änderung gebracht. Ich habe auch vorsichtshalber die URLs auf Verschiedenheit geprüft.

Interessanter Weise wird auch das von mir vorgegebene Intervall von 3600 ignoriert und alle 2s eine Anfrage versenden. Vielleicht liegt das aber auch an der "Nichterreichbarkeit" der URL.
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: Dr. Boris Neubert am 03 Oktober 2013, 18:51:57
Hallo,

Zitat von: mele schrieb am Di, 01 Oktober 2013 17:17
2013.10.01 17:10:58 1: Calendar Urlaub: Could not retrieve file at URL
2013.10.01 17:10:59 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443



drehe doch bitte mal den globalen Loglevel auf 5 hoch und zeige uns im globalen Log, warum HttpUtils.pm die Datei nicht herunterladen kann.

Danke
Boris
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 04 Oktober 2013, 08:03:57
Zitat von: Dr. Boris Neubert schrieb am Do, 03 Oktober 2013 18:51Hallo,

drehe doch bitte mal den globalen Loglevel auf 5 hoch und zeige uns im globalen Log, warum HttpUtils.pm die Datei nicht herunterladen kann.

Danke
Boris

mit https://

2013.10.04 07:55:29 1: Calendar Urlaub: Could not retrieve file at URL
2013.10.04 07:55:29 4: Calendar Urlaub: Checking times...
2013.10.04 07:55:29 5: Triggering Urlaub (10 changes)
2013.10.04 07:55:29 5: Notify loop for Urlaub lastCheck: 2013-10-04 07:55:29
2013.10.04 07:55:30 4: Calendar Urlaub: Wakeup
2013.10.04 07:55:30 4: Calendar Urlaub: Updating...
2013.10.04 07:55:30 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443


mit http://

2013.10.04 07:59:55 1: Calendar Urlaub: Could not retrieve file at URL
2013.10.04 07:59:55 4: Calendar Urlaub: Checking times...
2013.10.04 07:59:55 5: Triggering Urlaub (10 changes)
2013.10.04 07:59:55 5: Notify loop for Urlaub lastCheck: 2013-10-04 07:59:55
2013.10.04 07:59:59 4: Calendar Urlaub: Wakeup
2013.10.04 07:59:59 4: Calendar Urlaub: Updating...
2013.10.04 07:59:59 4: CustomGetFileFromURL <hidden>: Code 301 (HTTP/1.0 301 Moved Permanently)
2013.10.04 07:59:59 4: CustomGetFileFromURL <hidden>: Redirect
2013.10.04 07:59:59 1: CustomGetFileFromURL <hidden>: Can't connect to https://www.google.com:443
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: betateilchen am 04 Oktober 2013, 10:40:26
Die HttpUtils scheinen korrekt zu arbeiten, aber es kann keine https-Verbindung aufgebaut werden. Fehlt in Deiner fhem-Installation vielleicht einfach das SSL Modul in perl?



Zitat von: mele schrieb am Di, 01 Oktober 2013 22:06Interessanter Weise wird auch das von mir vorgegebene Intervall von 3600 ignoriert und alle 2s eine Anfrage versenden. Vielleicht liegt das aber auch an der "Nichterreichbarkeit" der URL.

@Boris: Das sollte dringend geändert werden. Das Intervall sollte m.E. auch im Fehlerfall eingehalten werden, damit nicht das Logfile überläuft.


---
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: Dr. Boris Neubert am 04 Oktober 2013, 11:51:16
Hallo,

ist nicht aussagekräftig. Ich habe eine HttpUtils erweitert. Bitte ersetze die Passage ab Zeile 92 in HttpUtils durch den erweiterten Code unten oder mache morgen nach 8:00 ein Update, und sende dann nochmal das Log.

Danke
Boris


  my $conn;
  my $errstr= "";
  if($protocol eq "https") {
    eval "use IO::Socket::SSL";
    if($@) {
      Log3 undef, $loglevel, $@;
    } else {
      $conn = IO::Socket::SSL->new(PeerAddr=>"$host:$port", Timeout=>$timeout);
    }
  } else {
    $conn = IO::Socket::INET->new(PeerAddr=>"$host:$port", Timeout=>$timeout);
  }
  $errstr= $@ if(!$conn);
  if(!$conn) {
    Log3 undef, $loglevel,
        "CustomGetFileFromURL $displayurl: Can't connect to $protocol://$host:$port, $errstr";
    undef $conn;
    return undef;
  }
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 04 Oktober 2013, 15:04:23
Zitat von: betateilchen schrieb am Fr, 04 Oktober 2013 10:40Die HttpUtils scheinen korrekt zu arbeiten, aber es kann keine https-Verbindung aufgebaut werden. Fehlt in Deiner fhem-Installation vielleicht einfach das SSL Modul in perl?

Das könnte stimmen. Ich habe beider Installation Probleme gehabt. Ich betreibe einen raspi. Könnte mir jemand die notwendigen Befehle fürs Telnet? kurz schildern, damit wir das ausschließen können?

Vielen Dank!!!
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: mele am 04 Oktober 2013, 17:10:43
Hallo zusammen,

das Problem saß wiedermal vor dem Bildschirm ;-)

Für alle, die Ähnliches erleben:

Für den Google-Kalender muss auf jeden Fall SSL installiert sein (steht auch in der Wiki, aber ich hab es leider nicht gesehen).

Dies geht sehr schnell und bedarf nur des Telnet-Befehles "cpan -i IO::Socket::SSL"

Ich habe danach einen Reboot gemacht, den Kalender wieder definiert und schon war er ACTIVE.

Vielen Dank, dass ihr mich unterstützt habe. Mehr werde ich die nächsten Tage probieren.

VG
Manuel
Titel: Aw: Calendar bei unterbrochener Interneverbindung
Beitrag von: betateilchen am 07 Oktober 2013, 14:41:16
Zitat von: mele schrieb am Fr, 04 Oktober 2013 15:04Ich betreibe einen raspi. Könnte mir jemand die notwendigen Befehle

Grundsätzlich empfehle ich für den Raspberry, einfach das Paket "libwww-perl" mittels apt-get install libwww-perl zu installieren, da wird automatisch alles installiert, was der Raspi für die Kommunikation mit dem Internet brauchen kann.

schön, dass auch Dein Kalender jetzt läuft :)