Sonntag, 17. Juli 2016

Raspberry Pi HomeMatic-Modul

Für die Himbeere gibt es seit einiger Zeit eine Homematic Modul HM-MOD-RPI-PCB. Der Bausatz ist simpel aufgebaut, es ist nur eine Buchsenleiste und zwei Platinen mit Pfostenverbinder zusammenlöten.
Der HM-CFG-USB Adapter ist schon nicht mehr lieferbar, den HM-CFG-LAN soll es bald nicht mehr geben. Damit wird diese Modul und die Implementierung in FHEM zunehmend interessant!

Seit 18.7.2016 ist das Modul direkt in FHEM und das CUL_HM Modul ist angepasst. Damit ist die Installation schon einen Schritt einfacher.

Es gibt einen Thread der alles beschreibt, im Wiki findet man zunehemend entsprechende Infos.
Ich schreibe mal wieder auf wie es bei mir funktioniert hat:

Zutaten:
  • Raspberry PI B, B+, B2 oder B3
  • Image Jessie-Lite vom 27.05.2016 oder aktueller
  • System Grundkonfiguration: Zeitzone, Hostname, Kamera etc...

Serielle Schnittstelle vorbereiten:

Die folgenden Schritte kann man vor dem ersten Start auf der SD Karte (nach dem Image schreiben) ausführen oder aber nach dem ersten Start im Terminal.
  • In der Datei /boot/cmdline.txt diesen Eintrag löschen: console=serial0,115200 
  • Die Datei /boot/config.txt um diese Zeile ergänzen: enable_uart=1 
  • Bei dem PI 3 muss die UART und die miniUART getauscht werden. Die Datei /boot/config.txt insgesamt um diese Zeilen ergänzen:
enable_uart=1
dtoverlay=pi3-miniuart-bt
core_freq=250
Statt core_freq kann man auch force_turbo=1 gesetzt werden. Wichtig ist hierbei, dass dei Taktfrequenz konstant bleibt.

Nach dem ersten Start den serial-getty Dienst deaktivieren:
sudo systemctl disable serial-getty@ttyAMA0.service

Jetzt unbedingt neu starten!

Zusammenfassung

Falls man die Dateien im Image nicht vor dem ersten Start manipuliert hat, also nach dem ersten Start im Terminal:
sudo su
echo "enable_uart=1" >> /boot/config.txt 
echo "dtoverlay=pi3-miniuart-bt" >> /boot/config.txt # Nur beim Pi3 notwendig
echo "core_freq=250" >> /boot/config.txt 
sed -i s/'\bconsole=serial0,115200 //' /boot/cmdline.txt
systemctl disable serial-getty@ttyAMA0.service
reboot
In jedem Fall braucht man einen Neustart. man kann also die obigen Zeilen auch in das Script zur Grundkonfiguration des raspberry einbinden und läuft nicht Gefahr die Dateien im /boot durch den falschen Windows Editor unbrauchbar zumachen.

Setup von FHEM

Ganz nach persönlicher Vorliebe!
Interessant ist auf alle Fälle das Script von Betateilchen. Allerdings installiert dies die SVN Version. Der normaler User sollte in Standard Setup verwenden.

Beim PI 3 wegen Timingproblemen muss man noch eventuell die /etc/init.d/fhem um sleep 10 am Anfang ergänzen

Nach Neustart in FHEM einfach die Definition
define myHmUART HMUARTLGW /dev/ttyAMA0
attr myHmUART hmId xxxxxx

Firmware flashen

Das frische Modul sollte noch mit neuer Firmware geflasht werden, die Originalversion war 1.2.1 empfohlen ist derzeit die 1.4.1 von eq3.
Laut Wiki  ist jetzt auch das flashen der Firmware von FHEM aus möglich.
Einfach mit ssh am Pi anmelden und dann:

wget https://raw.githubusercontent.com/eq-3/occu/ee68faf77e42ed5e3641790b43a710a3301cea7e/firmware/HM-MOD-UART/coprocessor_update.eq3
sudo cp coprocessor_update.eq3 /opt/fhem/FHEM/firmware/

Anschließend in der Oberfläche diesen Befehl eingeben und warten bis das Modul sich wieder meldet.

set myHmUART updateCoPro /opt/fhem/FHEM/firmware/coprocessor_update.eq3

Falls das nicht funktioniert, hier noch die händische Methode:
Am Besten FHEM beenden, damit keine Zugriffe auf das Modul erfolgen!

sudo su
apt-get update && apt-get -y install libusb-1.0-0-dev build-essential git
systemctl stop fhem
git clone git://git.zerfleddert.de/hmcfgusb
cd hmcfgusb/
make
# Firmware runterladen
wget https://raw.githubusercontent.com/eq-3/occu/ee68faf77e42ed5e3641790b43a710a3301cea7e/firmware/HM-MOD-UART/coprocessor_update.eq3
# eigentliches flashen:
./flash-hmmoduart -U /dev/ttyAMA0 coprocessor_update.eq3

Bei der letzten Zeile kamen mehrere Fehler. Ich habe es einfach mehrfach wiederholt und irgendwann ging es.

Sollten beim Firmwareupdate hartnäckig Fehler auftreten (oder einfach nichts passieren) muss das Modul mal vom Strom getrennt werden, neustart reicht nicht!

Hintergrundinformationen 

Man kann die Grundkonfiguration mit raspi-config machen:
  • Zeitzone
  • Hostnamen ändern
  • Kamera aktivieren
  • Serielle Schnittstelle aktivieren
  • usw.
Das raspi-config Tool ändert immer mal seinen Aufbau, ich will das deshalb hier nicht bildlich beschreiben.
Man kann aber auch alles per Script machen:
# Zeitzone
echo "Europe/Berlin" > /etc/timezone
dpkg-reconfigure -f noninteractive tzdata
#Hostname noch testen!!!
hostname -b raspib
sed -i s/raspberrypi/raspib/ /etc/hosts
nano /etc/init.d/hostname.sh
nano /etc/hostname
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
#Kamera
echo "start_x=1" >> /boot/config.txt
echo "gpu_mem=128" >> /boot/config.txt
echo "disable_camera_led=1" >> /boot/config.txt
Achtung: Scripte immer unbedingt im Unix Code (nur LF) abspeichern!!!

Die Sache mit den Rechten auf /dev/ttyAMA0

Der Start des Dienstes serial-getty@ttyAMA0.service setzt offenbar die Rechte auf.
crw--w---- 1 root tty 204, 64 Jul 15 20:36 /dev/ttyAMA0
Ein Beenden des Dienstes ändert daran nichts.

Wird der Dienst nicht gestartet stehend die Rechte auf
crw-rw---- 1 root dialout 204, 64 Jul 18 09:51 /dev/ttyAMA0

So müssen die Rechte auch aussehen! Und der User fhem muss in der Gruppe dialout sein!

Die Sache mit dem Dienst serial-getty@ttyAMA0.service

Ein systemctl disable serial-getty@ttyAMA0.service verhindert zwar den automatischen Start aber nicht den manuellen Start bzw. den Start durch andere Prozesse. Erst der Befehl systemctl mask xxx verhindert jeglichen Start.

Der Eintrag console=serial0,115200 in der /boot/cmdline.txt ist offenbar dafür verantwortlich, dass der Dienst trotz disable gestartet wird. Löscht man diesen Eintrag, wird der Dienst auch nicht gestartet. Unterm Strich kann man den Start des Dienstes auf zwei Arten verhindern:
sudo sed -i s/'\bconsole=serial0,115200 //' /boot/cmdline.txt
sudo systemctl disable serial-getty@ttyAMA0.service
oder
sudo su
systemctl stop serial-getty@ttyAMA0.service
systemctl disable serial-getty@ttyAMA0.service
systemctl mask serial-getty@ttyAMA0.service
chmod g=rw /dev/ttyAMA0

Eigentlich würde ich ein systemctl mask serial-getty@ttyAMA0.service bevorzugen um den Dienst generell auszuschließen.

Wenn Bluetooth beim Pi 3 funktionieren soll: ttyAMA0 und ttyS0 tauschen

Der Eintrag dtoverlay=pi3-miniuart-bt in der Datei /boot/config.txt sorgt dafür, dass die Ansteuerung des BT Moduls jeweils über den Alias serial1 erfolgt.
Eine Änderung wie früher beschrieben in der Datei /lib/systemd/system/hciuart.service ist nicht mehr notwendig!

Im laufenden Betrieb kann  man auch so vorgehen
sed -i s/ttyAMA0/ttyS0/ /lib/systemd/system/hciuart.service
daemon reload
systemctl restart hciuart

Man kann die korrekte Ansteuerung mit ls -l /dev/ser* überprüfen:
Mit dtoverlay=pi3-miniuart-bt (BT an ttyS0)
lrwxrwxrwx 1 root root 7 Jan  1 18:48 /dev/serial0 -> ttyAMA0
lrwxrwxrwx 1 root root 5 Jan  1 18:48 /dev/serial1 -> ttyS0

Ohne dtoverlay=pi3-miniuart-bt (BT an ttyAMA0)
lrwxrwxrwx 1 root root 5 Jan  1 19:02 /dev/serial0 -> ttyS0
lrwxrwxrwx 1 root root 7 Jan  1 19:02 /dev/serial1 -> ttyAMA0

Alternativ könnte man BT deaktivieren.

FHEM Setup

Die Einbindung in FHEM passiert mit dem Modul HMUARTLGW. Das HM-MOD-RPI-PCB hat einen eigene hmId.
define HMUART1 HMUARTLGW /dev/ttyAMA0

Im praktischen Betrieb muss man aber die eigene hmId setzen. Ohne das Attribute hmId empfängt das Modul scheinbar nichts.

attr HMUART1 hmId xxxxxx

Das attr qLen spielte bei mir nach einiger Zeit eine Rolle (Meldung im Log: queue is full, dropping packet), ich habe den Wert auf 60 gesetzt.

Um AES-CBC  nutzen zu können (Rauchmelder SD-2) muss das Paket libcrypt-rijndael-perl installiert werden.

Das UART Modul merkt sich die hmId und die AES Schlüssel bis zur nächsten Änderung.
Das Modul HMUARTLGW unterstützt auch die Remoteanbindung des Raspberry mit socat. Näheres siehe Commandref.

Probleme

FHEM startet mit knapp 100% CPU wenn das HM-MOD-RPI-PCB Modul einfach gesteckt wird.
Es hilft wenn man vor dem Stecken die Erkennung von FHEM ausschaltet.
attr initialUsbCheck disable 1

oder unmittelbar nach der Neuinstallation!
echo 'attr initialUsbCheck disable 1' >> /opt/fhem/fhem.cfg

Notizen

Eventuell braucht man mit der original Firmware (1.2.1) noch das:
echo 18 >/sys/class/gpio/export
echo out >/sys/class/gpio/gpio18/direction
echo 1 >/sys/class/gpio/gpio18/value

Damit wird das Reset Pin am Modul definiert gesetzt

Freitag, 15. Juli 2016

Garagentor mit FHEM bedienen

Garagentore per Hand bedienen ist out, Garagentore werden heute sicher in fast allen Fällen mit elektrischen Antrieben ausgestattet.
Früher konnte man noch wählen zwischen mit oder ohne Fernbedienung, ohne Fernbedienung macht natürlich gar keinen Sinn. Allerdings kann man den Komfort der Fernbedienung nicht wählen, offenbar beschränkt ein weltweites Gesetz die Bedienung der Tore auf einen dummes Knopf. Der macht toggle bzw. Go - Stop - Reverse. Man kann also nicht entscheiden ob das Tor auf oder zu gehen soll, es hängt davon ab wie es zuletzt gefahren ist. Man soll offenbar dazu gezwungen werden, dass Tor nur mit Sichtkontakt zu bedienen.
Wozu haben die meisten Fernbedienungen dann 2, 4 oder 5 Knöpfe?
Ich finde das blöd, ich will durchaus manchmal das Tor aufmachen und wenn es offen ist, bleibt es eben offen. Und abends will ich das Tor zumachen einfach sicherheitshalber auf den Knopf "Zu" drücken und anschließend wissen das es zu ist!
Und weil das alles so ist, kann man bei dem "Toggle Antrieb" nicht was weglassen und einfach einen Rollladen Aktor anschließen, sondern man muss etwas hinzukaufen um an die Funktionen heranzukommen die der Antrieb eigentlich beherrscht. Zumindest bei dem Antrieb aus dem Hause Hörmann.

Bauteile

Was brauchen wir?

  • Hörmann Supramatic (ich habe die Supramatic E3)
  • Universal Adapterplatine (die ist für Ottonormalverbraucher offenbar nicht gedacht und läuft unter Industriezubehör
  • ein Switch Empfangsmodul um den Antrieb zu bedienen (HM-MOD-Re-8)
  • ein Sendemodul um die Zustände des Antriebes abzufragen (HM-MOD-EM-8)
  • Spannungsregler UA78L12, Keramikkondensator 100 nF, Keramikkondensator 330 nF, Laborkarte Streifenraster (mindestens 60 x 65 mm)
  • Lötkolben, etwas Schaltdraht und elektrische Grundkenntnisse oder einen guten Freund. Keine Angst es geht nur im Bereich ungefährlicher Spannungen ( < 24 Volt).
Die Kosten für diese Ergänzung des normalen Antriebes belaufen sich auf ca. 90-100€.

Schaltungsbeschreibung

Die UAP1 hat im wesentlichen folgende Anschlüsse:
  • Steuerung: 24 Volt (max 100 mA, 22,8 Volt gemessen) 0 Volt,  S5 -> Licht an, S4 -> Tor zu, S2 -> Tor auf, S3 -> Tor Lüftung, S0 -> Steuerung aus
  • Abfrage (potentialfreies Umschaltkontakt Relais Interface): K01 -> Tor auf, K02 -> Tor zu, K03 -> Licht brennt
  • Busverbindung: 6 poliges belegtes Kabel RJ12 
Die Platine wird über ein mitgeliefertes Kabel (2 m) mit der Supramatic verbunden und wird komplett mit (IP65?) Gehäuse geliefert. In diesem Gehäuse finden auch die beiden Zusatzbausteine Platz und das Kabel lässt sich gegen ein maximal 5 meter langes austauschen. Fertig konfektioniert habe ich 6 meter bekommen, das funktioniert auch. Damit lässt sich die kleine Box empfangstechnisch günstig an der Front der Garage platzieren.
Die Eingänge sind für Taster, also für kurze Impulse gedacht.
Die Eingänge der UAP1 liegen mit einer Widerstandsbeschaltung (4,4/7,4 kOhm) intern auf etwa 21 Volt. Bei Null Potential wird der "Schaltkontakt" mit 4,8 mA belastet. 
Die Openkollektor Stufen der HM-MOD-Re-8 können also direkt angeschlossen werden, 1 Volt Überspannung gegenüber Datenblatt sollten die Ausgangstransitoren verkraften. 
Der COM Anschluss für die integrierte Freilaufdioden müsste auf das Eingangspotential (21 V) gelegt werden, dies steht aber nicht zur Verfügung. Der COM Anschluss muss also unbeschaltet bleiben, die Freilaufdioden bleiben damit ohne Funktion. Da sich die Logik  direkt auf der UAP1 befindet ist nicht mit Spannungsspitzen zu rechnen.
Wir benötigen im praktischen Betrieb 4 Anschlüsse des HM-MOD-Re-8 als Schalter und 3 Anschlüsse des HM-MOD-EM-8 als Sensoren. Man könnte mit einem 5ten Anschluss die UAP1 außer Betrieb nehmen, dies habe ich aber nicht getestet. Ich habe die vorhanden Brücke an S0 gelassen.

Aufbau

Die beiden Homematic Bausteine können mit maximal 12 Volt betrieben werden. Deswegen wird noch einen kleinen Spannungsregler 12 Volt benötigt. Der Spannungsregler samt Randbeschaltung und die beiden HM Bausteine werden auf einer Lochstreifenplatte fixiert und beschaltet.

Achtung: Beim Spannungsregler unbedingt auf die richtigen Anschlüsse achten. Es gibt viele verschiedene Bauformen und Anschlussbelegungen. Ansicht von oben und von unten beachten. Am Besten das Datenblatt konsultieren!

Diese Platte wird etwas zurecht geschnitten und liefert damit perfekten Halt im Gehäuse. Ich habe die Platte 82,5 x 60 mm gewählt und die Ecken 20 x 10 mm ausgeklinkt.
Streifenförmigen Leiterbahnen werden passend mit dem Cuttermesser bearbeitet, die Pfostensteckverbinder der HM Module passen perfekt und die Module bleiben steckbar. Durch die Aufbauhöhe ragt das Ganze etwas in den Klarsichtdeckel des Gehäuses, die Höhe der HM Module stellt die Obergrenze dar, der Spannungsregler muss also wenige mm gekürzt werden.
Die Anschlusskabel für die Klemmleisten müssen ca. 9-10 mm abisoliert werden. 


Schaltplan



Betrieb in FHEM


Zunächst habe ich die Channel der beiden HM Bausteine in der Benennung angepasst.
Für die Bedienung des Garagentors habe ich quasi drei Fernbedienungen, einen Schalter im Flur und zwei RCs für die beiden Autofahrer. Diese sind alle direkt gepeert um auch ohne FHEM zu funktionieren. Nach Standard: ein Knopf auf und ein Knopf zu.
Allerdings ist die Reichweite sehr beschränkt. Mein HMLAN ist wesentlich besser im Empfang als die Bausteine hinter dem Garagentor. Deshalb habe ich die beiden freien Knöpfe auf den RC4 mit einem VCCU Channel gepeert (grünes Licht) und triggere damit ein notify welches das Tor öffnet bzw. schließt. Damit kann ich ohne Probleme ca. 40 meter vor dem Haus aus dem Auto heraus das Tor bedienen.
Die UAP1 wird mit kurzen Impulsen angesteuert.
RC41 ist eine kleine Fernbedineung RC4 als Schlüsselanhänger.
SW81 ist der Switch Re-8

Peering

Die Verbindung der Taster mit dem Switch erfordert zwei Schritte:
Je ein Knopf für auf/zu:
set RC41_1 peerChan 0 SW81_3_TorZu single set both
set RC41_2 peerChan 0 SW81_1_TorAuf single set both

Den anderen Knopf mit virtuellen Knopf verbinden:
set RC41_3 peerChan 0 vccu1_Btn3 single set both
set RC41_4 peerChan 0 vccu1_Btn4 single set both

Ganz wichtig ist die Einstellung zum "Aufwachen" vom Switch:
set RC41_1 regSet peerNeedsBurst on SW81_3_TorZu 
set RC41_2 regSet peerNeedsBurst on SW81_1_TorAuf 

Den Impulse für 1 Sekunde kann man am einfachsten mit dem hminfo Modul und dem Template autoOff einstellen:
set hm templateSet SW81_3_TorZu autoOff RC41_1:short 1
set hm templateSet SW81_1_TorAuf autoOff RC41_2:short 1

Man kann natürlich die Register einzeln setzen, minimal wäre die Zeit für short -> shOntime:
set SW81_3_TorZu regSet shOnTime 1 RC41_1
set SW81_1_TorAuf regSet shOnTime 1 RC41_2

Man müsste aber auch noch mindestens lgOnTime setzen. Im Template können mehrere Register in einem Schritt gesetzt werden. Für diesen Fall müsste ich noch ein Template erstellen.

Zustandserkennung

Der HM-MOD-EM-8 wird mit dem triggerMode "button" ausgeliefert. Was wir brauchen ist der Triggermode "sensor" damit offene und geschlossen Kontakte angezeigt werden und kein Dauer(funk)feuer bei geschlossenem Kontakt entsteht. Im FHEM Wiki ist das gut erklärt.
Folgender Befehl schaltet alle Kanäle in den "sensor" Modus.
set RC81_.* regSet triggerMode sensor
Unter Umständen muss vorher ein getConfig ausgelöst werden und der Konfig Knopf gedrückt werden. Alternativ zum Konfig Knopf geht aber auch die Betätigung eines Kanals, also Garagentor einmal fahren lassen ist einfacher als die Kiste aufschrauben.
Die nicht benutzten Kanäle könnte man auch abschalten.

Notify

So sehen die beiden notify aus, die quasi innerhalb FHEM (virtuelle Button, Dummy) das Tor steuern:
define nty_TorZu notify VCCU_Btn3:trig_RC41_3:.*|VCCU_Btn3:trig_RC42_3:.* set SW81_3_TorZu on-for-timer 1
define nty_TorAuf notify VCCU_Btn4:trig_RC41_4:.*|VCCU_Btn4:trig_RC42_4:.* set SW81_1_TorAuf on-for-timer 1
Um einfach auch in der Oberfläche den Knopf für "Tor auf" oder "Tor zu" drücken kann, habe ich ein zweites notify gebaut, welches die entsprechenden Channel des SW81 immer gleich wieder von on nach off zurücksetzt, falls nicht mit on-for-timer gearbeitet wurde:
define nty_SW81 notify SW81_._Tor.*:on sleep 0.2;; IF ([$NAME:timedOn] ne "running") (set $NAME off)
Besser ist es, man baut sich gleich einen "Knopf" auf die Bedienoberfläche.

Steuerelement für die Weboberfläche

Damit es in der Weboberfläche nicht so technisch detailliert aussieht, brauchen wir noch ein schickes Bedienelement:
Dazu wird ein dummy mit Icon und Schaltflächen ausgestattet und mit einem DOIF wird der Zustand bei Änderung des Status vom echten Tor in den Dummy übertragen. Die beiden notify TorAuf und TorZu werden einfach um einen Trigger erweitert.
define GaragenTor dummy
attr GaragenTor devStateIcon zu:control_arrow_down auf:control_arrow_up open:fts_garage_door_10:zu closed:fts_garage_door_100:auf
attr GaragenTor room Garage
attr GaragenTor webCmd zu:auf

define di_garagentor DOIF ([RC81_1_TorOben:"closed"])(set GaragenTor open) DOELSEIF ([RC81_2_TorUnten:"closed"])(set GaragenTor closed)
attr di_garagentor room Garage

defmod nty_TorAuf notify GaragenTor:auf|VCCU_Btn4:trig_RC41_4:.*|VCCU_Btn4:trig_RC42_4:.* set SW81_1_TorAuf on-for-timer 1

defmod nty_TorZu notify GaragenTor:zu|VCCU_Btn3:trig_RC41_3:.*|VCCU_Btn3:trig_RC42_3:.* set SW81_3_TorZu on-for-timer 1


Achtung

Wer mal eben die UAP1 an die Supramatic anstecken will um zu sehen "ob es was tut" sollte sich den Zeitpunkt gut überlegen!  Die Supramatic lernt die UAP1 beim ersten anstecken und funktioniert anschließend nur noch mit UAP1!  Nur durch einen Werksreset der Supramatic lässt sich dies beheben, damit sind aber auch alle Einstellungen für das Tor futsch.

zum Schluss

Theoretisch könnte man auch drei (noch freie) Tastereingänge des HM-MOD-Re-8 missbrauchen. Allerdings wirken die Taster und auch die Tastereingänge als Toggleschalter und würden bei Dauerkontakt ständig "Long" senden, ob man dies irgendwie umgebogen bekommt habe ich nicht angedacht.
Anmerkung zum verwendeten Homematic Schalter:
Alle Batteriebetriebenen HM Aktoren sind sogenannte Burst Geräte. Sie müssen erst durch einen "Burst" aufgeweckt werden. Der Burst ist eine Nachricht an "Alle" - alle Batteriegeräte wachen dadurch auf und gehen auf Empfang. Der exzessive Einsatz von Schaltvorgängen mit "Batterie Aktoren" führt zu erhöhtem Batterieverbrauch bei allen Geräten im Umfeld.

Freitag, 8. Juli 2016

Windows 10 Update - die Zeit drängt?

Die letzten Tage des kostenfreien Updates auf Windows 10 vergehen wie im Fluge.

Jetzt wollen doch noch ein paar PCs umgestellt werden. Ich bin kein Freund von Updateinstallationen neuer Windows Versionen, ich bin klar für neu installieren.
Aber wenn die Zeit knapp wird? Wenn einige unklare Zustände und Programme existieren? Keys und Passwörter sowie Zugänge eventuell unauffindbar sind? Datenträger nicht mehr vorhanden?

Was immer eine gute Idee ist: Alte HDD ausbauen und beiseite legen, neue oder temporäre HDD /SDD einbauen und erstmal Windows 10 installieren und schauen wie es läuft. Das geht ohne viel Aufwand, auch wenn man sich Zeit nehmen sollte.
Ich habe festgestellt, man muss Windows 10 nach der Neuinstallation am Besten erstmal eine Nacht in Ruhe lassen. Danach sind alle Treiber und Komponenten aktuell, wenn alles unterstützt wird. Wenn man versucht, hektisch alle Treiber aktuell zu machen und von den Herstellerseiten herunterlädt, macht man mehr kaputt als gut.
Also am nächsten Tag schauen ob alles läuft und alle Geräte mit Treibern versorgt sind.
Was auch eine gute Idee ist: Auf SSD umsteigen, falls das nicht schon passiert ist.

Vorbereitung und Datensicherung

Um sicher zu gehen, dass man nach dem Update noch Arbeitsfähig ist, sollte man mehrfache Sicherheit einbauen:
  • Datensicherung der wichtigen eigenen Daten
  • Und (nicht oder): Imagesicherung des Systems (Systemabbild) oder alte Platte auf neue Platte klonen und dann alte Platte beiseite legen.
Jetzt das System noch etwas aufräumen:
  • Software durchsehen ob etwas unnützes dabei ist
  • Alte Treiberpakete die explizit in der Softwareumgebung installiert wurden besser deinstallieren, Windows 10 bringt bestimmt neue mit.
  • nicht weiter notwendige bzw. lauffähige Programme deinstallieren, vor allem alle vom Hersteller mitgelieferten "Tools"
  • Datenträgerbereinigung (cleanmgr) verwenden
  • Andere "Reinigungstools" mit sehr viel Vorsicht oder besser nicht benutzen

Update

Wenn alles wie gewünscht aussieht, das Update starten. Entweder direkt online oder vorher mit dem Mediacreation Tool einen USB Stick erzeugen, ich bevorzuge immer den USB Stick!

Sollte jetzt etwas nicht funktionieren und man möchte dann das update doch nicht, bietet Microsoft ein Rollback an, das funktioniert eigentlich ganz gut und bringt den Ausgangszustand zurück.
Hat man die alte Platte noch geht es schneller. Im schlimmsten Fall macht man ein Restore der Imagesicherung.

Sollte nach dem Update alles funktionieren kann man meist noch etwas Nacharbeiten, um das aktualisierte System qualitativ näher an eine frische Installation zu bringen.

Deinstallation von Programmen bzw Diensten funktioniert nicht

Ich hatte z.B. zwei Tools auf einem HP Touchsmart PC die hatten keine Deinstallationsmöglichkeit.

  • HP Support Assistant
  • HP Odometer

Diese Fixit Tool von Microsoft konnte das Problem lösen.

Traybereich aufräumen

Viele dieser vom Hersteller mitgelieferten Programme verewigen sich auch im Systemtray, manchmal sichtbar manchmal unsichtbar. Auf alle Fälle meist "für immer"
Dieser Artikel hat mir geholfen diesen Bereich aufzuräumen.

Das Programm autoRuns von der Technet leistet mir bei der Analyse von Leichen im Startbereich des Computers auch immer gute Dienste.

Alte Windows Version entfernen

Das geht prima mit der Datenträgerbereinigung (cleanmgr) über den Zusatzbutton "Systemdateien bereinigen"

Umzug Windows auf neue System Festplatte und UEFI Modus 

Hat man bis hierhin eine temporäre Festplatte verwendet und möchte das System auf eine neue HDD oder SDD umziehen und dabei noch vom BIOS Startmodus in den UEFI Modus wechseln geht das zwar Zeitaufwendig aber relativ entspannt mit dem Tool c't-Wimage aus dem Heft c't 2016 Heft 5.

Dabei sollte man vor der Sicherung unbedingt temporär den Antivirenschutz / Defender ausschalten, das spart unglaublich viel Zeit!

Das Batch Script sichert mit Boardmitteln die gesamte Platte C: in ein install.wim, das dauert leider relativ lange, läuft aber voll automatisch.
Anschließend bootet man das System neu und installiert das eben gesicherte System neu. Dabei kann der BIOS Modus gewechselt werden und alle Aktivierungen und Einstellungen im System bleiben erhalten.