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.
Wichtiger Hinweis:
Mittlerweile gibt es einen speziellen Baustein von Homematic (eq3) für die HM-IP Serie: HmIP-MOD-HO. Mit diesem Baustein geht das Ganze per Plug&Play.
Zur Einbindung in FHEM (über HMCCU) gibt es hier einen Thread.

Bauteile

Was brauchen wir?

  • Hörmann Supramatic (ich habe die Supramatic E3)
  • Universal Adapterplatine (Suchlink) (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.


Mittwoch, 22. Juni 2016

Windows 7 Anmeldung geht nicht

Bei einem Freund passiert es irgendwie einmal im halbem Jahr: Nach Eingabe des Passwortes kommt diese Meldung:
"Die Anmeldung des Dienstes "Benutzerprofildienst" ist fehlgeschlagen - Das Benutzerprofil kann nicht geladen werden"
Jedesmal muss ich grübeln was eigentlich mein Vorgehen zur Fehlerbehebung war, wenn ich dann vorm Gerät sitze wird es mir wieder klar. Nicht zuletzt weil sich Windows vieles merkt und mich unbewusst "führt" (Regedit merkt sich die letze Position). Für den Fall, dass das mal noch an einem anderen Computer passiert, schreibe ich es mal lieber auf.

  • Neustart im abgesicherten Modus (F8), interessanterweise geht hier die Anmeldung ganz normal, auch mit dem Benutzer um den es geht.
  • Ausführen / Regedit aufrufen
  • Navigieren zum Pfad HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WindowsNT\CurrentVersion\ProfileList
  • Hier steht in meinem Fall ein Schlüssel mit der Endung .bak und einer ohne Endung (Hauptteil der Schlüssel ist die USER ID / SID)
  • Dem Schlüssel ohne Endung einfach ein Endung geben, z.B. .old
  • Den Schlüssel mit der Endung .bak umbenennen und dann die Endung entfernen
  • Neustart

Ausgelöst wird das ganze im Übrigen eventuell durch den Virenscanner, aber sicher bin ich mir nicht.

Ein offiziellen Artikel dazu findet man hier.

Sonntag, 27. März 2016

WLAN und Jessie

Das neueste Jessie Image für den Raspberry vom 18.3.2016 macht die Wlan Konfiguration ziemlich einfach. Alle Treiber und Tools sind schon installiert.
Ich verwende den TP-Link TL-WN725N (Realtek) als externen WLAN Adapter oder den eingebauten WLAN Adapter vom Pi3 ().
In beiden Fällen können wir uns mit mit ifconfig davon überzeugen, dass der WLAN Adapter im System Treiberseitig eingebunden ist. Am Ende der Ausgabe muss ein Abschnitt mit wlan0 und der HWaddr kommen. Die Hardware Adresse könnte man gleich zur Reservierung einer festen IP Adresse verwenden.

Ein kurzer Check ob überhaupt ein Netzwerk gesehen wird:
iwlist scanning
Als Ergebnis gibt es ein Listing von den vorhandenen Netzwerken.

Die Wlan Verbindung muss manuell eingetragen werden:
 sudo nano /etc/network/interfaces  
Wir suchen diese Zeilen (und/oder ergänzen bei Bedarf):
 allow-hotplug wlan0  
 auto wlan0  
 iface wlan0 inet manual  
Vor die folgende Zeile setzen wir ein Kommentarzeichen
 #  wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf  
und nun wird angefügt
 wpa-ssid "WLAN-Name"  
 wpa-psk "WLAN-Passwort"  

Alternativ kann man auch mit der /etc/wpa_supplicant/wpa_supplicant.conf arbeiten
Wir öffnen die Datei
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 

Und tragen folgendes am Ende ein
network={
ssid="WLAN SSID"
psk="WLAN Passwort"
}
Vielfach liest man von mehr Optionen, bei mir haben die Angabe von ssid und psk genügt.

Mit dem Befehl
wpa_passphrase 'WLAN SSID' 'WLAN Passwort' >> /etc/wpa_supplicant/wpa_supplicant.conf

kann man den notwendigen Abschnitt erzeugen, dabei wird das Passwort in hexdezimaler Form codiert, steht also nicht im Klartext in der Datei. Das Klartext Passwort wird auskommentiert und kann gelöscht werden.

Das war es schon, mit
sudo systemctl daemon-reload
sudo systemctl restart networking
starten wir das netzwerk neu und der raspberry verbindet sich zum Wlan.
Meist muss man in dem Fall das wlan Interfaces mit diesem Befehl starten:
 sudo ifup wlan0
Man kann sich jetzt noch Details vom Netzwerk anzeigen lassen
 iwlist wlan0 scan

Powermanagement

Per default ist das Powermanagement in Jessie aktiv. Ganz schlechte Idee wenn der PI nur über Wlan im Netz hängt und plötzlich nicht mehr erreichbar ist.
Der folgende Befehl schaltet das Powermanagement für wlan0 sofort aus.
iw wlan0 get power_save
iw dev wlan0 set power_save off
Um es dauerhaft beim Neustart einzurichten müssen in der Datei /etc/network/interfaces diese Zeilen eingefügt werden. Aber unbedingt am Ende vom "Abschnitt" wlan0 also vor der ersten Zeile mit wlan1. Die pre/post-up und per/post-down Zeilen werden beim ifup bzw. ifdown des zugehörigen Interfaces ausgeführt. Wird das Interface nicht gestartet, wird der Befehl auch nicht ausgeführt.
post-up iw dev wlan0 set power_save off

Diese Option braucht einen Neustart ifdown wlan0 && ifup wlan0 reicht.
Der Befehl iwconfig gibt Auskunft über den Status des Powermanagements.

Zusammenfassung

Ich habe nach allen Erkenntnissen die Netzwerkdefinition in die /etc/wpa_supplicant/wpa_supplicant.conf eingetragen.
Am Ende sieht der modifizierte Abschnitt der Datei /etc/network/interfaces minimalistisch wie folgt aus:
allow-hotplug wlan0
 iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
    post-up iw dev wlan0 set power_save off

allow-hotplug wlan1
 iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Zum Nachlesen:
Debian Kapitel 5 Netzwerkkonfiguration
Elektronik Kompendium WLAN Adapter beim raspberry einrichten.
Raspberry Pi3 WLAN einrichten
Wiki Ubuntuusers WLAN
Wiki Ubuntuusers interfaces

Freitag, 11. März 2016

Fritzbox zum Quadrat

Eine 7490 war schon vorhanden und jetzt kam vom Provider noch eine 7412 als Endpunkt des neuen DSL Anschlusses. Da der Router zum Teil auch über TR-069 Protokoll vom Provider konfiguriert wird, wollte ich es auch so: die 7412 schließt die DSL Leitung ab und die 7490 macht weiterhin den Hauptjob. Da gibt es bei AVM eine gute Anleitung wie man zwei Fritzboxen koppelt. Nun kommen die beiden Boxen ja nicht aus der Verpackung, sondern meine 7490 war schon in Betrieb. Also "Migration" ist angesagt. Und hier gibt es jetzt meine Erfahrungen:

Ich konfiguriere gerne per DHCP und ich mache auch gerne feste IP Adressen über DHCP und ich tippe nicht gern ab. Also: Sicherung der Konfiguration der existierenden Box und Wiederherstellung auf der neuen Box. Dabei kann man auswählen, nur bestimmte Einstellungen wiederherzustellen - Netzwerkonfiguration.  Dabei gibt es die erste Eigenheit: Das geht irgendwie nur einmal, nach dem Auspacken (oder Werksreset) und Basiskonfiguration mit dem Modeminstallationscode. Beim zweiten Versuch fehlt genau dieser Punkt zur Auswahl?!

  • Beide Boxen haben WLAN aktiv. Die 7490 steckt am LAN und wird vom DSL getrennt.
  • Die 7412 wird am DSL angeschlossen und steckt nicht am LAN.
  • Verbindung zur 7490 und Konfiguration sichern.
  • Verbinden zur 7412 und Konfiguration wiederherstellen.
  • 7490 vom LAN trennen und 7412 mit dem LAN verbinden.
  • 7490 als IP Client konfigurieren nach einer Wartezeit wieder an LAN anschließen


Und alles läuft weiter? Naja nicht ganz...
Die Rasperry's sind von Android aus nicht mehr per Namen erreichbar, obwohl es in der Fritzbox Oberfläche alles gut aussieht. Ein Blick mit nslookup bringt es an den Tag: die Fritzbox verweigert die Auskunft obwohl sie scheinbar den Namen kennt. Abhilfe bringt eine Neuregistrierung am DHCP Server mit dhclient (oder ein Neustart). Die Windows PCs machen das scheinbar ohne extra Aufforderung. Mein HMLAN Adapter ist auch nicht per Namen erreichbar, mal sehen ob das irgendwann von alleine wird. Ich vermute, wenn der DHCP Client auf Grund der Lease Dauer seine Lease erneuern will wird es wohl klappen.

Die Windows Rechner sind zwar per DNS Namen erreichbar, die haben auch den Vorteil, dass sie Broadcast machen und die Linux Rechner auch damit auflösen können. Aber die Windows Clients ermitteln ob sie an einem bekannten Netzwerk angeschlossen sind (MAC Adresse des Default Gateway?) und packen erstmal das neue Netzwerk in die Kategorie "öffentlich" und damit unsicher! Wenn man, wie ich, etwas auf Sicherheit achtet und nicht alles immer gleich öffnet - gehen jetzt ein paar Sachen erstmal nicht mehr. Wenn man sich am Windows PC anmeldet ist das Problem mit einem Klick behoben, Windows fragt nach der Art des Netzwerkes, man klickt auf Privat und alles ist gut. Aber der Server an dem man sich maximal mal per RDP anmeldet?
Man sollte vorher RDP auf öffentliche Netzwerke freigeben, oder Monitor und Tastatur bereithalten!

Interessant wird noch die Auswertung in FHEM, beide Fritzboxen zeigen die Netzwerkgeräte an, nicht alle auf jeder Box aber auch nicht alle bloß auf einer Box.

Mittwoch, 2. März 2016

Werksimage zurücksetzen

Das Notebook funktioniert nicht mehr, eigentlich gibt es ein Recoveryimage vom Hersteller aber der Mechanismus (z.B. F9 beim booten drücken) funktioniert nicht mehr?! Windows Wiederherstellungsmedium funktioniert auch nicht? Original DVD wurde nie mitgeliefert?

Einfach "Neu machen"

Normalerweise kann man ja irgendwie an Datenträger über downloads kommen. MS hat mit Windows 8 begonnen diese über ein "Media Creation Tool" als download zur Verfügung zu stellen. Manchmal braucht man seinen Lizenzkey manchmal auch nicht. Stand heute kann man als Windows 7 / 8 / 8.1 Besitzer einfach Windows 10 herunterladen und ist damit gleich auf dem neuesten Stand. Auch hier Vorrausetzung: Lizenzkey, falls der Rechner keinen Aufkleber hat, steht dieser eventuell im BIOS (ab Windows 8 bei Auslieferung). Den braucht man dann auch nicht auszulesen, den nimmt sich Windows bei der Installation automatisch.

Restorepartition vorhanden

Aber was wenn es vielleicht doch der Auslieferungszustand mit Originalimage sein soll? Das wird typischerweise in einer extra 10-20 GB großen Partition "Restore" am Ende der Systemplatte versteckt. Achtung es gibt meist noch eine versteckte Partition "Recovery" mit ca. 900 MB - die ist es nicht.

Erstmal muss das System wieder startfähig sein. Dazu installieren wir eine Windows Version (am Besten passend, also Original Windows 8 dann Windows 8) und  zerstören dabei aber nicht die Partitionen!  Die Windows Partition kann ruhig formatiert werden (Datenverlust!?), aber nicht gelöscht werden.

Restore sichtbar machen

Im gestartete System müssen wir zunächst die Restore Partition sichtbar machen:
diskpart  
list volume
select volume n (Die Nummer mit dem Namen "Restore")
assign letter=R
rem == Fenster offen lassen um später Laufwerk zu entfernen

Jetzt müssen wir den Pfad kennen wo die Datei install.wim liegt und den Index für unser Recovery System. Wissen wir das nicht, müssen wir Zugriff auf die install.wim haben und mit dism die vorhanden Indizes ermitteln. Am einfachsten zweites cmd Fenster öffnen:
dism /get-imageinfo /ImageFile:R:\RecoveryImage\install.wim

Ist das Image z.B im Index 2 (wenn mehrere vorhanden sind ist die 1 häufig ein "Masterimage" sieht der Befehl zur Reaktivierung so aus
reagentc /setosimage /path R:\RecoveryImage /index 2  
reagentc /enable

Wir müssen diskpart noch schließen und die Restore Partition damit wieder unsichtbar machen (Fenster 1):
remove letter=R
exit

Wiederherstellung starten

Jetzt kann man ins Wiederherstellungssystem starten (shift + Neustart) und die Systemwiederherstellung starten.

Original HDD defekt?

Hängt jetzt ganz vom Zustand ab, was da noch zu retten ist. Manchmal stirbt eine Festplatte ja "gutmütig", d.h. Self Monitoring Analysis and Reporting meldet Fehler oder nur bestimmte Dateien lassen sich nicht mehr kopieren. Ist die Recovery Partition noch intakt, hat man auch hier eine Chance. Ich hatte zumindest einen Fall, da steckte auch der Produktschlüssel in der Recovery Partition und war weder im Bios noch auf der "Verpackung".
Also neue Festplatte her, beide Platten an einen Computer angeschlossen und wir können auch noch ein kleines Tool gut gebrauchen -> MiniTool Partition Wizard free 

Mit dem Tool können wir die Recovery Partition (normalerweise die letzte) einfach auf die neue Platte kopieren, Größe so belassen und wieder an das Ende der neuen Platte verschieben. Die genaue Größe der neuen Festplatte spielt keine Rolle.

Man könnte den Inhalt dieser Partition auch per Hand kopieren, etwas umständlicher aber es geht. Zunächst auf der Original Platte die Recovery Partition "sichtbar" machen, im cmd Fenster 1:
diskpart
list disk -> Platten Nummern notieren alte / neue Platte
list volume
select volume n (Die Nummer mit dem Namen "Restore")
assign letter=S

Auf neuer Platte Partition am Ende erstellen. Das geht nur über einen Umweg:
sel disk n (die Nummer der neue Platte)
clean
rem == Eine komplette Partition erzeugen  ==========
create partition primary 
rem == Verkleinern um den Platz für recovery image =
shrink minimum=21500
rem === Recovery image partition erzeugen ==========
create partition primary
format quick fs=ntfs label="Recovery image"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
rem === Partion am Anfang wieder löschen============
list part
sel part 1
del part
rem == wechseln in anderes Fenster 2 um den Kopiervorgang zu starten
remove letter=R
remove letter=S

Kopieren im extra cmd Fenster 2
xcopy s: r: /s/e/h
# Zurück zu Fenster 1 um Laufwerke wieder zu entfernen

Die Installation von Windows erfolgt ganz normal, man wählt einfach den freien Bereich der Festplatte dafür aus.

Links

Recovery Partition Creator
Artikel com! Magazin
MiniTool Partition Wizard free
Konfigurieren von UEFI-/GPT-basierten Festplattenpartitionen mit Windows PE und DiskPart
windows product key offline auslesen

Freitag, 26. Februar 2016

CUL Stick flashen

Irgendwie existieren gefühlt tausend Beschreibungen dazu im Internet, es gibt viele Seiten dazu im FHEM Forum und im FHEM Wiki. Alle sind ähnlich und keine führte bei mir wirklich direkt zum Ziel. Deswegen mal wieder: ich habe alles intensiv durchprobiert und einen ziemlich simplen Weg gefunden. Aber! Dieser Weg ist heute scheinbar richtig, ob das morgen noch so ist kann ich nicht garantieren.
FHEM kann es fast automatisch und bringt fast alles mit.

Vorbereitung


Man braucht den DFU-Programmer
 sudo apt-get install dfu-programmer  

Diesen müssen wir für fhem ausführbar machen damit er nicht nur unter root läuft und wir fhem nicht zu root machen müssen!
 sudo chmod u+s /usr/bin/dfu-programmer  

Programmierung


Den CUL Stick richtig stecken - und das ist nicht einfach! Man muss die kleine Taste auf der Unterseite beim Stecken gedrückt halten!
Ich finde es geht gut mit
  1. einem USB Verlängerungskabel welches man in die USB Schnittstelle steckt, 
  2. dann setzt man den USB Stecker vorsichtig an, 
  3. hält beides (Stick und USB Kupplung/Buchse) auf dem flachen Tisch mit Daumen (Stick) und Mittelfinger (Buchse) der linken Hand fest, 
  4. drückt mit der rechten und einem kleinen Stift (Zahnstocher) den Taster und 
  5. schiebt mit Daumen den Stick, der Mittelfinger fixiert die Buchse.

Jetzt gibt man in der Kommandozeile von FHEM ein
 usb scan  

Es kommt die Auschrift: CUL_V3: flash it with: CULflash none CUL_V3

Also in die Kommandozeile genau das eingeben was er sagt (copy&paste):
 CULflash none CUL_V3  

Der Erfolg wird mit der Ausschrift:
 CULflash Validating...  
 28630 bytes used (99.85%)  
und einem Blinken des CUL Stick quittiert.

In FHEM verwenden

Wenn der Stick läuft und blinkt können wir ein erneutes usb scan eingeben. Die Ausschrift die folgt kann man wieder direkt ernst nehmen:
 ### ttyACM0: checking if it is a CUL   
 create as a fhem device with: define CUL_0 CUL /dev/ttyACM0@9600 1034   
 ### ttyAMA0: checking if it is a CUL   
 cannot open the device   
und einfach die Empfehlung in die Kommandozeile kopieren
 define CUL_0 CUL /dev/ttyACM0@9600 1034  

Update oder neu flashen

Wenn der CUL Stick mal einen neue Firmware bekommen soll, geht das auch einfach in FHEM:
 CULflash CUL_0 CUL_V3  

Man kann den CUL Stick auch löschen (Terminal)
 dfu-programmer atmega32u4 erase   
Man muss es aber normalerweise nicht, einfach rausziehen und in den Programmiermodus versetzen reicht.