Donnerstag, 7. Januar 2016

Windows Update

Microsoft hat Windows wieder so gemacht wie es die Benutzer haben wollten, die blöde Kacheloberfläche, die am PC keiner braucht, ist in das gute alte Startmenü geschrumpft.

Aber wenn man etwas (zurück) verbessert kann man natürlich auch etwas verschlimmbessern!

Beim Windows Update hat man jetzt noch die Wahl zwischen Update "sofort" oder Update "gleich". Im Klartext: Windows beginnt in jedem Fall sofort mit dem Download der Updates, nur bei der eigentliche Installation darf man wählen zwischen jetzt und später. Dass das Download unbemerkt im Hintergund passiert ist ein Märchen! Zumindest bei meinem 2Mbit DSL Anschluss!

Aber wenigstens sind alte Standards geblieben, die Group Policies und deren Parameter gibt es nach wie vor. Zumindest also in der Pro Version hat man es relativ leicht, dass alte Verhalten wieder zu beleben:

  • Windows Taste
  • gpedit + enter
  • Richtlinie für Lokalen Computer / Computerkonfiguration / Administrative Vorlagen / Windows Komponenten / Windows Update auswählen
  • Automatische Updates konfigurieren auswählen
  • Aktiviert und Option 2 auswählen und Bestätigen.


Damit werden wieder die Updates gesucht und man wird informiert. Erst nach Bestätigung werden die Updates heruntergeladen und installiert.

Zunächst habe ich befürchtet, dass damit auch die Updates für Defender nicht mehr automatisch geladen werden, was ich eigentlich will. Seit der Änderung der Policy kommt nämlich häufig die Meldung Defender sei nicht aktuell. Ich habe im Web auch gefunden wie man Defender trotz deaktiviertem Windows Update aktuell hält. Nach ein paar Tagen Betrieb habe ich aber festgestellt: Windows Defender wird trotzdem automatisch aktualisiert. Ich werde das weiter beobachten.

Noch mehr Infos zu Windows Update und Möglichkeiten der Einstellung findet man hier.

Eventuell gibt es auch eine Möglichkeit das automatische Upgrade im Hintergrund zu verhindern:
Anders als vielfach im Web beschrieben, ist die keine Policy im Pfad Windows Update sondern im Pfad Store. Es wird damit der Schlüssel DisableOSUpgrade gesetzt. Hab ich hier gefunden.

Einen weiterer Trick habe ich hier gefunden:
Dabei wird über Einstellungen/Netzwerk-Internet/Ethernet die Verbindung als getaktet markiert und damit das Verhalten geändert. Ich habe das noch nicht getestet!

Samstag, 19. Dezember 2015

Windows 10 - alles easy?

Nachtrag 03.03.2016

Ich habe meine Desktop begonnen zu aktualisieren, schon zum dritten mal. Es gibt offenbar ein größeres Problem mit den Grafiktreibern. Allerdings habe ich an andere Stelle zwei PC und ein Notebook ohne jedes Problem aktualisiert! Ich habe eine AMD Radeon R9 200 Karte. Hier empfiehlt es sich offenbar auf der AMD Seite den aktuellen Treiber suchen zu lassen und über den AMD Installation Manager alles automatisch zu installieren. Dann kamen aktuell noch zwei Updates von Microsoft und nun funktioniert alles. Vorher hatte ich folgende Fehlerbilder:

  1. Monitor Standby führte zum dunklen Bildschirm forever, der PC lief irgendwie noch lies sich aber nicht mehr bedienen.
  2. Allerdings war Standby nicht Monitor aus, das Bild war dunkel aber der Monitor blieb an. Das war auch mit anderen Treibern und auf anderen PCs/Notebooks so, bei denen Fehler 1 nicht auftrat.
  3. Es gab immer mal "Löcher" im Bild, speziell Zeichen wurden nicht komplett dargestellt. Manchmal produzierte die Maus ein löchriges Viereck beim Bewegen.

Das Update

Windows 10 nervt penetrant in der unteren Ecke. Eine Möglichkeit das weg zu bekommen ist, dass Update auch auszuführen. Wer aber noch Geduld hat, sollte auch noch warten. Offenbar gibt es immer noch gravierende Verbesserungen - Bananenprodukt?

Seit Ende November 2015 gibt es die Version 1511, die ein Update auch durch Neuinstallation zulässt. Das Update erfolgt lediglich durch den alten Windows Key.

Jetzt war die Zeit für mich das Update zu versuchen!

Bei meinem Lenovo Yoga 2 Pro wurde der Key sogar sofort aus dem Bios ausgelesen und Windows 10 war sofort aktiviert.
Am längsten dauert auf dem Land das Download mit dem MediaCreationTool. Am Besten, man lädt die Installation als ISO Image, aus dem kann man im Handumdrehen auch einen bootfähigen USB Stick machen.

Den Stick einfach mit Diskpart einrichten und alle Dateien von dem gemounteten ISO Image auf den Stick kopieren.

Der EFI PC hat 7 Partitionen, die Datenträgerverwaltung zeigt uns aber nicht alle. Ich habe Partitionierung beibehalten um aber wirklich eine Neuinstallation zu machen habe ich die Windows Systempartition (die Fünfte bzw. in der angezeigten Datenträgerverwaltung die Vierte) formatiert.

Zur Sicherheit habe ich natürlich vorher die gesamte Platte mit einem Windows Image Backup gesichert und zusätzlich mit dem Dateiversionsverlauf die wichtigsten Dateien auf einem Netzlaufwerk gesichert. Leider übernimmt Windows 10 nicht alle Einstellungen und den Dateiversionsverlauf wie bei einer Neuinstallation Windows 8.1.

Nach dem Setup fehlen zunächst 8 Geräte mit Treibern im Gerätemanager. Video und Maus(Touchpad) laufen nur im Standardmodus, Bluetooth fehlt ganz.
Jetzt bloss nicht die Ruhe verlieren und hektisch irgendwelche Treiber von der Lenovo oder Komponenten-Hersteller Seite laden. Ich habe das Windows Setup zweimal gemacht! Offenbar ist es wichtig zunächst Windows Update zu bemühen. Windows Update ist allerdings unter Windows 10 echt verschlimmbessert, dazu später mehr.
Beim Update werden 7 Geräte mit Treibern versorgt, nur Intel Smart Connect (iSCT) erkennbar an der Geräte ID ACPI\INT33A0 bleibt unerkannt. Da hilft mir der Treiber (isct248w81.exe unter Software and Utilities) von der von der Lenovo Seite weiter.
Das Update  lief über zwei Stunden (das Setup keine 15 min)! Früher konnte man den Update Verlauf einfach an einer Stelle erkennen, heute kämpft man sich durch Ereignis Protokolle. Von 11 Hardware Treiber Updates schlagen 10 laut Windows Update Protokoll fehl, aber am Ende sind wie gesagt 7 Geräte mit Treibern versorgt!? Den Intel HD Grafik Treiber will er in zwei Versionen installieren

Nach dem ersten Installationsversuch hatte ich einige Probleme, die offenbar dadurch verursacht wurden, dass ich versucht habe aktuelle Treiber zu installieren. Das kann ich derzeit nicht empfehlen!
  • Der Bildschirm flackerte ohne erkennbaren Zusammenhang, so das eine Arbeit und Bedienung unmöglich war. Unklar blieb auch welche Aktion das Flackern beendete.
  • Mehrfingergesten auf dem Touchpad funktionierten nicht immer.
  • Wenn sie funktionierten, würde häufig beim Scrollen (zwei Finger noch oben oder unten schieben) der Zoom aktiviert. Dies geht eigentlich durch die Kneifgeste, die wiederum wurde praktisch nicht erkannt.
Ich habe den Bildschirmtreiber nach der zweiten Installation sofort konfiguriert:

  1. Intel / HD / Grafik Eigenschaften / Energie / Batteriebetrieb
  2. Die "Automatische Bildschirmaktualisierung" (PSR) in der "Steuerung für Intel HD Grafik" deaktivieren.
  3. Helligkeitssteuerung deaktivieren


Die Helligkeitssteuerung des Displays ist an zwei Stellen aktiv: In den Energieoptionen von Windows und im Grafiktreiber. Entweder kämpfen diese beiden miteinander oder die Helligkeitssteuerung im Grafiktreiber ist inkompatibel. Auf alle Fälle muss man mindestens eine deaktivieren, offenbar arbeiten die wirklich separat - was keinen Sinn macht! Mit der Helligkeitssteuerung von Windows kann ich ganz gut leben, die des Grafiktreibers flackert derart und reagiert oft sehr eigentümlich. Ich finde diese unbrauchbar.

Das Verhalten des Touchpads konnte ich nach der ersten Installation nicht korrigieren. Alle Versuche der gründlichen Treiberdeinstallation und Registry Bereinigung haben die ordentliche Funktion nicht wieder hergestellt.
Deshalb habe ich die zweite Installation durchgeführt, jetzt funktioniert das Touchpad wie gewünscht, auch die Mehrfingergesten.
Allerdings wird beim 2 Finger Scrollen öfters gezoomt, man kann das zwar wieder "zusammenkneifen", aber mich hat das gestört. Ich habe die Kneifgeste deaktiviert (Windows + I und dann Maus und Touchpad Optionen Erweitert...). 

Update ziemlich streng

Und nun - alles gut? Naja Microsoft ist auch bei den Updates für mich etwas über das Ziel hinausgeschossen. Man hat nur noch die Wahl zwischen Update und Update. Die frühere Wahl Neue Updates suchen und benachrichtigen ist gestrichen wurden. Dafür kann man jetzt bestimmte Updates "verschieben". Sehr schön wenn nach dem Aufklappen des Notebooks die 2 Mbit DSL Leitung für 2 Stunden dicht ist und man sich nicht wehren kann. Kann man doch ...


Donnerstag, 10. Dezember 2015

Lenovo Yoga 2 Pro vom USB Laufwerk starten

In Vorbereitung eines Windows 10 updates wollte ich mal sehen ob mein Boot Stick funktioniert. Das war ziemlich frustrierend! Ich kann nicht mit Sicherheit sagen, unter welchen Umständen ein USB Boot Medium am Lenovo Yoga 2 Pro erkannt wird, wenn man es einfach nur ansteckt.
Eventuell ist das Ganze ja auch eine Besonderheit von "EFI PCs" mit spezieller Partitionierung und Recovery.
Ich will hier beschreiben mit welchen Schritten es bei mir nachvollziehbar funktioniert hat.

Ausgangszustand

Das Y2P wurde mit installiertem Windows 8 pro ausgeliefert.
Der Windows Key ist im BIOS (ACPI / MSDM) hinterlegt.
Als Default im BIOS ist EFI Secure Boot und USB Boot ist aktiviert.

Frustierend

Jeder Versuch über Bootmenü oder BIOS Setup einen USB Stick oder ein USB CD-ROM zum Booten zu überreden wurde zunächst ignoriert. Egal ob EFI Bootmedium oder Legacy Medium, egal ob EFI USB Stick mit MBR Partition oder GPT/GUI Partition.

Wiederherstellungmodus


Das Betriebssystem steuert den EFI Start wesentlich, dass muss man offenbar im Hinterkopf behalten. Will man also zuverlässig von einem USB Gerät booten geht man so vor:

entweder Kurz

Mit Windows-I Windows X oder wie auch immer zu dem Menü navigieren wo man mit der Maus auf Neustart drücken kann. Vor dem Klick auf die Maustaste aber die "Shift Taste" der Tastatur gedrückt halten. Es wird die Wiederherstellungskonsole gestartet.


oder Lang

Man hangelt sich über verschiedene Charm Leisten, Suche oder die Systemsteuerung zu dem Punkt
Update / Wiederherstellung
Der dritte Punkt in der Wiederherstellung ist der "Erweiterte Start"

Dann wird Windows beendet und startet ohne BIOS Schirm in die Wiederherstellungskonsole. Dort geht man auf den Punkt "Ein Gerät verwenden".


Jetzt sieht man alle angeschlossenen Boot Datenträger, wenn man im BIOS Legacy Mode gewählt hat sogar die EFI Datenträger doppelt, einmal EFI einmal Legacy. (Der Y2P hat kein CD/DVD Laufwerk, ein USB CD/DVD Laufwerk wird beim Start als USB Laufwerk behandelt.)

Auf alle Fälle bleiben die USB Sticks nach meiner Erfahrung im Bootmenü sichtbar, die CD/DVD Laufwerke verschwinden sobald man sie einmal abgesteckt hat. Man hat also in Zukunft die Chance auch direkt aus dem Bootmenü vom USB Stick zu starten - oder auch nicht.


Wie startet man den Y2P überhaupt?

Der Y2P hat einen kleinen runder Knopf neben dem normalen Einschaltknopf. Den kann man nicht mit dem Finger, maximal mit dem Fingernagel betätigen.

Dieser funktioniert als spezieller Einschaltknopf und hat im normalen Betrieb keine Bedeutung.
Danach erscheint ein Menü:


Jetzt kann man neben dem Setup auch das Bootmenu auswählen.
Im Bootmenü kann man einfach den Ausschalter drücken um eventuell noch einmal den "OKR Knopf" zu drücken, es gibt nämlich kein "zurück". Den "OKR Knopf" kann auch während eines Neustarts in den Moment drücken, wo die Beleuchtung des Ausschaltknopfes (und die Tastaturbeleuchtung, falls aktiviert) ausgeht.




BIOS und Default Werte

Ich habe bei meinen Einstellungen im BIOS festgestellt, dass es offenbar nicht das Gleiche ist, wenn man die EFI Boot Parameter einzeln im Menü einstellt (Boot Menü und Security Menü) oder per F9 als Default Werte lädt. Deswegen gebe ich die klare Empfehlung - Den Boot Mode auswählen:
Man will von einem EFI Medium starten









Man will von einem Legacy oder EFI Medium starten










Und anschließend mit F9 die Default Werte laden und mit F10 sichern!

Donnerstag, 3. Dezember 2015

Backup und Restore von FHEM

Backup ist immer eine gute Idee und sollte regelmäßig erfolgen. Noch viel wichtiger ist, dass man das Backup auch durch einen Restore verifiziert hat!
Viele machen Backup - aber kontrollieren?
Oder wie geht Restore?
Nachtrag 2021: Der Artikel gilt für eine externes Backup/Restore nach wie vor. Auch wenn man mit Windows 10 kein WinScp mehr benötigt, da ssh/scp direkt im System verfügbar ist.
Hinweis auf den restore Befehl: Im Wiki gibt es Beiträge wie der FHEM eigene restore Befehl verwendet werden kann. Link1  Link2

Mittwoch, 25. November 2015

Alles automatisch

Ich bin absoluter Fan von automatischen, Script gesteuerten Installationen. Die Vorteile scheinen enorm. Vor allem:
  • Man dokumentiert mit den Scripts exakt den Installationsablauf.
  • In Zukunft läuft eine Neuinstallationen von ganz alleine.
Zumindest in der Theorie, in der Praxis bedeutet es vor allem viel Zeit bis so eine Installation läuft.
Ich hätte wahrscheinlich in der Zeit, die ich für meine "Forschung" vertan habe, gut und gerne 50 Raspberry Systeme per Hand installieren können. Egal, ich habe es gemacht und will gerne meine Ergebnisse und Erfahrung teilen.

Ursprünglich wollte ich nicht warten bis das offizielle Jessie Raspbian Image von raspberrypi.org verfügbar ist. Aber dann hat alles etwas länger gedauert. In den meisten Fällen wird das offizielle Image die bessere Wahl sein, um seinen Raspberry Pi aufzusetzen. Ich habe deshalb auch Wert darauf gelegt, dass meine Scripts weitestgehend unabhängig davon laufen ob man ein fertiges Image oder ein gerade "aktuell" heruntergeladenes mit raspbian-ua-netinst hat.
Bei mir dauert das gesamte Image mit den grundlegenden Paketen für mein FHEM System ca. 73 min für download und Setup auf der SD Card.
Selbst das Basisimage dauert zwischen 30 und 42 min. Also nicht gerade schnell und ich empfehle für denjenigen der mit den Installationsscripts experimentieren will, dieses Image abzuspeichern (analog zu meinem Beitrag) und es immer wieder als Ausgangspunkt zu verwenden. Das Image auf eine SD Card zurück schreiben dauert bei 12 MB/sec Schreibgeschwindigkeit nur ca. 4,5 min.
Wer mit raspbian-ua-netinst an sich spielen will: die absolute minimal Installation dauert bei mir ca. 28 min (DSL 2300, netinst Version 1.0.7).
Man braucht nur im Fehlerfall den lokalen Monitor und Tastatur. Nach erfolgreicher Installation greift man mit ssh (putty) auf den raspberrypi (Hostname) zu.

Basisimage

Wer das Original Image von raspberrypi.org verwenden will, kann es einfach herunterladen und mit einem Image Tool seiner Wahl (z.B. win32diskimager) auf die SD Card (=> 8 GB) schreiben.  Die SD Card muss hierfür nicht separat formatiert werden. Mit raspi-config sollte das System nach dem ersten Start konfiguriert werden.
Für die automatische Installation ist dann nur mein Script system-install.sh notwendig.

Für ein schmales "netinst" Image laden wir die aktuelle Zip Datei von hier.

  • Die SD Card (=> 4GB) wird mit SD-Formatter formatiert, falls die SD Card schon im Raspberry steckte: Resize Option verwenden!
  • Der Inhalt der ZIP Datei (ca. 17 MB groß) wird auf die SD Card kopiert, es ist kein Image Tool notwendig!
  • Soll die Installation komplett automatisch erfolgen, werden einfach alle notwendigen Script und Textdateien mit auf die SD Card kopiert.
  • Netzteil anschließen, warten - fertig.

Wichtig!:

Es ist wichtig, die SD Card mit dem Programm SD Formatter zu formatieren und nicht einfach mit Windows. Obwohl in beiden Fällen von der SD Card gestartet werden kann, funktioniert die Installation und Umpartitionierung der SD Card nur nach der Formatierung mit SD Formatter.

Die von mir bereitgestellten Dateien müssen/können angepasst werden. Dies macht man z.B. mit Notepad ++.
Ganz wichtig ist darauf zu achten, dass die Dateien im Unix Format (nur LF als Zeilenende) erzeugt werden um Fehler zu vermeiden. Notepad von Windows erzeugt Dateien im Windows Format (CR und LF als Zeilenende). Obwohl die Dateien im Windows/Dos Format ohne Fehlermeldung akzeptiert werden und durchaus auch funktionieren können, gibt es völlig unerwartete Reaktionen die ausschließlich auf das falsche Dateiformat zurückzuführen sind. Das hat mich einiges an Zeit gekostet weil ich mal schnell etwas per cut&paste aus Notepad kopiert habe und nicht auf das Dateiformat geachtet habe.

Die Datei "installer-config.txt"

Jede Zeile in der installer-config.txt hat einen default Wert. Dieser Wert ist offenbar Versionsabhängig und sollte im Zweifelsfall weggelassen werden. Also bitte nur Zeilen eintragen die vom default Wert abweichen.
Allerdings funktionierte eine Datei nur mit der Zeile "release=jessie) nicht, ich habe immer mindestens die ersten vier Zeilen angeben.
Die Datei darf keine zusätzlichen Leerzeichen enthalten, also packages=pkt1,pkt2 und nicht packages= pkt1,pkt2

packages=alsa-utils,apt-utils,build-essential,console-setup,fonts-freefont-ttf,git,keyboard-configuration,nano,rng-tools,strace,sudo,unzip,usbutils
release=jessie
hostname=RaspberryPi
bootsize=+128M
rootsize=+3200M

Die Installation mit dieser Datei (und ohne post-install.txt) dauert bei mir ca. 42 min. Es werden nur einige notwendige Packages installiert die im Original Raspbian Image auch enthalten sind.

Anmerkung

Aufgrund der verwendeten Paketquellen können nicht alle Pakete installiert werden. Je nach Lage der Pakete kann sich das jederzeit auch mal ändern. Ich habe mir so geholfen, dass ich bestimmte Pakete über die post-install.txt installiere. Das könnte man auch mit allen zusätzlichen Paketen machen und in der installer-config.txt nur release, hostname und Partitionsgrößen definieren.

Partitionsgröße

Die Angaben zur Partitionsgröße werden mit dezimalen Faktoren umgesetzt. Meine Angabe mit 128M erzeugt eine Partition die unter Windows mit 122 MByte (exakt MiB) angezeigt wird. Will man eine Partition mit binärem Teiler von 128 MiB erzeugen müsste man 134217728 (128*1024*1024) eintragen. Hier findet man etwas zu diesem Thema.
Im Installationsscript von netinst wird die Größe mit fdisk umgesetzt, man könnte also mit fdisk Parametern experimentieren: +123000000, +123000K, +123M

Account

Da ich hier keine Anpassung vorgenommen habe, wird der Standard Account root mit dem Passwort raspbian erzeugt.


Die Datei "post-install.txt"

Die Readme sagt dazu:
There is also another configuration file you can provide, post-install.txt, and you place that in the same directory as installer-config.txt. The post-install.txt is executed at the very end of the installation process and you can use it to tweak and finalize your automatic installation.
The configuration files are read in as shell scripts, so you can abuse that fact if you so want to.

Die Datei post-install.txt wird als Shell Script ausgeführt. Prinzipiell kann man darin also "alles" machen. Es gibt aber Einschränkungen:
Das Dateisystem unterscheidet sich vom fertig installierten raspbian:
  • Suchpfade sind nicht vorhanden
  • Es existiert keine "Root" man muss vor jede Pfadangabe /rootfs bzw /bootfs hängen.
  • Programme die davon ausgehen, dass eine Root existiert muss man mit "chroot /rootfs" aufrufen.
Das wird zum Einen leicht nervig, zum Anderen ist dann dieses Script nicht ohne weiteres an andere Stelle verwendbar. Deshalb habe ich mich dazu entschlossen aus der post-install.txt lediglich weiter Scripts aufzurufen. Da die Root Dateiumgebung an den Prozess vererbt wird, gilt diese dann für das gesamte Script. Damit wird der Syntax im Script wieder halbwegs normal und man kann das Script auch manuell im fertigen System aufrufen. Ich habe mich dazu entschlossen zwei Scripts zu machen. Diese kann man beliebig aufgliedern oder zusammenfassen. Um config Dateien zu schreiben und zu verändern habe ich bewusst unterschiedliche Techniken/Möglichkeiten eingebaut.

 chroot /rootfs /bin/bash /boot/system-config.sh  
 chroot /rootfs /bin/bash /boot/system-install.sh  

Das Script "system-config.sh"

In dem Script will ich Dinge einbauen, die man vielleicht typischerweise auch mit raspi-config oder anderen, interactiven Tools erledigt. Damit soll diese Script Einstellungen tun und Pakete installieren, die im offiziellen Raspbian Image vorhanden sind.
  • Zeitzone einstellen
  • Keyboard einstellen
  • System Sprache einstellen 
  • Benutzer pi anlegen
  • Firmware und dazu notwendige Software installieren
  • Wlan einrichten
  • Raspi Tools installieren
  • Startumgebung des pi anpassen
Mein aktuelles Script läuft ca. 10 min. Die Zeit hängt auch wesentlich davon ab, ob die apt-get Datenbasis aktuell ist oder durch das Script wesentlich aktualisiert wird. Das Script verwendet weitere Textdateien mit Konfigurationsinformationen. Diese müssen mit auf die SD Card kopiert werden: config.txt.org, wpaconfig.txt.

Das Script "system-install.sh"

In dem Script soll vor allem zusätzliche Software installiert werden und es soll auch auf einem offiziellen Raspbian Image ausgeführt werden können.
  • Software installieren
  • Samba konfigurieren
  • Scripts kopieren und Rechte setzen
  • Dienste konfigurieren
  • FHEM herunterladen und eventuell installieren
Mein aktuelles Script läuft ca. 20 min. Es benötigt keine weiteren Dateien.

Hier gibt es alle besprochenen Scripts zum download.
Ich übernehme keine Verantwortung für Funktion und eventuelle Schäden!
Alle Scripts sind als Beispiele zu verstehen! Insbesondere die Datei wpaconfig-Public.txt muss editiert werden und als wpaconfig.txt gespeichert werden.
Der Inhalt des Links kann sich jederzeit der aktuellen Situation anpassen.

Tipps

Wer den Benutzer Root deaktivieren will (wie im Original Image) kann dies tun:
 sudo passwd -l root  

Der Installationsprozess ist von der Download Geschwindigkeit und der Schreibgeschwindigkeit der SD Card abhängig. Schnelle SD Card und Raspberry Pi 2 verkürzen die Installationszeit.

Die Code Zeilen wurden mit Hilfe vom dieser Seite formatiert:
http://codeformatter.blogspot.de/2009/06/how-to-format-my-source-code-for.html

Samstag, 14. November 2015

FHEM und Jessie

Ich hatte ja mal aufgeschrieben wie man FHEM auf dem Raspberry Pi ziemlich geradlinig neu einrichtet. Nun gibt es seit kurzem ein offizielles Raspbian Image auf der Basis von Jessie, der neuen Debian Version. Die Welt hat sich insgesamt ein wenig weiter gedreht und es ergeben sich ein paar Änderungen.
Das aktuelle Raspbian Jessie Images (1,3 GB) gibt es wie immer auf der offiziellen Seite.  Die Zip Datei wird entpackt, sie ist wesentlich größer als noch mit Wheezy. Die Image Datei passt nicht mehr auf eine 4 GB SD Card ist auch für das FAT32 Dateisystem zu groß.
Jetzt startet man den Raspberry wie gewohnt und alles weitere funktioniert über Terminalzugang. Mit Raspi-config sollte mindesten die "Internationalisation Options" eingestellt werden. Vor allem Zeitzone und Zeit, damit man von Beginn an richtige Zeitstempel hat.
Das Jessie Image startet per default in die graphische Oberfläche, für einen FHEM Server wahrscheinlich sinnlos. Das kann man auch gleich mit raspi-config abschalten.
Überhaupt ist ziemlich viel in das Image gepackt, was die meisten auf einem Raspberry Pi nicht brauchen werden.

Als Erstes auf alle Fälle:
sudo apt-get update && sudo apt-get upgrade 

Dann die gesamte notwendige Software, das funkioniert wie bisher:
sudo apt-get install expect libdevice-serialport-perl libdigest-md5-file-perl libgd-graph-perl libimage-librsvg-perl libio-socket-ssl-perl libjson-perl liblwp-protocol-http-socketunix-perl liblwp-protocol-https-perl libnet-ssleay-perl libsoap-lite-perl libwww-perl libxml-simple-perl msttcorefonts perl python-dev python-rpi.gpio samba samba-common-bin sendemail telnet && sudo cpan install Digest::SHA1

Aufräumen:
sudo apt-get clean && sudo apt-get autoremove

Meine Konfiguration von damals mit FHEM auf der Fritzbox ist obsolete, aber die das Taster gesteuerte Shutdown und Neustart ist nach wie vor aktuell. Also das Script kopieren und anschließend Rechte setzen und Sonos Soundausgabe vorbereiten.
sudo chmod 777 /home/pi/shutdown.py && sudo mkdir /mnt/SonosSpeak && sudo chmod 777 /mnt/SonosSpeak/

Ab jetzt kommen ein paar Neuerungen ins Spiel. Für den Start des Scripts wird unter Systemd ein Dienst eingerichtet. Als erstes wird eine Datei angelegt, am Einfachsten gleich mit dem Editor:
sudo nano /etc/systemd/system/pishutdown.service

Inhalt:
[Service]
ExecStart=/usr/bin/python /home/pi/shutdown.py
WorkingDirectory=/home/pi
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=pishutdown
User=root
Group=root
[Install]
WantedBy=multi-user.target

sudo chmod 777 /etc/systemd/system/pishutdown.service

Der Dienst muss aktiviert und gestartet werden. Der Start hat bei mir erst nach dem nächsten reboot funktioniert.
sudo systemctl enable pishutdown.service
sudo systemctl start pishutdown.service

Das läuft bei mir wie bisher, es gibt aber auch hier andere Möglichkeiten und andere Scripts. Im ursprünglichen Post ist eine heftige Diskussion mit jede Menge Vorschlägen entstanden.

Email mit sendEmail verschicken hat sich in der Einrichtung auch vereinfacht. Im FHEM Wiki wurde mittlerweile eine wichtige Korrektur zu meinem ursprünglichen Artikel veröffentlicht. Stand heute ist das aber nicht mehr notwendig. Die dort beschrieben Änderung in der ehemaligen Zeile 1907 ist jetzt in Zeile 1933 schon wie im Wiki beschrieben enthalten. 
Damit funktioniert sendEmail auf Anhieb.

Der Samba Service muss noch konfiguriert werden, da ich Dateien für SonosSpeak bereitstellen will.
sudo mkdir /mnt/SonosSpeak
sudo chmod 777 /mnt/SonosSpeak/
sudo nano /etc/samba/smb.conf

Folgende Zeilen hinzufügen:
[SonosSpeak] comment = Audio-Files for SonosPlayer to Speak 
read only = false 
path = /mnt/SonosSpeak 
guest ok = yes

Normalerweise ist per default in der Global-Sektion kein Eintrag für den Parameter Security vorhanden und steht damit auf user. Hier muss normal nichts eingetragen werden!
[global]
security = user

Der Restart des Samba-Servers funktioniert nun so:
sudo systemctl restart smbd.service
Die Installation von FHEM mache ich nach wie vor über Paket Download und Paketverwaltung dpkg. Die Einrichtung über Aptitude wie hier beschrieben habe ich mal probiert. Ich konnte da keine Vorteile erkennen.
wget http://fhem.de/fhem-5.6.deb && sudo dpkg -i fhem-5.6.deb

Das so aktualisierte Image kann man natürlich wieder als eigenes Image ablegen.

Das Jessie Image ist 4224000000 Byte groß, das sind 4125 Sektoren a 1024 byte. Zum Kopieren starten wir wieder den Raspberry mit einem anderen System, das zu kopierende System muss "offline" sein. Die SD Card kommt in einen USB Reader und wir benötigten einen Stick mit einem Dateisystem für Dateien größer 4GB. 
Ich habe auf die "Schnelle" probiert, das Image auf der SD Card des laufenden Systems zu erzeugen, da diese genug freien Platz hatte (16 GB). Anschließend habe ich die Imagedatei mit Winscp übers Netzwerk kopiert, dass dauert allerdings ca. 35 Minuten bei 2 MBit/sec - die Netzwerkschnittstelle des Raspbberry ist eben nicht die Schnellste.
sudo dd bs=1M count=4125 if=/dev/sda of=/home/pi/raspbian.img

Dies dauert mit 7,6 MB/s knapp 10 min. 

Will man kleinere Images und benötigt nicht ein komplettes Raspbian, kann man mit dem netinst Image ein minimales aktuelles System erstellen. Dazu wird es einen extra Beitrag geben.

Mittwoch, 7. Oktober 2015

Preiswerter 4 fach potentialfreier Schalter Homematic

Es gibt von Homematic eine 4 fach Hutschienenaktor (72 mm) der zwar potentialfreie Schaltkontakte hat aber laut Beschreibung und expliziter Angabe in Servicehinweisen nur für einphasigen Anschluss zugelassen ist. Es gibt einzelne Hutschienenaktoren die beliebige Phasen schalten können. Es gibt einen Feuchtraumaufputzschalter (171 mm) für den keine Angaben zu mehrphasigen Schaltvermögen gemacht werden. Diese Aktoren kosten aktuell etwa 100 bzw. 150 €. Der einzelne Aktor (35 mm) kostet als Bausatz für 4 Phasen, also 4 Stck in Summe ca. 176 €
Ich habe mir eine Alternative überlegt: unabhängige Phasen schalten, geringer Standby Verbrauch, 16 A pro Kanal, Hutschienenmontage, 191,25 mm breit, Kosten 79,02 € davon Gehäuse 21,76 €.

Einkaufsliste mit Artikelnummern für Conrad bzw. Elv:


Das montierte Ergebnis sieht so aus:


Die Relais Module gibt es auch ohne bestücktes Relais, wer also Wert auf ein bestimmtes Relais legt kann diese separat und wenn gewünscht auch mit Sockel montieren.  Die Bilder im Conrad Katalog entsprechen nicht der tatsächlichen Bestückung. Die bei mir gelieferten Module waren HF14FW  012-ZST.
Die Relais Module haben eine Statusanzeige und die Schutzdioden an Board, sie können also direkt mit den Transistor/Mosfet Stufen angesteuert werden.
Nirgendwo ist der Schaltplan der Module zu finden, deswegen liefere ich den mal nach.


Das Schaltnetzteil hat einen Standby Verbrauch von ca 0,15 Watt. Die verbauten Relais ziehen jeweils 60 mA, das Netzteil hat damit maximal 245 mA zu liefern und damit noch etwas Luft.
Der Aufbau des Bausatzes HM-LC-Sw4-Ba-PCB ist relativ simpel, nur die Anschlussklemmen und das Funkmodul müssen aufgelötet werden. Die Antenne wurde leicht verändert montiert. Die Empfangseigenschaften sind trotz Einbau im Schaltschrank überraschend gut.
Das Schaltnetzteil passt mit seinen Befestigungslaschen und geringem Druck in die Leiterplatten Fugen der Gehäuseteile. Die geringfügige Lücke zwischen Leiterplatte und Netzteil wurde mit Heißkleberpunkten geschlossen, wer will kann auch einen zusätzlichen Abstandstreifen einfügen. Die Verdrahtung der Module ist simpel, die Relais Module erhalten gemeinsam den Pluspol, der HM-LC-Sw4-Ba-PCB schaltet gegen Minus.

Nachteil der Lösung: Das Modul ist relativ breit, bei mir war der Platz aber vorhanden.