Outlook-Synchronisierung und fehlende Erinnerungen

Nachdem ich die Outlook-Synchronisation mit ownCloud eingerichtet habe, musste ich feststellen das Erinnerungen in Outlook 2019 nicht möglich waren.

In der Microsoft-Community habe ich dazu eine Antwort gefunden.

Ich konnte für mich das Fehlverhalten mit den fehlenden Erinnerungen wie folgt lösen:

  • Outlook schließen
  • Systemsteuerung – Mail (Microsoft Outlook 2016) (32-Bit) – Addin öffnen
  • Datendateien auswählen
  • Die Datei in der die synchronisierten Daten abgelegt werden muss „Als Standard festlegen“ hinterlegt sein
  • Outlook starten

Optional habe ich mir noch eine eigene Daten-Datei für den ownCloud-Sync erstellt. Danach konnte ich auch in Outlook ganz normal Erinnerungen hinzufügen. Danach muss man nur noch die entsprechenden Kalender in Outlook in den richtigen Ordner verschieben.

Scheinbar kann man den Ordner „Internetkalender“ nicht direkt für eine Synchronisierung komplett verwenden.

Hattet Ihr schon einmal ein ähnliches Problem?

Kalender und Kontakte zwischen ownCloud und Outlook synchronisieren

Für unsere Kontakt- und Kalenderdaten verwenden ich das System ownCloud mit den zugehörigen Plugins. Bis jetzt habe ich immer von unseren Android-Systemen per CalDAV (Kalender) und CardDAV (Kontakte) synchronisiert. Am stationären PC und am Surface habe ich immer nur einen lesenden Zugriff auf die Daten verwendet. Ich wollte die Konfiguration jetzt auf eine Zwei-Wege-Synchronisierung erweitern.

Ich habe die OpenSource Software Outlook CalDav Synchronizer im Internet dazu gefunden. Laut der „Feature-Liste“ enthält es meine gewünschten Funktionen. Die gesamte Dokumentation findet Ihr hier.

Ich habe die Software wie folgt in Outlook 2019 (aus meinem Office 365 Abo) eingebunden:

  • Download der Software und Installation (dazu vorher Outlook beenden)
  • Einen neuen leeren Kalender- oder Kontakt-Ordner erstellen
  • Im Outlook-Ribbon „CalDav Synchronizer“ über die „Syncrhonization Profiles“ und dem grünen Plus ein neues Profil erstellen
  • Als Typ habe ich „Generic CalDAV/CardDAV“ verwendet
  • Danach das Profil mit dem Namen, dem Outlook folder, der DAV Url, Username und Password parametrieren
  • Über den Verbindungstest kann die Konfiguration geprüft werden
  • Mit der Schaltfläche „Synchronize now“ kann die Synchronisierung gestartet werden

Jetzt hat man schon eine lauffähige Zwei-Wege-Synchronisation zwischen Outlook und ownCloud eingerichtet.

Wie synchronisiert Ihr eure „PIM-Daten“ zwischen den verschiedenen Systemen? Habt Ihr noch andere Anwendungsfälle?

Integration Sonoff S20 mit Tasmota in openHAB

In diesem Beitrag habe ich beschrieben wie eine MQTT-Infrastruktur mit openHAB 2.4 aussehen kann. Jetzt sind Sonoff S20 Steckdosen als Geräte vorhanden und wurden mit Tasmota MQTT-fähig gemacht.

Jetzt müssen natürlich die Steckdosen vorbereitend für Weihnachten 2019 auch in openHAB integriert werden 🙂

Weiterführende Informationen

Ein Beispiel für die Anbindung an MQTT mit openHAB 2.4 findet man im  Tasmota-Wiki. Dort wird der alte Weg und die neue Variante mit openHAB 2.4 grob beschrieben.

Die generelle MQTT-Architektur in openHAB 1 / 2 könnt Ihr hier nachlesen. Damit hat man schon einmal etwas Basiswissen über die Systemarchitektur.

Ein kleines Beispiel für die Integration von Sonoff S20 mit Tasmota-Firmware habe ich im openHAB-Forum gefunden. Recht ähnlich habe ich dann meine Konfiguration aufgebaut.

Genereller Aufbau

Da ich bereits openHAB 2.4 verwende, benutze ich MQTT v2 als „Binding“. Ich gehe nicht mehr auf die Unterschiede der beiden Versionen ein.

Jedes physikalische vorhandene Sonoff-Gerät wird als ein Thing definiert. Am Thing wird auch die Verbindung zum MQTT-Broker hinterelegt. Außerdem werden am Thing die notwendigen Channels z.B. POWER zum schalten parametriert.

Anschließend wird am Item definiert das auf den Channel zugreift. Am Schluss wird alle in der Sitemap visualisiert und optional in Regeln automatisiert.

things-Datei

In der Things-Datei wird nun die Bridge zum MQTT-Broker und die Things incl. Channels wie folgt definiert:

Bridge mqtt:broker:myMQTTBroker [
host="xxx.xxx.xxx.xxx",
secure=false,
username="xxx",
password="xxx" ,
clientID="myMQTTClient"
]
{
Thing topic Sonoff_xxx_xxx "Sonoff - xxx-5778" @ "MQTT" {
Channels:
Type switch : PowerSwitch "Power Switch 01" [ stateTopic="stat/sonoff-xxx/POWER", commandTopic="cmnd/sonoff-xxx/POWER", on="ON", off="OFF" ]
Type switch : PowerSwitchRes "Switch State 01" [ stateTopic="stat/sonoff-xxx/RESULT", transformationPattern="JSONPATH:$.POWER",on="ON",off="OFF"]
Type string : Version "Version 01" [ stateTopic="tele/sonoff-xxx/INFO1", transformationPattern="JSONPATH:$.Version"]
Type string : fallback "fallback topic" [ stateTopic="tele/sonoff-xxx/INFO1", transformationPattern="JSONPATH:$.FallbackTopic"]
Type string : hostname "hostname " [ stateTopic="tele/sonoff-xxx/INFO2", transformationPattern="JSONPATH:$.Hostname"]
Type string : IP "IP " [ stateTopic="tele/sonoff-xxx/INFO2", transformationPattern="JSONPATH:$.IPAddress"]
Type string : time "Time" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Time" ]
Type string : uptime "Uptime" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Uptime" ]
Type number : vcc "VCC" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Vcc" ]
Type string : wifi-ap "Wifi AP" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.AP" ]
Type string : wifi-ssid "Wifi SSID" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.SSId" ]
Type string : wifi-channel "Wifi Channel" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.Channel" ]
Type string : wifi-rssi "Wifi RSSI" [ stateTopic="tele/sonoff-xxx/STATE", transformationPattern="JSONPATH:$.Wifi.RSSI" ]
Type string : devicestate "Device State" [ stateTopic="tele/sonoff-xxx/LWT" ]
}

items-Datei

Die Items werden wie folgt aufgebaut:

/************************************************** Gruppen ********************************************/
Group gSonoffSw1 "Sonoff S20 01"
Group gSonoffSw1Info "Info 01"
Group gSonoffSw2 "Sonoff S20 02"
Group gSonoffSw2Info "Info 02"
/************************************************** Items ********************************************/
/*
Sonoff_xxx_xxx
*/
Switch SonoffPs01Switch_Switch       "Switch 01"      (gSonoffSw1) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:PowerSwitch" }
Switch SonoffPs01Switch_State        "State 01" (gSonoffSw1) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:PowerSwitchRes"}
Number SonoffPs01Switch_Vcc          "VCC [%s]"          (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:vcc" }
String SonoffPs01Switch_WifiAp       "Wifi AP [%s]"      (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-ap" }
String SonoffPs01Switch_WifiSsid     "Wifi SSID [%s]"    (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-ssid" }
String SonoffPs01Switch_WifiChannel "Wifi Channel [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-channel" }
String SonoffPs01Switch_WifiRssi     "Wifi RSSI [%s]"    (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:wifi-rssi" }
String SonoffPs01Switch_Uptime       "Uptime"         (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:uptime" }
String SonoffPs01Switch_Time         "Time"       (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:time" }
String SonoffPs01Switch_Version         "Version [%s]" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:Version" }
String SonoffPs01Switch_Hostname     "Hostname [%s]"     (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:hostname" }
String SonoffPs01Switch_IP       "IP [%s]"   (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:IP" }
String SonoffPs01Switch_DeviceState "Device State" (gSonoffSw1Info) { channel="mqtt:topic:myMQTTBroker:Sonoff_xxx_xxx:devicestate" }

Falls gewünscht kann das Tag [„Lighting“] für die Alexa-Anbindung noch entsprechend integriert werden.

Nach der Änderung der Things und Items einmal die openHAB-Dienste neu starten.

Test der Konfiguration

Den Test der Konfiguration habe ich mit mqtt-spy vorgenommen.

Ich habe folgende Topics verwenden:

  • +/sonoff-xxx/+

Damit sehe ich alle Nachrichten zu dem Gerät. Es können folgende Wildcards verwendet werden:

  • + = Single Level
  • # = Multi Level

rules-Datei

Im nächsten Schritt möchte ich das Schalten der Steckdosen per Regel automatisieren:

rule "MQTT_TEST"
when
Time cron "0 */1 * ? * *" //every 1 Minute
then
logInfo("INFO","MQTT.rules - MQTT Test every minute")
val actions = getActions("mqtt","mqtt:systemBroker:embedded-mqtt-broker")
actions.publishMQTT("cmnd/sonoff-xxx/POWER","OFF")
end

Mit dieser Regel wird jede Minuten das Sonoff-Gerät ausgeschalten. Für einen einfachen Test ist das ausreichen.d

sitemap-Datei

Im letzten Schritt wird noch die Visualisierung in der Sitemap für die Web-Oberfläche und die App vorgenommen:

    Text label="Tasmota" icon="movecontrol" {
        Frame label="Sonoff S20 (B0B692 - 5778)" {
            Switch  item=SonoffPs01Switch_Switch
            Switch  item=SonoffPs01Switch_State
            Group item=gSonoffSw1Info
        }
    }

Fazit und nächste Schritte

Mit den oben genannten Dokumentationen und Beispielen ist ein sehr einfacher Einstieg in MQTT, den Sonoff-Endgeräte und der Tasmota-Firmware möglich. Ich muss mir jetzt noch eine bessere Struktur für meine  Topics und Messages erstellen. Im ersten Test habe ich die hinterlegten Nachrichten genommen, ich erst einmal die Funktionsfähigkeit testen wollte.

Nun kann ich auch die restlichen „Tasmoten“ bestellen und damit die Weihnachtsbeleuchtung 2019 vorbereiten 🙂

Wie sind eure Erfahrungen allgemein mit MQTT und mit der Integration in openHAB? Welche Szenarien lassen sich damit noch abbilden?

 

Brocelian, Instorm, Molllust und Imperial Age am 27.01.2019 im Backstage Club in München

Brocelian

Instorm

Molllust

Imperial Age

Tasmota-Software auf Sonoff S20 Steckdosen

In diesem Beitrag möchte ich kurz beschreiben, wie man Sonoff S20 Steckdosen für die lokale Verwendung im SmartHome anpasst und die Bindung zur Hersteller-Cloud löst. Dafür notwendig ist die Tasmota-Firmware auf den Steckdosen.

Informationen

Im ersten Schritt findet Ihr hier ein paar Quellen für die die Anpassung der Hard- und Software:

Notwendige Komponenten

Folgende Hardware:Komponenten waren für die Anpassung notwendig

  • FTDI Adapter FTL232RL USB zu TTL Serial (ca. 6,79 Euro bei Amazon)
  • Jumper Wire Kabel (3 x 40 Stück) (ca. 6,29 Euro bei Amazon)
  • 2 x Sonoff S20 Wifi Smart Steckdose (ca. 20,97 Euro bei Ebay)
    20,97 Euro für 2 Stück

Für die Software habe ich die Arduino IDE mit ein paar Anpassungen für das Board verwendet.

Arduino IDE

In diesem Kapitel wird die Verwendung der Software-Umgebung auf Basis der Arduino IDE beschrieben.

Installation

  • Download Arduino IDE 1.8.8
  • Version 1.8.8 für Windows als ZIP-Datei (ohne Installation, abhängig vom Betriebssystem)
  • Entpacken des Pakets und Start der Software (mit arduino.exe)

Erstkonfiguration

Nun wird eine erste Grundkonfiguration der IDE vorgenommen:

  • Datei – Vorsteinstellungen – Zusätzliche Boardverwalter-URLs
  • Datei – Voreinstellungen – Sketchbook-Speicherort auf entsprechenden Pfad setzen
    • Ansonsten werden die Anpassungen im „Dokumente & Einstellungen“ Verzeichnis von Windows gespeichert
  • Werkzeuge – Board – Boardverwalter (Einrichtung ESP8266-Board)
    • Suche nach: esp8266
    • Neueste Version installieren (hier 2.4.2 – keine Beta verwendet)

Sonoff (Hardware)

Jetzt kann etsprechend die Sonoff S20 Hardware angepasst werden.

Die Funksteckdose kann einfach mit einem Kreuz-Schraubendreher und drei Schrauben geöffnet werden. Nach Abschluß des Flash-Vorgangs wird die Steckdose wieder zusammengeschraubt.

Danach wird die Verbindung zum FTDI-Adapter hergestellt:

Wichtig ist, dass während des Flash-Vorgangs die Steckdose nie am Stromnetz betrieben werden darf.

In der Hardware-Vorbereitung wird genau beschrieben wie Ihr die Pins verbinden müsst. Die Umsetzung war für mich als „Nicht-Elektroniker“ auch einfach zu machen.

Tasmota (Software)

Nun muss die Firmware auf der Steckdose von der Herstellerfirmware gegen Tasmota getauscht („geflasht“) werden.

Installation und Konfiguration

Bei der Tasmota-Firmware handelt es sich um eine Software für auf ESP8266 basierende Geräte von itead z.B. Sonoff. Hier können erweitertee Funktionen wie Web, MQTT und OTA hinzugefügt werden. Als Arbeitsumgebung kann Arduino IDE  PlatformIO verwendet werden. Ich habe mich für die Arduino IDE entschieden.

Die erste Einrichtung habe ich wie folgt vorgenommen:

  • Download von https://github.com/arendst/Sonoff-Tasmota (Clone or download, Download ZIP)
  • Entpacken der Datei sonoff-Tasmota-development.zip in ein beliebiges Verzeichnis
  • Sketch „sonoff“ von …\Sonoff-Tasmota-development in den vorher hinterlegten Sketchbook-Speicherort kopieren
  • Libraries „lib“ von …\Sonoff Tasmota\Sonoff-Tasmota-development in den vorher hinterlegten Sketchbook-Speicherort + \libraries kopieren

Damit ist die Grundkonfiguration der Firmware schon einmal vorhanden.

Anpassung Sonoff-Projekt

Jetzt muss das entsprechende Sonoff-Projekt an die eigenen Vorstellungen angepasst werden:

  • Arduino IDE starten und Projekt laden (Datei – Öffnen) – Sketchbook-Speicherort + \sonoff\sonoff.ino
  • Anpassung der Datei my_user_config.h (benutzerdefinierte Konfigurationen)
    • WIFI_IP_ADRESS auf „0.0.0.0“ kontrollieren (damit wird DHCP verwendet)
    • STA_SSID1 mit entsprechender WLAN-SSID anpassen
    • STA_PASS1 mit entsprechendem WLAN-Passwort anpassen
    • WIFI_CONFIG_TOOL auf „WIFI_RETRY“ kontrollieren (bei WLAN-Abbruch Verbindung wieder herstellen)
    • #define MY_LANGUAGE de-DE (// als Kommentar entfernen für deutsche Firmware)
  • Dann wird die Vorbereitung zum Flash-Vorgang (Verbindung) wie folgt konfiguriert:
    • Diese Einstellungen sind dann abhängig von den verwendeten Modulen und Elementen
    •  Werkzeuge
      • Board: „Generic ESP8266 Module“ auswählen
      • Flash Mode: „DOUT“
      • Flash Size: „1M (no SPIFFS)“
      • Debug port: „Disabled“
      • Debug Level: „Keine“
      • IwIP Variant: „v1.4 Higher Bandwith“
      • Port: Entsprechenden Port aus der Windows-Geräte-Verwaltung auswählen
    • Die Einstellungen dort sind abhängig von den entsprechenden Boards

Flash-Vorgang starten

Nun kommt der eigentliche Flash-Vorgang, der aber auch recht einfach funktioniert:

  • Button auf dem Sonoff S20 drücken
  • Gerät am USB einstecken (Power)
  • Button loslassen
  • Sonoff S20 ist im Programmiermodus
  • Software flashen
  • Ausstecken und ohne Button wieder einstecken (Gerät bootet normal und sollte im WLAN sein)

Netzwerkintegration

WLAN-Integration

Nachdem man die Steckdose wieder zusammen geschraubt hat, ist ein erster kompletter Test im eigenen WLAN möglich.

Dazu einfach im Router (bei mir eine FritzBox) in den Netzwerkgeräten nach „sonoff“ Ausschau halten.

Hier findet Ihr dann die IP-Adresse und der entsprechende Name des Geräts. Nun kann über einen Web-Browser auf das Webinterface zugegriffen werden. Auf der Weboberfläche kann auch gleich ein erster Funktionstest (Schalttest) vorgenommen werden.

Tasmota-Konfiguration

Folgende Einstellungen habe ich in der Tasmota-Weboberfläche noch vorgenommen:

  • Einstellungen – Gerät konfigurieren
    • Gerätetyp: Sonoff S2X (8)
  • Einstellungen – Sonstige Konfiguration
    • Name: sonoff-xxx
    • Emulation: Belkin WeMo
  • Einstellungen – MQTT konfigurieren
    • Host: xxx.xxx.xxx.xxx
    • client: sonoff-%06X
    • topic: sonoff-xxx

Durch die Emulation ist auch eine direkte Verwendung in Amazon Echo / Alexa möglich. Die MQTT-Einstellungen sind nur für meine openHAB-Integration vorgesehen.

Alexa-Integration

Für die Verwendung mit Alexa muss in der Alexa-App noch ein Suchlauf gestartet werden. Danach können die Geräte per Sprache geschalten werden:

  • „Schalte sonoff-xxx ein“
  • „Schalte sonoff-xxx aus“

Fazit

Mit diesen paar Schritten ist es relativ einfach ein Sonoff-Endgerät mit der alternativen Firmware Tasmota zu „flashen“. Auch die Integration in das heimische Netzwerk klappt ohne größeren Aufwand. Damit habe ich für ca. 10 Euro pro Steckdose eine sehr günstige Variante um unsere Weihnachtsbeleuchtung mit vielen Steckdosen Ende 2019 entsprechend zu schalten.

Die MQTT-Konfiguration für openHAB und die Integration in Alexa über openHAB muss ich im nächsten Schritt noch genau testen.

Vom Arbeitsaufwand war es eigentlich recht überschaubar (dies hätte ich mir komplizierter) vorgestellt.

Habt Ihr auch schon einmal Endgeräte mit Tasmota geflasht?

„Hue Emulation“ bei Beleuchtungsgruppen nach Update auf openHAB 2.4

Nach dem Update auf openHAB 2.4 funktioniert der folgende Sprachbefehl nicht mehr „Alexa, schalte das Licht Wohnbereich aus“ in unserem SmartHome. Das zugehörige Item ist wie folgt definiert:

Switch Licht_EG_Wohnbereich     "Licht Wohnbereich"         (gLicht_EG, gLicht)             [ "Lighting" ]

Mit diesem Item schalte ich dann in einer Regel alle Lichter in den gewünschten Zimmern aus. Mit openHAB 2.3 hat das auch noch alles ohne Probleme funktioniert. Das Problem trat bei uns im Haus auf, wenn ein physikalischer Lichtschalter aktiviert wurde und dann dieses Licht per Sprache ausschalten wollte (das passiert bei uns öfter).

Ein ähnliches Problem wurde hier im openHAB-Forum leider ohne Lösung beschrieben.

Scheinbar gab es eine Änderung in dem Binding zwischen den Versionen 2.3 / 2.4 bezüglich der Stati ON / OFF / NULL. Ein Verweis auf den aktuellen Snapshot-Build hat das Problem gelöst.

Ich habe den Snapshot (Testversion) wie folgt eingespielt:

  • Hue Emulation deinstallieren –  PaperUI – Add-ons – MISC (misc-hueemulation – 2.4.0
  • Download der Datei org.openhab.io.hueemulation-2.5.0-SNAPSHOT.jar
    • Weitere Informationen zu den Änderungen gibt es hier
  • Die Datei wird in den Ordner /addons auf dem openHAB-System kopiert
  • Ergebnis kontrollieren – PaperUI – Configuration Services – IO – Hue Emulation
  • Optional: Die Logs auf entsprechende Fehler / Hinweise durchsehen

Nach dieser kleinen Änderung können „Gruppen-Schalter“ (in unserem Fall Lichter) wieder über Alexa komplett geschalten werden.

Egal wie zuverlässig man alles testet, kommt bei jedem Software-Update immer eine „Kleinigkeit“ dazu die man vergessen hat. 🙂

Hattet Ihr ähnliche Erfahrungen nach dem openHAB 2.4 Update?

 

Integration Webmail in ownCloud 10

Von unterwegs nutze ich öfter einen Webmail-Client zum Schreiben von E-Mails, anstatt die „Apps“ über das Smartphone zu verwenden. In den meisten Fällen habe ich ein Notebook bei mir und kann mit einer richtigen Tastatur einfach besser und schneller Texte verfassen.

Allgemeine Informationen

Mit dem Update auf ownCloud 10 war eine einfache Integration der vorherigen Mail-App nicht mehr so einfach möglich.

Auf der einen Seiten waren mir die PHP-Abhängigkeiten zu hoch und auf der anderen Seite war die App nicht im offiziellen Marketplace vorhanden.

Es gab aber mit RainLoop eine weitere Webmail-App mit IMAP-Funktionalität im Store.

Installation

Die Installation führt man einfach über die Administrationsoberfläche von ownCloud durch und ist sofort erledigt.

Grundkonfiguration

Danach habe ich noch folgende Anpassungen in der RainLoop-Administration vorgenommen:

  • Standardpasswort und Benutzer für die Administration geändert
  • Sprache generell von Englisch auf Deutsch gestellt
  • In den Domain-Einstellungen musste ich noch meine E-Mail-Domain mit IMAP- und SMTP-Einstellungen aktivieren

Danach war das Grundcustomizing auch schon abgeschlossen und ich konnte mich wieder mit meinen E-Mail-Konten direkt im Web anmelden.

Fazit

Der Austausch der Webmail-App war sehr einfach möglich (ist ja auch keine gravierend schwierige Funktion).

Der neue Client integriert sich jetzt komplett in die Kontaktverwaltung – das macht es in der Verwendung schon viel einfacher.

Leider ist das Layout von ownCloud und RainLoop nicht komplett identisch – das hat für mich aber keine höhere Priorität.

Habt Ihr auch einen Webmail-Client mit ownCloud im Einsatz? Welche Software nutzt Ihr dazu?

Aktualisierung von ownCloud 9 auf ownCloud 10

Für den privaten Gebrauch (als „Private Cloud“) nutze ich ownCloud in einer älteren Version, da die Updates der Software meistens sehr aufwändig für mich waren.

Allgemeine Informationen

Im ersten Schritt habe ich die Release Notes und die Changelogs der Version 10 (und der vorherigen 9er Versionen kontrolliert). Diese findet Ihr hier und hier.

Es wird die Verwendung von PHP 7.2 auf dem Server empfohlen d.h. man sollte die vorhandene PHP-Version auch gleich noch einmal kontrollieren.

Danach habe ich noch einmal die letzte Upgrade-Anleitung gelesen, da ich ja öfter Probleme nach dem Update von diversen ownCloud-Versionen hatte.

Es müssen auf alle Fälle die vorhandenen 3rd-Pary-Apps auf Kompatibilität kontrolliert, vor dem Update aktualisiert und dann deaktiviert werden. Die aktuellen Versionen kann man über den Marketplace einsehen.

Da ich mein System auf einem Shared-Hosted-System betreibe, habe ich mich für den Update-Pfad über die Updater-App entschieden.

Hier habe ich noch eine gute Anleitung zur Aktualisierung bei decatec.de gefunden (diese kann man gut als Basis verwenden).

Voranalyse

Folgende Punkte habe ich im Vorfeld kontrolliert:

  • PHP Version (Aktualisierung von 5.5 auf 7.2 notwendig)
  • Installierte Apps prüfen
  • Cron-Job prüfen
  • Update-Pfad prüfen (mir wurde ein Update von 9.1.6 auf 9.1.8 und dann auf 10.0.10 angeboten)

Apps

Im nächsten Schritt habe ich alle vorhandenen 3rd-Party-Apps auf die aktuellsten Stände gebracht und ggf. auch aussortiert:

Die Mail-App und die ownNote-App wollte ich nicht weiter nutzen. Die Mail-App hatte andere Abhängigkeiten zu PHP und habe ich damit gelöscht. ownNote läuft leider noch nicht mit der ownCloud Version 10 und wurde auch deinstalliert

Aktualisierung

Die Aktualisierung habe ich zwei Mal durchgeführt:

  • 9.1.6 auf 9.1.8
  • 9.1.8 auf 10.0.10

Der Ablauf war ganz grob wie folgt:

  • Backup der vorhandenen Daten durchführen
    • config-Ordner sichern
    • data-Ordner sichern
    • ownCloud-Datenbank sichern
  • Kompatibilität der 3rd-Party-Apps noch einmal kontrollieren
  • Alle 3rd-Party-Apps in der Administrationsoberfläche deaktivieren
  • Updater-App aufrufen und ausführen (ACHTUNG: Hier hat vor allem der Punkt mit der Aktualisierung der Apps etwas gedauert)
  • Nach ein paar Minuten war der Update-Prozess abgeschlossen

Jetzt folgen die Funktionstests:

  • Anmeldung an der Weboberfläche
  • Admin-Oberfläche auf Warnungen und Hinweise kontrollieren
  • Schritt für Schritt die 3rd-Party-Apps wieder aktivieren und testen (bei mir speziell die Kalender und Kontakte auf allen Endgeräten)
  • Danach den ownCloud-Client neu starten und auch die erfolgreiche Synchronisation kontrollieren

Fazit

Im Gegensatz zu den letzten Major-Release-Updates liefen diese beiden Updates sehr einfach und gut durch. Scheinbar hat man sich die Update-Probleme bei ownCloud doch genau angesehen und zum positiven verändert.

Jetzt verfüge ich über ein neues ownCloud 10 System und kann mit der Integration der neuen Funktionen beginnen.

Im nächsten Schritt werde ich den Webmail-Client gegen eine neue Version ersetzen.

Habt Ihr ownCloud 10 auch im Einsatz? Hattet Ihr auch ähnliche positive Erfahrungen beim Update?