owncloud - die Zentrale für Kalender und Adressbuch

Version 1.18

  • Synology sollte jetzt auch gehen. Wenn aber über Webseite des Synology Calendars ein Termin mit Erinnerung eingestellt wird, wird die Erinnerung in den Export nicht eingetragen. Somit keine Benachrichtigung etc. Betrifft NUR die Einträge über sie Webseite von Synology!

Danke für den Synology Fix! Funktioniert bei mir! :slight_smile:

PS: Happy Birthday :smiley:

Vielen Dank Andre :slight_smile:

Hab da noch eine Sache…
Mir ist aufgefallen, dass Feiertage in der Kalender Variable (HTMLBox) nur angezeigt werden, wenn an dem Tag auch ein Termin drin steht.

Ist das so gewollt?

Betse Grüße
Kai

Ja ist so gewollt.

Mich interessieren nur Feiertage mit Termin.

Gesendet von meinem SM-G950F mit Tapatalk

@Someone vielen Dank

Gesendet von meinem SM-G950F mit Tapatalk

Hallo Andre,

bei mir wird die „Duration“ nicht ausgelesen.
Wenn ich dich im Script richtig verstanden habe, dann kann man in der „function get_Reminder“ einen festen Erinnerungszeitpunkt einstellen.

Ausschnitt function get_Reminder

else if (substr($xvalue[0],0) == "DATE-TIME"){  // fester Erinnerungszeitpunkt
			$reminder = strtotime(substr($xvalue[1],6,2).".".substr($xvalue[1],4,2).".".substr($xvalue[1],0,4)." ".substr($xvalue[1],9,2).":".substr($xvalue[1],11,2));
		}
		return $reminder;

Kannst du mir erklären welche Anpassungen ich tätigen muss, damit ich z.B. immer 1 Stunde vorher (oder fester Zeitpunkt) eine Mail bekomme.

Vielen Dank und beste Grüße
Kai

Sorry, kein Support der Scripte. Dafür fehlt mir die Zeit.

Weckzeit kannst Du mit dem Termin als Erinnerung eintragen.

Es gehen auch mehrere Erinnerungen.

Es gibt aber ein Problem mit Synology, wenn du den Termin mit Weckzeit über die Webseite einträgst. Dann steht die Erinnerung nicht im Termin. Warum auch immer.

Mit Android und Thunderbird klappt das.

Gesendet von meinem SM-G950F mit Tapatalk

Ich vermute mal die Entwicklungen von ownCloud und NextCloud sind nun soweit auseinander gegangen, dass dieses Modul nicht mehr mit Nextcloud kompatibel ist oder?
Hatte das Modul eine ganze Zeit lang verwendet und letztes Jahr hat es dann seinen Dienst eingestellt.

Fehlermeldung ist:

09.04.2019, 14:12:00 | ownCloud | Keine Sinnvollen Daten von ownCloud erhalten

This is the WebDAV interface. It can only be accessed by WebDAV clients such as the Nextcloud desktop sync client.

HastvDu das Modul oder Script am Stand.
Modul ist alt. Bitte Script nutzen.
Nextcloud sollte mit Script gehen.

Gesendet von meinem SM-G950F mit Tapatalk

Hallo,
ich benutze das Modul recht erfolgreich mit NextCloud. Danke dafür. Leider gibt es ein kleines Problem welches aber an NextCloud liegt und vielleicht auch in OwnCloud vorhanden ist.

Beim Export sehen die Daten z.B. so:

DTSTART;VALUE=DATE:19700607
DTEND;VALUE=DATE:19700608

aus. Problem/Fehler ist das das Geburtsjahr in Wirklichkeit nicht 1970 sondern 1938 war. Durch diesen Fehler stimmt das Alter nicht. Ich finde das Alter eine recht wichtige Information weil es ja Alter wie 16, 18, 30, 50 oder 100 meistens spezielle Bedeutung haben. NextCloud speichert als Jahr für alle Einträge die vor 1970 liegen eben die 1970 ob und somit ist keiner meiner Kontakte älter als 49 was zwar schön wäre aber leider eher die Ausnahme ist. Das eigentlich Geburtsjahr speichert NextCloud in einer Klammer hinter dem Namen so das es „Ralf Biedermann (1961)“ ergibt. Könnte man das vielleicht irgendwie berücksichtigen?

Bei NextCloud habe ich mich schon gemeldet aber der „Fehler“ dort ist bewusst gemacht weil es Apps gibt die mit Jahren vor 1970 nicht zurecht kommen. Ich schätze das es einem der komischen Timer liegt die ihre 0 beim 1.1.1970 liegen haben. Speziell erwähnt wurde Android aber es wird wohl auch auf anderen OS Apps mit so einem Problem geben.

Ralf

Hi,
ich habe für mich jetzt selbst eine Lösung in das Modul eingebaut. Die Lösung ist wie folgt ab Zeile 1182 vom Cloud Script.


// Termin mit zeitlich unbegrenzte Wiederholungen
elseif  ($Data['RRuleFreq'] <> '' && $Data['RRuleEnd'] == '' && $Data['RRuleCount'] == ''){
    $jahre = 0;
    $yearpos = strpos($Data['Bezeichnung'], '(') + 1;
    if ($yearpos != 1){
        $Data['DatumTxt'] = substr($Data['DatumTxt'], 0, 6).substr($Data['Bezeichnung'], $yearpos, 4);
    }
    $day = strtotime($Data['DatumTxt']);

Mit $yearpos = strpos($Data[‚Bezeichnung‘], ‚(‘) + 1; bestimme ich ob und wo eine geöffnete Klammer ist.Mit $Data[‚DatumTxt‘] = substr($Data[‚DatumTxt‘], 0, 6).substr($Data[‚Bezeichnung‘], $yearpos, 4); kopiere ich das Jahr aus der Bezeichnung in das Geburtsjahr. Schon stimmen die Altersangaben wenn man älter als 50 ist:-)

Ralf

Hi,
neues Jahr neuer Abfallkalender.

Ich habe nach Import des aktuellen Abfallkalender festgestellt das die Termine zwar eingetragen werden aber keine Beschreibung vorhanden ist.

Ich habe herausgefunden das es an einer Länderangabe liegt. Ich habe


if ($xvalue[0] == "SUMMARY"){
  $title = "";
  for($i = 1; $i < (count($xvalue) ); $i++){
    if ($i > 1) $title .= ":";
    $title.= $xvalue[$i];
  }
  $thisData['Bezeichnung'] = iconv('UTF-8//IGNORE', 'ISO-8859-15//IGNORE', ModifyTitle($title));
}

in der Funktion ReadCalendar() pragmatisch ersetzt durch:


if ($xvalue[0] == "SUMMARY;LANGUAGE=de"){
  $title = "";
  for($i = 1; $i < (count($xvalue) ); $i++){
    if ($i > 1) $title .= ":";
    $title.= $xvalue[$i];
  }
  $thisData['Bezeichnung'] = iconv('UTF-8//IGNORE', 'ISO-8859-15//IGNORE', ModifyTitle($title));
}
else if ($xvalue[0] == "SUMMARY"){
  $title = "";
  for($i = 1; $i < (count($xvalue) ); $i++){
    if ($i > 1) $title .= ":";
    $title.= $xvalue[$i];
  }
  $thisData['Bezeichnung'] = iconv('UTF-8//IGNORE', 'ISO-8859-15//IGNORE', ModifyTitle($title));
}

und schon gab es wieder Beschreibungen.

Da ich die Termine auch per Alexa ausgebe gefiel mir die Zeitangabe nicht. Ich habe in der TimerEvent-Routine Folgendes:


$heute = str_ireplace("00:00 ", "", $heute);
$heute = str_ireplace(":00 ", " Uhr ", $heute);
$heute = str_ireplace(":5 ", " Uhr 5 ", $heute);
$heute = str_ireplace(":10 ", " Uhr 10 ", $heute);
$heute = str_ireplace(":15 ", " Uhr 15 ", $heute);
$heute = str_ireplace(":20 ", " Uhr 20 ", $heute);
$heute = str_ireplace(":25 ", " Uhr 25 ", $heute);
$heute = str_ireplace(":30 ", " Uhr 30 ", $heute);
$heute = str_ireplace(":35 ", " Uhr 35 ", $heute);
$heute = str_ireplace(":40 ", " Uhr 40 ", $heute);
$heute = str_ireplace(":45 ", " Uhr 45 ", $heute);
$heute = str_ireplace(":50 ", " Uhr 50 ", $heute);
$heute = str_ireplace(":55 ", " Uhr 55 ", $heute);
$morgen = str_ireplace("00:00 ", "", $morgen);
$morgen = str_ireplace(":00 ", " Uhr ", $morgen);
$morgen = str_ireplace(":5 ", " Uhr 5 ", $morgen);
$morgen = str_ireplace(":10 ", " Uhr 10 ", $morgen);
$morgen = str_ireplace(":15 ", " Uhr 15 ", $morgen);
$morgen = str_ireplace(":20 ", " Uhr 20 ", $morgen);
$morgen = str_ireplace(":25 ", " Uhr 25 ", $morgen);
$morgen = str_ireplace(":30 ", " Uhr 30 ", $morgen);
$morgen = str_ireplace(":35 ", " Uhr 35 ", $morgen);
$morgen = str_ireplace(":40 ", " Uhr 40 ", $morgen);
$morgen = str_ireplace(":45 ", " Uhr 45 ", $morgen);
$morgen = str_ireplace(":50 ", " Uhr 50 ", $morgen);
$morgen = str_ireplace(":55 ", " Uhr 55 ", $morgen);
$calDataTXT = str_ireplace("00:00 ", "", $calDataTXT);

eingebaut nachdem $heute und $morgen zusammengestellt worden sind.

Vielleicht hilft es ja auch jemanden außer mir.

Ralf

Hallo,

ich habe in meiner Nextcloud einen Urlaub von 16.02. - 29.02 eingetragen.

Ich hätte gehofft/erwartet, dass dies vom 16 - 29.02 angezeigt wird. Nach dem 16.02 ist aber der Urlaub im Webfront verschwunden.
kann mir jemand sagen wie ich das erreiche?
Gruß

Oliver

Hallo,

wie gibst du die Termine per Alexa aus?

Gruß

Oliver

Moin Jago,
wie schon erwähnt erzeuge ich mit dem iCal Modul und meinem NextCloud-Server regelmäßig Strings die Geburtstage und Termine von heute und den nächsten 2 Tagen enthalten.

Die schnelle Lösung ist mit dem Alexa-Modul eine Szene „Termine“ erstellen die mit dem Echo Remote Modul und ECHOREMOTE_TextToSpeech dann ausgegeben werden. Mit „Alexa schalte Termine an“ werden mir die Texte vorgelesen.

Etwas schönere Lösung wenn man das mit „schalte an“ nicht mag sind die Routinen in Alexa (NICHT in IPS). Man erstellt hier eine Routine Termine die auf Sprache reagiert und gibt als Satz z.B. „habe ich Termine“ an. Die Aktion der Routine wäre dann das Einschalten der Szene „Termine“ von IPS. Jetzt kann man mit „Alexa habe ich Termine“ abfragen ob man Termine hat.

Damit nur der angesprochene Dot/Echo spricht habe ich in vielen Routinen am Anfang Folgendes drin:

$echo = ECHOIO_GetLastDevice(17337);
if (strpos($echo['name'], 'HK', 0) !== false){
}

Ich benutze dieses Vorgehen anstatt „letztes Gerät auswerten“ von Echo Remote Modul weil das nur abfragt wenn es gebraucht wird und nicht stumpf alle 5-10 Sekunden. Es kann so schneller reagieren und belastet das Netz nicht so stark.

Ralf

Hallo,

ich wollte mir in dem Teil des owncloud-Scriptes, in dem die emails ausgegeben werden die Echo nachricht auch ausgeben lassen.

$Nachricht = "Termin Erinnerung für ".$thisData['Bezeichnung']. " Datum: ".$thisData['DatumTxt'];
ECHOREMOTE_TextToSpeech(25714, $Nachricht);

gibt bei Echo aus:

Termin Erinnerung für Test jährlich Datum: 24.08.2022

da kommt aber im EchoDot Skript ein Fehler

Warning: JSON parse error in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo Device/module.php on line 1695

Notice: Undefined index: http_code in /var/lib/symcon/modules/.store/fonzo.ipsymconechoremote/Echo Device/module.php on line 1934

baue ich das in einem Skript nach, mit gleicher Echo Ausgabe, klappt es und der Dot liest es korrekt vor.
Hast du ein Idee an was das liegen kann?

$thisData1 = 'Test jährlich';
 $thisData2 = ' Datum: 24.08.2022';
 $Nachricht = "Termin Erinnerung für ".$thisData1 . $thisData2;
 $Ausgabe = $Nachricht;
Echo : Termin Erinnerung für Test jährlich Datum: 24.08.2022

Ich habe auch schon versucht, die Ausgabe im Cloudskript in eine StringVariable zu schreiben und die dann als Ausgabe zu lesen, aber da kommt der Fehler auch

dann habe ich mit IPS_SetName probiert, aber da kommt der Fehler auch.
Gehe ich dann auf Umbenennen und speichere OHNE irgendwas zu verändern, ist der Fehler weg und der Dot liest vor.
2022-08-24_15h56_06

Hi,
ich hatte mal Diskussionen mit Alexa und es lag an utf8. Versuch mal:

Ralf

super, danke, damit hats funktioniert

Hi,

sorry für die späte Antwort.

Ich meine das man das in dem Konfig File einstellen kann.

Bitte prüfen.

Gruß André