Archiv der Kategorie: Allgemein

Teil 3: Die Software – RFID Codeschloss für den Keymatic / Abus Funk Türschlossantrieb

In Teil 1 &  Teil 2 dieser Anleitung habe ich beschrieben, wie man einen Ersatz (oder Nachfolger) für das Funkcodeschloss Keymatic KM300 CAC (baugleich Abus CFT 1000) bauen kann. Dabei ist ein Arduino Nano die zentrale Koordinationsstelle, welche die Codes / RFID Eingaben auswertet, bei richtiger Eingabe den Sender aktiviert um den Türschlossantrieb zu aktivieren und die Klingel zu betätigen.

Den Arduino programmieren
In diesem abschließenden Teil 3 geht es um die Software für den Arduino. Wer noch nie mit einem Arduino gearbeitet hat: Es ist wirklich einfach.

  1. Den hier bereitgestellten Sourcecode herunterladen: Wiegand_Controller
  2. Die Arduino IDE (das ist das Entwicklungstool inkl. Compiler) von arduino.cc herunterladen. Diese Software ist Opensource und kostet nichts.
  3. Sourcecode mit der IDE öffnen. Alle vier .ino Dateien gehören zur Software. Am besten die Datei Wiegand_Controller.ino laden. Die anderen 3 Dateien werden automatisch mitgeladen.
  4. Arduino Nano per USB an den Rechner anschließen. Etwas warten, bis die USB Treiber installiert sind.
  5. Im Menü Tools den richtigen seriellen Port auswählen (meistens gibt es nur einen).
  6. Im Menü Tools unter Board den Arduino Nano auswählen.
  7. Pfeiltaste oben rechts anklicken (–> Upload).

Mehr muss man nicht tun. Der Sourcecode wird übersetzt. Das dauert ca. 30 Sekunden. Danach wird die Software auf den Arduino übertragen. Wenn der Upload fertig ist, ist auch schon alles erledigt. Der Arduino ist fertig programmiert.

Beschreibung der Software
Wiegand_Controller.ino
Enthält nicht viel. Initialisiert den seriellen Port und ruft die Initialisierungsroutinen der anderen Module. Enthält weiterhin die Grundschleife sowie die Debug Ausgabe für eingegebene Codes.

Wiegand_LowLevel.ino
Es gibt einige Wiegand Libraries für den Arduino von der Stange. Ich war mit keiner zufrieden (zu kompliziert & zu unflexibel). Deshalb habe ich meine eigenen Routinen aufgesetzt. Die Routinen WiegandD0 und WiegandD1 werden an die Interrupts für die Arduino Pins D2 und D3 bei einer fallenden Flanke gehangen. In diesen Routinen werden die empfangenen Bits gezählt (D0) und unterschieden, ob einen 1 oder 0 empfangen wurde (D1). Wenn 50ms lang keine Pulse mehr ankommen, geht der Code davon aus, dass die Wiegand Übertragung abgeschlossen ist; es gibt beim Wiegand Protokoll weder Anfang noch Ende. Irgendwann kommen Pulse und irgendwann sind sie halt wieder vorbei.
Die Routine WiegandDecode regelt die Umrechnung der empfangenen Bits in den Facility-Code und den Card-Code. Diese Routine ist die Stelle, an der man die Wiegand Dekodierung gegebenenfalls erweitern muss. Die Hersteller kochen öfters ein eigenen Süppchen mit eigenen Bitlängen und Aufteilungen auf Facility- und Card-Code. Mit einer passenen Ergänzung der switch/case Anweisung sollten andere Formate unterstützbar sein.

UI.ino
Hier wird das textbasierte Userinterface für die Arduino Software realisiert. Das ist ein einfaches Menü. Der Code ist nicht sonderlich kompliziert und sollte falls nötig leicht zu erweitern sein.

HandleCodes.ino
Hier ist der Kern des Codeschlosses realisiert. Am Anfang sind in den #define Statements die Pins für die jeweiligen Anschlüsse definiert. Die Längen für die Funksignale sind festgelegt. Ebenso wird festgelegt, wie oft hintereinander ein falscher Code eingegeben werden darf (ich habe 5 festgelegt) und wie lange das Codeschloss nach dieser Anzahl an Fehleingaben blockiert (3 Minuten).
Im Kern wird in diesem Softwareteil ein Array verwaltet, welches die korrekten Codes verwaltet. Jeder Code hat auch einen Realnamen, also z.B. Paul. Wenn Paul dann irgendwann nicht mehr rein darf oder seinen RFID verloren hat, ist der Code leicht zu identifizieren und zu löschen.
In der Setup Routine wir weiterhin das verfügbare RAM sowie der EEProm Speicher überprüft und entschieden, wieviele Codes gespeichert werden können. Auf einem Arduino Nano können 53 Codes gespeichert werden. Wer mehr braucht, kann darüber nachdenken, den #define MAXNAMESIZE zu reduzieren. Diesen habe ich auf 10 gestellt; jeder Code kann einen 10-1=9 Zeichen langen Realnamen haben.
Weiterhin wird in diesem Sofware Teil das Lesen & Speichern aus dem EEProm geregelt. Dies umfasst auch das sogenannte TamperFlag. Dieses Flag wird gesetzt und im EEProm gespeichert, wenn ein falscher Code eigegeben wird. Das Tamperflag wird nur gelöscht, wenn ein richtiger Code eingegeben wurde oder nachdem die Strafzeit von 3 Minuten nach 5 falschen Eingaben abgelaufen ist. Der Sinn des TamperFlags ist es, eine Sicherheitslücke durch die Manipulation der Stromversorgung zu verhindern. Sonst könnte man ja 4 Codes ausprobieren, dann kurz die Stromversorgung unterbrechen (kommt von der Klingel und ist vor der Tür per Schraubenzieher erreichbar) und dann wieder 4 Codes probieren. Dank des TamperFlags geht dies nicht: Ein falscher Code und die Unterbrechung der Stromversorgung wird mit 3 Minuten Pause geahndet.

Verwendung der Software
Wenn man den Arduino neu programmiert hat und das erste Mal startet, ist der EEProm noch unbeschrieben. Wenn man Pech hat (50% Chance) ist da Tamperflag gesetzt und man muss erst einmal 3 Minuten warten. Eine entsprechende Ausgabe erscheint, wenn man mit einem seriellen Monitor bzw Terminalprogramm auf die Ausgaben des Arduino lauscht. Die serielle Schnittstelle muss auf 9600 Baud, 8 Bit, N=keine Parität,1=ein Stopbit gesetzt werden. Ich nehme übrigens putty, weil man hier eine gute Copy/Paste Unterstützung hat.
Nach dem ersten Sart sollte man in etwa folgendes sehen – hier als Beispiel hat das Tamperflag zugeschlagen:

Wiegand Controller - S.T. 2014
RAM before Codelist allocation: 1645
EEProm size limits Codelist array.
RAM after Codelist allocation: 636
Codes that can be stored: 53
Codes loaded from EEProm: 0
TAMPERED?? - Restart with wrong-code counter active -> Go into wait mode.
Too many wrong codes entered. Will sleep this amount of seconds - also on serial: 180... Done.

Nach der Wartezeit von 3 Minuten kommt dann das Menü und als erstes löschen wir den EEProm:

***** MENU ****
<enter> -> print this menu
1 -> learn a code / paste csv-list of codes
2 -> delete a code
3 -> display all codes
7 -> reset tamper flag & reboot
8 -> save all codes to eeprom
999 -> delete ALL codes in eeprom
Notes: Name entries max 9 characters.
Action entries 1 for open, 0 for close.

>999
Erasing EEprom…
Codes saved to EEProm: 0

Nun kann man neue Codes anlegen. Oder auch einfach mal zum Test einen RFID vor das Codeschloss halten; der RFID Code erscheint dann im seriellen Fenster. Aber Achtung: Wenn man 5 falsche (weil noch nicht angelernte) RFID Codes hintereinander einliest, hat man wieder 3 Minuten Wartezeit gewonnen.

Mit der Eingabe 1 kann man einen Code anlernen oder auch eine komplette Codeliste in das Fenster des Terminalprogramms einfügen. Das Format für die Eingabe wird kurz vom Arduino genannt, dann können die Eingaben erfolgen. Eine Codeliste sieht z.B. so aus:

User1,0,1234,1
User2,0,246835,1
User3,0,9933,1
RFIDTag1,13,9384632,1
RFIDTag2,12,3834672,1
RFIDTag3,21,9287374,1
Close,0,0,0

In diesem Beispiel gibt es 3 Benutzer mit einem Pin zur Eingabe per Tastatur. User 2 muss 246835# auf der Tastatur eintippen. Daraufhin wird Kommando 1 ausgelöst; Kommando 1 ist Türe öffnen. Will man abschließen, so tippt man 0000# ein; hier ist eine 0 als Kommando hinterlegt.
Weiterhin sind 3 RFIDs angelert. Tag 1 hat den Facility Code 13 und den Card Code 9384632. Würde man bei RFIDTag1 die letzte 1 gegen eine 0 tauschen, so würde dieser RFID ab jetzt die Türe abschließen.
Nach der Eingabe die Liste mit Enter abschließen und die Codeliste mit 8 im EEProm speichern. Fertig.

Die restlichen Eingaben sollten selbsterklärend sein. So kann man mit 3 eine Liste aller angelernten Codes ausgeben. Diese ist so formatiert, dass man sie im Anlernmodus auch direkt wieder zum Einfügen verwenden kann.
Mit der Eingabe 2 kann man einen Code / RFID löschen. Dazu muss dann der Realname des Codes/RFIDs eingegeben werden. Falls man den nicht mehr so genau weiss, einfach vorher mittels 3 mal in die Liste schauen.

Falls jemand das vorgestellte Konzept nutzt oder erweitern, würde ich mich über einen Kommentar freuen.

Ergänzung (30.04.2015):
Hier geht es zum Teil 4 für die Version 1.1 mit einer breiteren Unterstützung von Wiegand Codeschlössern.

_________________________
Link für die in Kommentar Nr. 4 erwähnte Codeanpassung für einen Pin, der zuviel e falsche Codeeingaben nach außen signalisiert: Wiegand_Controller_WrongCodePin –> diese Änderung wurde auch in die Version 1.1 in Teil 4 übernommen.

Teil 2: Die Schaltung – RFID Codeschloss für den Keymatic / Abus Funk Türschlossantrieb

Im Teil 1 habe ich beschrieben, wie man einen Keymatic / Abus HomeTec Handsender so umbauen kann, dass er an einer Schaltung mit 3V oder 5V Versorgungsspannung betrieben werden kann.
In diesem Teil 2 geht es nun um die gesamte Schaltung für einen Ersatz bzw Nachfolger für ein Funk Codeschloss für einen Keymatic / Abus Funk Türschlossantrieb. In Teil 3 werde ich die passende Arduino Software vorstellen.

Das Grundprinzip
Vor der Türe ist ein RFID-Codeschloss auf Touchbasis montiert. Dieses gibt die eingegeben Codes / RFID-IDs per Wiegand Interface nach innen ins Haus weiter. Ein Arduino wertet die Codes aus und steuert einen Abus Homtec Handsender an. Verschiedene Codes / RFIDs können dann nach Wahl die Tür auf- oder abschließen.
Durch diesen Aufbau wird eine hohe Manipulationssicherheit gewährleistet. Das Codeschloss im Außenbereich wird nicht kodiert und die außen liegende Elektronik bewertet nicht, ob ein Code korrekt ist oder nicht. Die Auswertung erfolg vollständig auf dem Arduino, der im Innenbereich liegt.

Auswahl des Codeschlosses
Es gibt auf dem Markt eine Vielzahl von RFID Codeschlössern zu kaufen, die ein Wiegand Interface anbieten. Viele dieser Codeschlösser sind allerdings nicht wetterfest und/oder kamen qualitativ aus meiner Sicht nicht in Frage.
Ein weiteres Kriterium ist die Handhabung der RFID Codes auf dem Wiegand Interface. Oft ist dazu keine Dokumentation verfügbar. Ergo kauft man die Katze im Sack. Es gibt auch offen gesagt dämliche Implementierungen, bei denen auf dem Wiegand Interface übertragen wird, ob das Codeschloss einen gültigen RFID gesehen hat und ggf unter welcher Nummer er im Codeschloss registriert ist. Das führt das gesamte Sicherheitskonzept ad absurdum, da die Antwort des Codeschlosses auf einen gültigen RFID a priori für jeden bekannt ist.
Der qualitative Anspruch, eine vernünftige Dokumentation des Verhaltens sowie ein sinnvolles RFID Verhalten auf dem Wiegand Interface habe ich bei den Codeschlössern der Firma Sebury gefunden. Diese Codeschlösser werden in Deutschland über über i-keys.de vertrieben. Ich will hier keine Werbung machen. Es gibt bestimmt auch gute Codeschlösser anderer Firmen; u.a. auch mit Fingerabdrucklesern etc. Im Prinzip sollten alle diese Codeschlösser und Leser verwendbar sein und ich freue mich über Kommentare zu alternativer Hardware. Es kann jedoch im Bereich der Wiegand Codeauswertung zu Unterschieden kommen.
Wer am Ende gerne den Arduino Code ohne Änderung nutzen will, fährt mit dem vorgeschlagenen Codeschloss auf der sicheren Seite. Mit leichten Code Anpassungen sollte man auch andere Wiegand Leser ans Laufen bringen.
Konkret habe ich mich für das Modell Sebury sTouch standalone W-w entschieden; hier im Vergleich zur Originallösung:
1_Codeschloss_fertigold_abus

Die Wahl basiert einerseits auf der Optik, die meines Erachtens die Keymatic / Abus Lösung um Längen schlägt: Metall statt Pastik. Touch statt Folie. RFID zusätzlich. Weiterhin ist das Schloss nach IP65 staub- & wasserdicht ist und sollte aufgrund der kapazitiven Touch-Tastatur verschleißfrei sein sollte. Die Folientastatur der Originallösung hat sich also nicht sehr haltbar erwiesen.
Vieleinstellen muss man an dem Codeschloss nicht. Den Admin-Code sollte man natürlich ändern, das Schloss als Wiegand Leser konfigurieren und die Übertragung von 26 auf 37Bit umstellen. Das war es auch schon.
Die Anlernkarten für RFIDs braucht man bei der Nutzung als Wiegand Leser nicht. Als RFIDs kann man einfach 125kHz RFIDs nach EM4100/4102 kaufen. Wer günstig in China bestellt, bekommt bei ebay 10 Stück für unter 3€.
1a_RFID

Kein Wiegand Controller von der Stange
Ein Wiegand Controller ist eine Box, welche die Wiegand Codes interpretiert und bei korrekten Codes Ausgänge beschaltet. Es gibt natürlich kommerzielle Wiegand Controller zu kaufen. Nun kommt das kleine, aber relevante Problem: Wir brauchen einen Wiegand Controller mit zwei Ausgängen: Es müssen die Funktionen Auf- und Abschließen mit unterschiedlichen Codes angesteuert werden. Solche Wiegand Controller kosten mehrere Hundert Euro. Die Idee: Wir bauen uns einen entsprechenden Controller für ein paar Euro aus einem Arduino selbst.
Eine Alternative wäre auch ein simpler Wiegand Controller mit nur einem Ausgang. Das Kommando für Abschließen könnte man auch mit einem zusätzlichen Taster realisieren, da man dieses Kommando eigentlich nicht per Code schützen muss. Ein solcher einfacher Wiegand Controller kostet aber immer noch 50-100€. Und man braucht eine sinnvolle Lösung für den zusätzlichen Schalter.
Meine Wahl war damit klar: Controller selbst bauen.

Ein Arduino Nano Clone tut’s
Am Codeschloss ist ein Kabel für die Stromversorgung und die Signalleitungen angebracht. Dieses habe ich nach innen ins Haus geführt und mit etwas Abstand eine kleine Unterputzdose in der Wand montiert. Für die Auswertung der Wiegand Codes und die restliche Steuerung langt ein Arduino Nano. Ich habe mich für einen China Clone mit FTDI USB Schnittstelle entschieden (es geht natürlich auch einer mit CH340 USB Chip). Solche Arduino Clones gibt es für 3-5 Euro bei ebay.
So sieht das Ganze dann auf eine Lochrasterplatine aus:
7_Schaltung_komplett

Mit dieser Größe passen alle Komponenten für den Innenbereich problemlos in eine Unterputzdose. Auch das ist ein Argument für den Selbstbau. Ein Wiegandkontroller von der Stange ist größer.

Mit Hilfe der USB Schnittstelle ist es sehr einfach, Codes & RFIDs hinzuzufügen oder zu löschen: Rechner per USB anschließen, serielles Terminalprogramm (z.B. putty) mit 9600 Baud, 8N1 starten und fertig. Ein minimales textbasiertes Menü ist in der Arduino Software implementiert.
Ein weiterer Vorteil des Arduinos ist der eingebaute EEProm, auf dem RFID & Codedaten hinterlegt werden können. So können die Daten auch bei einem Spannungsverlust erhalten werden.

Das Wiegand Interface
Das Wiegand Interface ist ein sehr einfaches, serielles Protokoll mit den Pegeln 0V und 5V. Beschreibungen finden sich im Netz sehr viele. Stark verkürzt: Es gibt zwei Datenleitungen D0 und D1. Für jedes übertragene Bit springt D0 für 100 Mikrosekunden von high auf low. Geht D1 zwischen zwei D0 Pulsen auch auf low, so wurde eine 1 übertragen. Bleit D1 auf high, so ist es eine Null. Es gibt kein Ende einer Übertragung. Man muss halt schauen, ob länger nichts mehr kommt.
Dieses Format läßt sich sehr leicht auf einem Arduino implementieren. Die Pins D2 und D3 können bei einem Nano Interrupts auslösen. Passt perfekt auf unsere Problemstellung.

Stromversorgung
Arduino wie Codeschloss können mit 12V Gleichstrom betrieben werden. Wer sich einfach 12V mit Hilfe eines Steckernetzeils organisieren will, kann hier das Lesen aufhören. Da das Codeschloss bei uns an der Stelle des Klingelschalters montiert ist, soll die Stromversorgung über den Klingeltrafo erfolgen. Bei uns ist ein Klingeltrafo der Marke Grothe, Typ GT3148 montiert. Dieser liefert nach Spezifikation 8V Wechselstrom und einen maximalen Strom von 1A. Das sind allerdings nur Richtwerte. Im Leerlauf werden ca. 12V Wechselspannung erreicht. Wenn man die Spannung gleichrichtet und stabilisiert, ergeben sich ca. 16V.
Diese habe ich mit einem Festspannungsregler LM78S12 auf 12V Gleichspannnung herabgesetzt und mit einem Elko stabilisiert. Eine Diode schützt den Festspannungsregler gegen Restspannung auf der Verbraucherseite.
Den Gleichrichter und die Spannungsstabilisierung habe ich auf einer separaten Platine aufgebaut:
6_Netzteil
Da bei uns liegen an der Tür sowohl die Klingelspannung als auch die zwei Pole für die Klingel vor. Dadurch kann das Codeschloss/Arduino parallel zur Klingel angeschlossen werden. Bei manchen Häusern/Wohnungen sind an der Tür nur zwei Pole verfügbar; die Klingel löst bei Verbindung der Pole aus. Hier passt das hier vorgeschlagene Konzept zur Spannungsversorgung nicht.

Da war noch was: Die Klingel
Die 12V Gleichstrom haben wir uns jetzt vom Klingeltrafo organisiert. Nun müssen wir noch die Klingel ansteuern. Das Sebury Codeschloss hat einen Klingeltaster und wollen wir natürlich nutzen. Das Codeschloss hat einen eigenen Klingelausgang, der aber nicht mit hohen Strömen belastbar ist. Man braucht also eine Treiberstufe.
Ich habe einen alternativen Weg gewählt: Der Druck auf den Klingeltaster erzeugt einen 18Bit Wiegand Code. Dieser wird auf dem Arduino als Klingelkommando erkannt und steuert über den Pin D8 einen npn-Transistor an. Dieser schaltet ein Relais, an welchem die klassische Klingel (Ding/Dong – ca. 800mA) hängt. Eine Freilaufdiode stellt sicher, dass Transistor und Arduino beim Abschalten des Relais keinen Schaden neben (Relaisspule = Induktivität –> hohe Spannung beim Abschalten).

Anschluss des Handsenders
Nun muss noch der Keymatic / Abus HomeTec Handsender angeschlossen werden. Diesen wie in Teil 1 beschrieben umbauen. Die Spannungsversorgung läuft über den Arduino Pin D7. D11 und D12 schalten die Kommandos für auf- bzw abschließen. Der Handsender wird nur mit Spannung versorgt, wenn auch ein Kommando gesendet werden soll. Eine Kommandodauer von 3 Sekunden hat sich als ausreichend erwiesen.

Erfolgskontrolle: Buzzer und LED im Codeschloss
Im Sebury Codeschloss ist ein Piezosummer und eine LED eingebaut, die sich extern ansteuern lassen (pull to low). Die LED und der Summer wird genutzt, um den Anwender optisch und aktustisch zu informieren, ob ein korrekter Code eingegeben wurde. Dazu werden die entsprechenden Eingänge des Codeschlosses mit den Arduino Pins D8 und D9 verbunden.
Ein langer Piep und ein grünes Leuchten bestätigen einen korrektem Code. Eine Piep,Piep,Piep-Folge mit einer blinkenden LED im Fall einer Fehleingabe. Bei 5 falschen Codes / RFIDs in Folge blinkt das Codeschloss 3 Minuten lang und akzeptiert so lange keine Eingaben. Falsche Code Eingaben merken wir uns auch im EEprom, so dass man diesen Mechanismus nicht durch eine Sabotage an der Spannungsversorgung umgehen kann.

USB Init Probleme?
Einige Arduino Nanos (Clone und Original) haben Probleme mit der Initialisierung des FTDI Chips (Chip für USB Kommunikation), wenn parallel eine externe Spannung anliegt und danach währen des Betriebs ein USB Kabel angeschlossen wird. Es gibt im Netz Informationen, dass dies an einer fehlerhaften Beschaltung des Test-Pins am FTDI Chips liegt. Ich habe nicht versucht das Test-Pin Problem zu lösen. Statt dessen habe ich einen kleinen Schalter montiert, mit dem man die externe Spannung abklemmen kann, bevor man den Rechner per USB anschließt. Ist der Rechner dran und der FTDI erkannt, kann man die externe Spannung auch wieder zuschalten. Der FTDI ist jetzt sauber initialisiert.
Wer einen Arduino ohne diese Probleme hat, kann den Taster weglassen.

Hier der gesamte Schaltplan:
Codeschloss Arduino

Und hier die komplette Schaltung mit allen Kabeln vor der Unterputzdose:
8_Schaltung_einbau
Die Schaltung ist bei uns seit ca. Anfang Oktober in Betrieb und funktioniert stabil.

In Teil 3 werde ich die Software auf dem Arduino beschreiben.

Teil 1: RFID Codeschloss für den Keymatic / Abus Funk Türschlossantrieb (Ersatz für KM300 CAC / CFT 1000)

Wir haben einen Funk-Türschlossantrieb Abus Hometec CFA 1000 (bauglich zur Keymatic KM300 IQ+) seit 7 Jahren in Betrieb und sind damit auch sehr zufrieden. Mittlerweile gibt es eine neuere Version dieses Antriebs am Markt, die nicht mehr auf die Keeloq Verschlüsselung des Funkverkehrs setzt. Für diese eQ-3 Variante gibt es mittlerweile auch eine Anpassung dieser Anleitung (siehe Teil 5).

Das Problemkind ist das Funk Codeschloss Keymatic KM300 CAC bzw. Abus Hometec CFT 1000. Das Codeschloss ist nicht wirklich wetter- und UV-fest und ein Ende ist absehbar. Leider sind die passenden Codeschlösser vom Markt verschwunden. Es gibt für die alten wie auch die neuen Türschlossantriebe kein Nachfolgeprodukt. Für Funkcodeschlösser dieser Art aus Restbeständen werden Mondpreise auf ebay bezahlt und das, obwohl die Haltbarkeit und auch die Optik nicht ideal ist. Also muss eine Abhilfe her.

Meine Anforderungen für einen Selbstbau eines Keymatic/Abus Funk Codeschloss Ersatzes/Nachfolgers:

  • Optisch ein deutlicher Schritt nach vorne. Weg vom alten Plastik / Folientastatur Design.
  • Wetterfest.
  • Kompatibel zur KM300 CAC / CFT 1000.
  • Bestehende Handsender sollen weiter funktionieren.
  • Zukunftsicher / weiterentwickelbar für den das neueren Keymatic Türschlossantrieb HM-Sec-Key eQ-3.
  • Sicherer als das alte Funk Codeschloss. Hier ist der Keeloq Baustein für die Entriegelung der Haustür im Codeschlossgehäuse vor der Haustüre verbaut. Somit ist ein Angriff auf der HW Seite denkbar.
  • Sicherer als die typischen Codeschlösser der Elektronikversender. Hier kann man durch Kurzschließen von zwei Kabeln auf der Rückseite das Schloss sehr einfach umgehen.
  • Der Einsatz von RFIDs zur Türöffnung soll möglich sein.

In den nächsten Tagen werde ich mehrere kurze Anleitungen posten, wie ich ein passendes Funk Codeschloss gebaut habe, das auf meine Anforderungen passt. Für alle die neugierig sind, ist hier schon einmal das Endergebnis zu sehen:
1_Codeschloss_fertig
Ganz kurz zusammengefasst habe ich folgendes realisiert: Vor der Türe ist ein RFID-Codeschloss auf Touchbasis montiert. Dieses gibt die eingegeben Codes / RFID-IDs per Wiegand Interface nach innen ins Haus weiter. Ein Arduino wertet die Codes aus und steuert einen umgebauten Abus Hometec Handsender an.

Nun zum Teil 1 des Projekts: Umbau eines Handsenders für die Ansteuerung / Stromversorgung durch einen Arduino.
Alternativ geht natürlich auch ein Raspberry Pi o.ä..

Hier ein Bild eines alten, abgenutzten Abus Handsenders CFB 1000. Der entsprechende Keymatic Handsender ist baugleich.
2_Handsender_orig
Das Gehäuse läßt sich leicht demontieren. Die zwei Schrauben sitzen im Batteriefach. Danach kann man die Platine entnehmen. Den Verbinder für die Folientastatur habe ich abgelötet. Dann kann man wie zwei Kabel für die Stromversorgung und zwei für die Kommandos Tür auf (inkl Entriegeln) und Abschließen anlöten. Das dritte Kommando „Aufschließen ohne Entriegeln“ habe ich nie gebraucht, was man am Zustand des Handsenders auch sehen kann 🙂
4_Handsender_Umbau
3_Handsender_Umbau
Die Folientastatur läßt sich wie ein Aufkleber entfernen. Das Gehäuse habe ich wiederverwendet. Die 4 Kabel lassen sich dann durch die freigewordene Öffnung im Gehäuse nach außen führen.
5_Handsender_fertig
Fertig ist der umgebaute Handsender.

Die Ansteuerung ist nun ganz einfach über beliebige Schaltungen möglich:
Die auf der Fernbedienung verbauten Bauteile lassen eine Versorgungsspannung zwischen 3 und 5 Volt zu. Also einfach die Platine mit Spannung versorgen. Dann nach Wunsch Öffnen oder Abschließen auf +3/5V legen und schon wird das entsprechende Kommando gesendet.
Den Arduino habe ich so programmiert, dass die Versorgungsspannung nur anliegt, wenn auch ein Kommando gesendet werden soll. Der Stromverbrauch beträgt wenige Milliampere und so kann man die Fernbedienung direkt an den Ausgabepins eines Arduinos anklemmen.
Konkret lege ich die Versorgungsspannung an den Handsender im Arduino Code an, warte 10ms und setze dann den entsprechenden Kommandopin für 3 Sekunden auf high. Ob die 10ms wirklich nötig sind, weiß ich nicht. Das Ziel der Wartezeit ist eine saubere Initialisierung des Handsenders und seines Mikrocontrollers bevor ein Kommando erzeugt werden soll. Der Handsender läuft wie beschrieben mit 5V seit Wochen stabil.

Im Teil 2 folgt die Beschreibung der kompletten Schaltung für das Funk Codeschloss.

Wenn die Namen aus dem Telefonbuch nicht auf dem DECT Mobilteil an einer Fritzbox erscheinen

Eigentlich klingt alles ganz einfach: DECT Telefon an der Fritzbox als Basistation anmelden und alles ist gut. Ist es an sich auch. Wir hatten aber das Phänomen, dass bei einem ankommenden Anruf immer nur die Nummer des Anrufers angezeigt wird – egal ob dieser im Telefonbuch des Mobilteils vermerkt ist oder nicht. Das ist bei einem ankommenden Anruf nicht schön.

Konkret die Gerätschaften: Fritzbox 7362SL (Firmware 6.20), Gigasets C385 und C610

Mit etwas Nachforschen erscheint das ganze Verhalten zwar logisch, aber nicht so wie ich es gerne hätte:
Die Fritzbox übernimmt bei einem Anruf die Anzeige auf dem Mobilteil. Also wird die Nummer des Anrufers angezeigt. Da wir das Telefonbuch auf dem DECT Mobilteil verwenden und nicht das der Fritzbox, erscheint auch kein Name. Die Fritzbox kennt ja die Nummer des Anrufers nicht.

Die typische Antwort auf die Problemstellung lautet: Alle Rufnummern und Namen in das Telefonbuch der Fritzbox übertragen.

Das funktioniert auch, ist aber für mich keine besonders gute Lösung. Erst einmal ist es eine Menge Arbeit. Man kann dann auch auf dem DECT Mobilteil auf das Fritzbox Telefonbuch zugreifen und Nummern daraus wählen. Das ist aber vergleichsweise umständlich, weil man mehrere Tasten drücken muss, um in dieses Telefonbuch zu gelangen. Das im DECT Mobilteil eingebaute Telefonbuch erreicht man mit einem Tastendruck auf die Taste für das Telefonbuch. Darüber hinaus kann man im Telefonbuch schnell springen, wenn man die Taste mit dem passenden Anfangsbuchstaben des Namens drückt. Und auch der Vorteil eines zentral synchronisierten Telefonbuchs ist für mich recht wenig wert, da ich das DECT Telefonbuch von einem Mobilteil zum anderen senden kann.

Aber es geht auch anders – es ist nur nicht wirklich gut dokumentiert. Man kann nämlich einstellen, in wie weit die Fritzbox die Anzeige auf dem DECT Telefon übernehmen soll. Damit lässt sich ein Übersteuern der Anzeige durch die Fritzbox verhindern und das Telefonbuch des DECT Mobilteils kann auch im Fall eines Anrufs seinen Job machen.

Die Dokumentation zu den folgenden Codes spricht von ISDN Telefonen. Die Codes wirken sich wie folgt auf DECT Telefone aus:
#960*0* –> Anzeige aus Telefonbuch des DECT Telefons
#960*1* –> Default-Einstellung – Anzeige aus Fritzbox
#960*2* –> Anzeige aus Fritzbox, Textmeldungen minimal

Wenn man also das Telefonbuch des DECT Telefons verwenden will, tippt man #960*0* ein und hebt ab. Einige Sekunden warten und auflegen. Jetzt werden bei einem Anruf die Rufnummern durch Einträge des Telefonbuchs des DECT Telefons ersetzt. Oder es wird die Rufnummer angezeigt, wenn die Nummer nicht bekannt ist.

Die Standardeinstellung bekommt man mittels #960*1* zurück. Jetzt gilt wieder das Telefonbuch der Fritzbox.

Dickie Spielzeug Walkie Talkies lauter machen (Modell 201118181)

Wer billig kauft, kauft zweimal … oder braucht einen Lötkolben.

Letztens habe ich für die Kinder zwei Walkie-Talkies im Polizeidesign der Firma Dickie (Modell 201118181) erstanden.
1_WalkieTalkie
Eigentlich hätte mir der Gesamtpreis von 9,99€ für zwei Walkie-Talkies inkl. zwei 9V Blöcken eine Warnung sein sollen. Irgendwie konnte ich aber nicht widerstehen und habe beim lokalen Kaufhof zugeschlagen.
Zu Hause haben sich dann die Amazon Rezensionen bestätigt. Die Dinger sind so leise, dass man nur auf kurze Entfernung überhaupt etwas verstehen kann.
Da muss man doch was machen können. Und tatsächlich habe ich einen Weg gefunden, wie man die Lautstärke durch eine einfach Lötaktion so hinbekommen kann, dass die Einstellung „Low“ einer mittleren Lautstärke entspricht und die Einstellung „high“ auch ihren Namen verdient. Der Hersteller hat in Reihe zu dem verbauten (Billig-) 8Ohm-Lautsprecher einen 270 Ohm Widerstand geschaltet. Da kommt dann natürlich nicht mehr viel heraus.
Letztlich habe ich diesen Widerstand umgangen. Und siehe da, die Verständigung und Lautstärke ist passabel. Man darf natürlich immer noch kein audiophiles Wunder für 9,99€ erwarten. Und bei der höheren Lautstärke wird die fehlende Rauschsperre (Squelch) durchaus etwas nervig.
Warum der Hersteller diese Serienschaltung gewählt hat, ist mir nicht klar. Vielleicht, um irgendwelchen EU Regularien über maximale Lautstärken von Kinderspielzeug zu entsprechen. Ich erkenne in den umgebauten Geräten kein Problem. Man kann natürlich auch einen niedrigeren Widerstandswert nehmen und so die maximale Lautstärke nach Wunsch begrenzen.

Zum Umbau:
Zunächst einmal muss man auf der Rückseite die Gürtelklemme entfernen, damit alle 5 Schrauben für das Gehäuse zugänglich werden:
2_Back
Die Schrauben müssen raus. Es empfiehlt sich auch die Batterie auszubauen. Danach kann man das Oberteil abnehmen. Dabei muss man vorsichtig sein, um die Kabel von Mikro und Lautsprecher nicht abzureißen. Dummerweise ist das Gehäuse mit der Gummiantenne verklebt, so dass man das Oberteil erst einmal nicht abnehmen kann. Diese Verklebung kann man mit einem kleinen Schraubenzieher lösen, in dem man in dem Übergang zwischen Gehäuse und Antenne die Verklebung auftrennt. Keine Sorge – hier kann man nichts kaputt machen. Die Antenne ist ein stabiler Stahldraht. Danach sieht man die Platine im Unterteil der Gehäuses:
3_Open
Die Platine ist mit 3 Schrauben gesichert, davon ist eine auch die elektrische Verbindung zur Antenne. Wenn die Schrauben weg sind, kann man die Rückseite der Platine bewundern. Im folgenden Bild ist der Umbau schon erfolgt:
4_Circuit
Blau sind die Lautsprecherkabel. Mit dem Pfeil ist der Widerstand markiert, der in Serie zum Lautsprecher geschaltet ist. Man muss nun einfach das blaue Kabel vom markierten, linken Lötpad ablöten und direkt an einem Kontakt des PTT-Tasters anlöten. Diese Stelle ist im Foto ebenso markiert.
Das ist auch schon der gesamte Umbau. Der Zusammenbau erfolgt in umgekehrter Reihenfolge. Man muss dabei aufpassen, dass die grauen Plastikteile für den PTT-Taster und den An/Aus-Schalter wieder richtig eingesetzt werden. Das geht recht einfach, wenn man das Oberteil nach unten legt, die grauen Plastikteile einsetzt und dann die Unterseite von oben aufsetzt.
Fertig. Die Kinder waren begeistert 🙂

Umbau einer Elro AB440S Funksteckdose auf Arduino

Wir haben einige Funksteckdosen des Typs Elro AB440S und weitere Aktoren in einer selbstgebauten Mini-Heimautomatisierungslösung (Raspberry Pi, fhem, Genshellswitch) laufen.
Was mir aber fehlte war eine Funksteckdose, mit der ich einen CD Player im Kinderzimmer per Funk abschalten kann. Der CD Player leiert abends Einschalflieder und soll eigentlich nur hinter eine Funksteckdose. So richtig glücklich war ich aber mit dieser Lösung nicht und so entstand diese Liste mit meinen Anforderungen:
1. lernfähig – auf verschiedene Fernbedienungen trainierbar
2. Zustand nach dem Einstecken konfigurierbar, also eingeschaltet nach dem Einstecken, so dass der CD Player direkt gestartet werden kann
3. Abschalttimer konfigurierbar, also z.B. automatisch aus nach 60 Minuten

Da es so etwas offenbar am Markt nicht gibt, entstand die Idee, eine der herumliegenden Elro AB440S Funksteckdosen mit einem Arduino aufzurüsten. Solche Funksteckdosen gibt es inkl. Sender im 3er Pack für 10-15€ im Baumarkt. Die Dosen sind unter vielen Bezeichnungen im Handel. Erkennbar sind sie an dem 10-poligen roten DIP Schalter.
Für den Umbau habe ich einen Arduino Clone (Mini Pro mit ATMega 328, 5V 16M) verwendet. Diese Clones sind für unter 3 Euro zu bekommen, so dass die umgebaute Funksteckdose für deutlich unter 10€ gebaut werden kann.

An dieser Stelle folgt erst einmal eine Warnung:
Funksteckdosen verwenden ein sogenanntes Kondensatornetzteil. Damit werden zwar kleine Spannungen von 5V erzeugt, aber es erfolgt keine galvanische Trennung vom 230V Netz. Für einen Nachbau kann ich die nötige Sachkunde nur dringend empfehlen! – Fehler mit 230V können fatal enden!

Generell empfiehlt es sich vor dem Umbau sich in die Thematik der Kondensatornetzteile einzulesen: Elektronik Kompendium , Wikipedia

Ein paar Messungen auf der Hauptplatine ergeben:
Das 433MHz Empfängermodul (siehe vorheriger Beitrag) und der verbaute Logikchip PT2272 laufen mit Arduino-kompatiblen 5V. Das Relais läuft mit 24V und wird über einen Transistor geschaltet. Sieht nach sehr guten Voraussetzungen aus, den Logikchip durch einen Arduino zu tauschen. Zudem ist das 433MHz Empfangsmodul kompatibel mit der verfügbaren Arduino Library RCSwitch. Last but not least ist ein 10poliger DIP Schalter verbaut, der 10 Pins auf Masse ziehen kann und zur Konfiguration genutzt werden kann. Prima Voraussetzungen also.

Schritt 1: SMD Chips raus
Der SMD Chip muss raus, also auslöten. Tipp: Alle Kontakte auf einer Seite mit viel Lötzinn verbinden. Etwas einheizen und Chip auf dieser Seite mit einem Schraubenzieher hochbiegen. Dann ebenso auf der anderen Seite. Und voila – der Chip ist raus.

Schritt 2: Platine umbauen
Für den Umbau der Platine sind drei Schritte nötig. Hier ein Foto mit den nötigen Markierungen:
Hauptplatine_markiert

Im Einzelnen:
a) Ein Kabel von VCC zum Elko rechts neben dem SMD Chip ziehen. Dieses bindet den 5V Stabilisierungs-Elko direkt an die 5V Linie an.
b) Den 2,2kOhm SMD Kondensator ausbauen und gegen 1kOhm / 0,5W ersetzen.
c) Den 0,33 Mikro-Farad Kondensator gegen einen 0,47 Mikro-Farad Typ ersetzen. Dabei unbedingt einen 250V x2 Kondensator (Entstörkondensator) verwenden, damit die nötige Sapnnungsfestigkeit erreicht wird (Details u.a. bei Wikipedia unter Kondensatornetzteil).

Hintergrund des Umbaus:
Der originale Logikchip PT2272 braucht laut Datenblatt maximal 7mA. Das Relais im Betrieb ca 10mA. Insgesamt kommen im Originalzustand also also <20mA Gesamtlast zusammen.
Der Arduino zieht alleine schon 17-20mA. Schließt man den Arduino einfach so an die Platine an und passt die Vorwiderstände an, so bricht die Spannung zu stark ein, wenn das Relais anzieht. Die 5V werden dann nicht mehr erreicht. Das Relais zieht nicht sauber an, da auch im 24V Teil die Spannung nicht mehr passt. Und auch der 433MHz Empfänger läuft bei deutlicher Unterspannung nicht gut. Teilweise langt es auch für den Arduino nicht mehr.

Da Kondensatornetzteile effektiv Stromquellen sind, muss der Strom erhöht werden; von ca. 20mA (PT2272 + Relais) auf ca. 30mA (Arduino + Relais). Der Strom durch das Kondensatornetzteil wird im wesentlichen durch den großen Kondensator festgelegt. Soll der Strom um einen Faktor 1,5 hoch, muss der Kondensator entsprechend erhöht werden. Natürlich ist das so eine Näherungsrechnung; der Kondensator dominiert in dieser Schaltung wie in vielen Kondensatornetzteilen aber den Strom.
Nun muss noch der Widerstand vor der 5,1V SMD Zenerdiode angepasst werden. Hier habe ich 1kOhm ermittelt. Bei diesem Wert fällt die Spannung über der Zenerdiode unter Maximalbelastung (Relais an) auf 4,9V, also knapp unter die Zenerspannung. Damit ist der Arbeitspunkt der Zenerdiode gut eingestellt.
Über dem Widerstand fallen bei abgeschaltetem Relais ca. 20V ab. Somit fällt eine Verlustleistung von 400mW an (P=U^2/R). Es sollte also ein Widerstand mit mind. 0,5W Belastbarkeit verwendet werden und mit etwas Abstand zur Platine montiert werden. Der Widerstand wird etwas warm werden. Die Zenerdiode wird maximal mit 20mA bei 5,1V belastet. 100mW hält die verbaute SMD Zener Diode problemlos aus.

Hier noch ein Foto des alten und neuen Kondensators. Die Einbaugröße ist durchaus ein Thema. Es ist nicht viel Platz vorhanden. Der Kondensator sollte auch nicht zu nahe an das 433MHz Empfangsmodul kommen. Das E-Feld um den Kondensator stört den Empfang empfindlich.
Konsensator altKondensator neu

Schritt 3: Arduino einbauen
Wie im Bild markiert wird nun der Arduino angeschlossen – am besten vorher programmieren. Man kann übrigens den Aruino auch nach dem Einbau in die Dose programmieren. ABER bitte NIE bei eingesteckter Funksteckdose. Sonst ist vermutlich Euer PC gleich mit im Eimer.

Die Anschlüsse des Arduino habe ich wie folgt verwendet:
D2 – 433MHz RF
D3 – Lernmodus (pull to low)
D4 – Reset – alle gelernten Codes löschen (pull to low)
D5 – Relais beim Einstecken an/aus (pull to low for on)
D6 .. D12 – Abschalttimer setzen –> 128*2 Minuten –> bis zu 4h 16 min
D13 – Relais
VCC – 5V Versorgungsspannung
GND – Masse

Hier noch ein Bild eines provisorischen Anschlusses der Arduinos an die Hauptplatine. Bei der finalen Montage darauf achten, dass die Kabel nicht mit dem 230V Teil in Kontakt kommen und den Arduino gegen die Hauptplatine isolieren.
Arduino eingebaut

Schritt 4: Arduino programmieren
Der Sourcecode für die lernfähige Timer-Funksteckdose mit konfigurierbarem Anfangszustand hängt am Ende an. Diesen mit der Arduino IDE flashen.

Erster Test:
DIP 3 auf on (zieht D5 auf low) – alle anderen auf off. Nun die Funksteckdose einstecken. Eine halbe Sekunde nachdem Einstecken sollte das Relais anziehen, da wir den Einschaltzustand auf „eingeschaltet“ gesetzt haben.

Sender anlernen:
DIP 1 auf on – alles andere auf off und die Funksteckdose einstecken. Die Dose ist nun im Lernmodus. Mit einem Sender nun länger auf On oder Off drücken. Die Dose schaltet das Relais für eine Sekunde an und dann wieder aus, wenn der Code gelernt wurde. Bei den meisten Sendern muss nur das On oder das Off Kommando gelernt werden. Das jeweils andere Kommando wird errechnet. Wenn das nicht klappt, müssen beide Kommandos hintereinander gelernt werden.
Es können insgesamt 10 Kommandos / Sender angelernt werden. Im Lernmodus können alle Kommandos / Sender hintereinander angelernt werden.

Reset:
DIP 2 auf on – alles andere auf off und die Funksteckdose einstecken. Wieder ausstecken. Funksteckdose ist zurückgesetzt.

Timer:
DIP 4-10 auf aus –> keine Timer Funktion
Mit den DIPs 4-10 können bis zu 4h16min als Einschaltdauer gesetzt werden. Dabei ist
DIP 4 = 2 Min
DIP 5 = 4 Min
DIP 6 = 8 Min
DIP 7 = 16 Min
DIP 8 = 32 Min
DIP 9 = 64 Min
DIP 10 = 128 Min
Die DIPs können beliebig miteinander kombiniert werden (z.B. DIP 4+5 für 6 Minuten).

Zum Schluss noch ein Foto der fertigen Funksteckdose. Aus Platzgründen habe ich die Schaltung in ein anderes Gehäuse eingebaut.
Fertig

Ein Arduino mit Funkempfänger in einer Steckdose mit Relais ist eine flexible Plattform für viele Zwecke. Bin mal gespannt, ob das jemand aufgreift und für andere Zwecke einsetzt 🙂

Anhang: Source Code _433_timer_plug.ino

433MHz Empfänger für Arduino und Raspberry aus einer Baumarkt Funksteckdose

Es gibt eine Menge toller Projekte & Ideen für Arduinos und Raspberry Pis zum Thema 433MHz Empfänger und Sender. Man kann entsprechende Sende- und Empfagsmodule in speziellen Shops kaufen. Im Rahmen eines anderen Projekts mit Funksteckdosen bin ich zufällig darüber gestolpert, dass kompatible Funkmodule in typischen Baumarkt Funksteckdose verbaut sind.

Ich habe eine nutzlos herumliegende Elro Funksteckdose ausgeschlachtet. Dieser Dosentyp ist unter vielen Bezeichnungen im Handel und an dem roten 10-poligen DIP Schalter zur Codeeinstellung erkennbar. Die meisten günstigen Funksteckdosen basieren auf einem PT2272 Chipsatz. Sie dürften ähnlich aufgebaut sein und vermutlich auch brauchbare Empfängermodule enthalten.

Hier ist ein Foto einer Elro Funksteckdose von innen.
funksteckdose offen_

Mit einer roten Ellipse sind hier die drei Lötpunkte markiert, mit denen das 433 MHz Modul auf der Basisplatine befestigt ist. Hier noch einmal das Ganze von der anderen Seite inklusive Anschlussbelegung:

433 MHz Empfänger_

Das Empfängermodul läuft mit 5V. Der Datenausgang kann direkt an einen Arduino angeschlossen werden (typischerweise D2).

Lohnt sich das Ganze überhaupt? – Zunächst einmal schon, wenn man eine Funksteckdose unbenutzt herumliegen hat. Typische Sets mit 3 Funksteckdosen und einem Handsender sind zwischen 10 und 15 Euro im Baumarkt erhältlich. Für drei 433 MHz Empfänger und einen Sender ist das auch kein schlechter Deal. Alleine die Empfängermodule kosten im deutschen Versandhandel ca. 3-5 Euro pro Stück – typischerweise plus Versandkosten.

In einem Folgebeitrag werde ich demnächst zeigen, wie man aus einer solchen Funksteckdose mit Hilfe eines 3€ Arduino Clones eine lernfähige Funksteckdose mit Timer bauen kann.

Ein See unter unserer Miele W698 Waschmaschine

Vor ein ein paar Wochen meldete mir die Chefin, dass wir einen Wassersee unter unserer Miele Waschmaschine haben. Das ist bei einer Familie mit kleinen Kindern ein Problem mit Prio 1. Also habe ich abends mit der Fehlersuche begonnen und konnte das Problem zum Glück auch relativ schnell aus der Welt schaffen.
Zur Ehrenrettung von Miele möchte ich klar zum Ausdruck bringen, dass wir über eine Miele W698 Baujahr 1989 sprechen, die bisher ohne jedes Problem funktioniert hat und nach 25 Jahren und allen Wäschen von Kleinkinderkleidung ihr erstes Problem hat. Im Rahmen des Ersatzes der für das Problem verantwortlichen Laugenpumpe habe ich auch die Kohlebürsten und die Stoßdämpfer gewechselt. Die Details folgen hier für die Interessierten:

Die Maschine öffnen:
Wirklich super ist bei Miele die Möglichkeit die Maschine durch das lösen von 5 Schrauben an der Front zu öffnen und die komplette Front wie eine Tür aufzuklappen – natürlich nach dem Ziehen des Netzsteckers:
Maschine zu
Nach dem Lösen der 5 Schrauben muss dann noch die messingfarbene Feder hinter der Laugenpumpenklappe nach unten gedrückt werden:
Frontclip bei Laugenpumpe
Danach kann man die Front wegklappen und erhält freien Zugang zum Innenleben:
Maschine offen

Laugenpumpe ersetzen:
Nach dem Öffnen war ziemlich schnell klar, dass das Wasser von der Laugenpumpe kommt. Also muss die Laugenpumpe raus. Leider habe ich dazu kein Foto. Die Sache ist aber gut zu beschreiben. Die Wartungsklappe der sogenannten Fremdkörperfalle öffnen (das ist in der Betriebsanleitung beschrieben: Klappe links/unten öffnen, über den Schlauch das restliche Wasser ablassen und die Öffnung aufdrehen). Im Inneren der Fremdkörperfalle sitzen am Rand im Abstand von jeweils 90 Grad 4 Kreuzschlitzschrauben. In den entsprechenden Löchern sitzt etwas alte Lauge und Schmutz; man kann da aber einfach den Schraubenzieher durchstecken.
Nach dem Lösen der 4 Schrauben kann man die Laugenpumpe nach hinten abziehen. Noch die Steckverbindungen lösen und man kann die Laugenpumpe herausnehmen. Die vier Schrauben sind hier zum Orientierung nachträglich nochmal eingesetzt:
Laugenpumpe alt ausgebaut
Im Details sieht man hier die eigentliche Fehlerquelle. Der Wellendichtring (dunkel, Pfeil) ist undicht geworden (Pfeil) und hier tritt das Wasser/die Lauge aus und läuft nach unten (im Bild nach oben):
Laugenpumpe Undichtigkeit
Man könnte jetzt versuchen die Laugenpumpe zu demontieren und einen neuen passenden Wellendichtring zu bekommen. Es gibt dafür offenbar auch einen Reparatursatz von Miele der wohl um die 30-40€ liegt. Falls man bei einer Original Miele Laugenpumpe bleiben will, könnte sich das rechnen. Das Original Ersatzteil kostet bei Miele ca. 150€ (!). Ich habe mich für ein passendes Ersatzteil eines Drittherstellers entschieden. Dieses lies sich auf ebay einfach unter Abgabe der Miele Modellnummer für 25€ inkl. Versand finden.
Die neue Laugenpumpe passt mechanisch perfekt. Der Stromanschlussstecker passt allerdings nicht. Ich habe hier die Plastikummantelung des Steckers entfernt und so die Kabelschuhe freigelegt. Diese habe ich dann mit Schrumpfschlauch überzogen. Damit passen die Stecker. Die Polung ist übrigens egal. Bei der Laugenpumpe handelt es sich um einen Spaltmotor bei dem die Laufrichtung mechanisch definiert ist.
Hier ein Bild der neuen Laugenpumpe nach dem Einbau (von der Seite in der Maschine; vorne die Fremdkörperfalle; hinten das Lüfterrad):
Laugenpumpe neu eingebaut

Damit war die Maschine wieder funktionsfähig und dicht. Aber wo wir schon mal dran sind habe ich gleich noch die Stossdämpfer und die Kohlebürsten geprüft und getauscht.

Kohlebürsten tauschen:
Zunächst die Maschine wie oben beschrieben öffnen und den Netzstecker ausstecken. Der Motor ist dann rechts unter der Trommel. Nun die markierten 2 Torxschrauben lösen und die Verkleidung (inkl Steinwolle Dämmung) nach vorne abziehen:
Motor Position
Danach kann der Kohlebürstenhalter abgebaut werden; leider habe ich dazu kein Foto im montierten Zustand. Einfach die 4 Torxschrauben lösen, die nach dem Abnehmen der Verkleidung sichtbar sind. Und natürlich die Stecker (siehe Foto) abziehen.
Nach dem Lösen der 4 Schrauben kann man den Kohlebürstenhalter vorsichtig nach vorne herausziehen. Der ausgebaute Kohlebürstenhalter sieht so aus:
Buerstenplatte
Die Erkenntnis: Die Kohlen sind runter und müssen dringendst ersetzt werden. Wie man auf dem Foto sehen kann, reichen die Kohlen gerade noch in den inneren Bereich herein. Im Neuzustand sind die Kohlen ca. 3cm lang.
Es ist übrigens nicht ratsam darauf zu warten, dass der Motor aufgrund von zu kurzen Kohlen stehen bleibt. Häufig ist dann der Kollektor (= Kontakte auf Motor Achse) durch mangelnden Kontakt und daraus resultierenden Funkenflug in Mitleidenschaft gezogen und gegebenenfalls ist der Motor nicht reparabel.
Neue Kohlen gab es wieder über ebay für 14€ inkl Versand. Die Kohlen waren dann schnell gewechselt. Die H-förmigen Abdeckplatten vorsichtig abhebeln und die alten Motorkohlen entnehmen. Am hinteren Ende ist an der Kohle eine Litze mit Kabelschuh befestigt. Diesen ausstecken und die alte Kohle ist raus. Die neuen Kohlen in umgekehrter Reihenfolge einbauen. Dabei auf die richtige Position der Anschrägung der Kohlen achten.
Nun sind die neuen Kohlen zwar drin, aber wie bekommt man sie über den Kollektor geschoben? – Dazu muss man die Kohlen in die Halterung bis zum Anschlag einschieben. Dort rasten die Kohlen ein, so dass sie versenkt sind. Man kann den Bürstenhalter nun problemlos über den Kollektor schieben. Allerdings müssen die Kohlen nach der Montage wieder aus der Arretierung heraus. Dazu habe ich vor der Montage des Halters Zahnstocher von außen in die Metallhülsen um die Kohlen gesteckt. Dann habe ich den Halter wieder auf den Kollektor aufgeschoben. Dann konnte ich am Anschlag durch vorsichtigen Druck auf den Zahntocher die Bürsten aus der Arretierung schieben (und die Zahnstocher rausziehen :-)). Danach den Kollektor die letzten fehlenden Millimeter auf den Motor schieben.
Nun noch den Zusammenbau in umgekehrter Reihenfolge fortsetzen. Fertig.

Stossdämpfer ersetzen:
Beim Herumschrauben an der Maschine waren mir Folgendes aufgefallen:
1. Da sind Kratzer am Bullauge (siehe Foto)
Kratzer auf Bullauge
2. Am Beginn und Ende des Schleuderns „tanzt“ die Trommel zuviel und vermutlich stammen daher die Kratzer, falls die Trommel ab und zu anstößt.
3. Die Stoßdämpfer in der Maschine sind voller altem Fett.

Die Erkenntnis: Die Stoßdämpfer sind im Eimer und dürften es schon eine ganze Weile sein.
Ersatz gab es auch hier wieder per ebay: 15€ inkl Versand. Dafür gibt es zwar keine Stoßdämpfer mit Miele Aufdruck, aber dafür die exakt baugleichen Stoßdämpfer von Suspa, dem Zulieferers des Originalteils.
Die Trommel hängt im oberen Teil der Maschine an vier Federn. Unter der Trommel sitzen links und rechts zwei Stoßdämpfer. Nach dem Öffnen der Maschine sind diese von vorne zugänglich. Man braucht einen Steckschlüsselsatz mit 13er Nuss, Verlängerung und einem Kugelgelenk. Die Schrauben sitzen vom Werk aus recht fest. Man braucht Werkzeug mit einem ordentlichen Hebel.
Da die Stoßdämpfer keine tragende Funktion haben, können sie ohne weitere Maßnahmen ausgebaut und getauscht werden. Am besten fängt man mit dem rechten Stoßdämpfer an. Dieser ist frei zugänglich und ist gut um die Sache einmal zu üben:
Stossdaempfer alt eingebaut re
Danach kommt der rechte Stoßdämpfer an die Reihe. Der funktioniert genauso, wird aber etwas durch die Laugenpumpe verdeckt:
Stossdaempfer alt eingebaut li
Zum Austausch einfach die Mutter oben und unten lösen und entfernen. Danach die Schrauben nach hinten herausziehen und den neuen Dämpfer einsetzen. Dann die Schrauben wieder von hinten einstecken und die Muttern wieder festziehen. Übrigens sind obere und untere Schraube und Mutter gleich. Da kann man nichts verwechseln.
Die alten Stoßdämpfer hatten übrigens so gut wie keine Wirkung mehr. Hier hätte ein Ersatz nach 15 Jahren vermutlich auch nicht geschadet.

Fazit: Nach 25 Jahren waren die Laugenpumpe, die Motorkohlen und die Stoßdämpfer fällig. Für die Ersatzteile waren 54€ zu investieren. Jetzt läuft sie wieder wie neu und hoffentlich nochmal 10 Jahre.

P.S.: Hätte man die Reparatur über den Miele Service ausführen lassen, wäre die Maschine vermutlich ein wirtschaftlicher Totalschaden gewesen. Die Ersatzteile kosten dort insgesamt ca. 3-5 Mal soviel. Dazu wäre die Anfahrt und die Montage gekommen.

Merkwürdiges aus der installierten Basis von Netatmo

Hier geht es nochmal um Wetterstationen. Wie schon beschrieben haben wir eine Fineoffset WH3080 an einem Raspberry Pi im Netz. Über einen Zufall wurde ich nun von jemandem aus dem Ort auf meine Netatmo Wetterstation angesprochen. Merkwürdig – isch abe gar kein Auto äh Netatmo…
Meine Neugier war geweckt. Für diejenigen denen Netatmo nichts sagt: Das ist eine Wetterstation fürs iPad/Phone. Wäre eher nichts für mich, weil es ein zu geschlossenes System ist und vergleichsweise wenig Sensoren hat. Ich will hier aber gar keinen Produktvergleich oder sowas machen. Jedem das Seine und das Produkt ist bestimmt toll.
Zurück zu meiner nicht vorhandenen Netatmo Station: Es gibt diverse offene Netzwerke für private Wetterstationen (z.B. wunderground.com oder awekas.at). Netatmo betreibt eine eigene geschlossene Seite für die Netatmo Wetterstationen.

In den Infos dieser Karte wird klar gesagt: Jeder Eintrag ist eine Netatmo Station. Und tatsächlich gibt es genau am Ort meiner Wetterstation einen Eintrag auf der Netatmo Karte:

netatmo-kartenhilfe Karte Dormitz

Das wird ja immer merkwürdiger. Nun könnte es ja sein, dass vielleicht wirklich jemand im Umkreis noch eine solche Station besitzt und vielleicht den Ort etwas falsch angegeben hat.
Also machen wir doch mal ein Experiment: Was passiert eigentlich, wenn ich den Strahlungsschutz meines Außentemperatursensors komplett entferne und so massiv zu hohe Außentemperaturen erzeuge?
Nun die Antwort dürfte der Indizienlage entsprechen. Ich konnte den entsprechenden Netatmo Eintrag in die Höhe treiben.
Ich formuliere mal folgende Hypothese: Ich poste die Werte meiner Wetterstation auch auf den Wetterstationsnetzwerken von awekas.at und wunderground.com. Ohne Netatmo zu Nahe treten zu wollen oder etwas behaupten zu wollen: Könnte es sein, dass auf der Netatmo Community Karte Wetterstationen anzeigt werden, die nicht auf Netatmo basieren?
Soweit so gut. Also versuchen wir mal eine Gegenprobe: Ich klemme unsere Wetterstation für 12h ab. Jetzt sollte ja die Datenquelle versiegt sein. Das passiert aber nicht. Es kommen weiter alle 10 Minuten aktuelle Werte von der ominösen Wetterstation. Die Werte normalisieren sich aber jetzt auf das Niveau des Umfelds.

Die Interpretation überlasse ich dem geneigten Leser. Mir scheint da etwas sehr merkwürdig zu sein. Vielleicht gibt es ja Leser, die ähnliches beobachtet haben.

UPDATE November 2014:
Die mysteriöse Wetterstation ist verschwunden. Die Datenübertragung an awekas habe ich Anfang Oktober eingestellt.

Wetterstation Teil 2 – Strahlungsschutz für die WH3080

Im ersten Beitrag hatte ich ja über unsere Wetterstation und die damit Verbundenen „Eich-“ und Korrekturprozeduren geschrieben. Offen geblieben war das Thema Außentemperatur.

Das Problem ist, dass der Strahlungsschutz der Fineoffset WH3080 nicht viel taugt. Dies liest man über die WH1080, die den selben Strahlungsschutz hat. Für diejenigen, die sich fragen was ein Strahlungsschutz sei: Ein Strahlungsschutz sorgt dafür, dass ein Thermometer wirklich nur von der Lufttemperatur beeinflusst wird. Der Thermometer darf nicht von Sonneneinstrahlung auf das Thermometergehäuse erwärmt werden kann und damit zu hohe Werte anzeigt. Im Originalzustand kann dieser Effekt bei der WH3080 durchaus 5k und mehr betragen. Die Konstruktion ist im Originalzustand so:

original_

Oben sitzt das mit Plexiglas überzogene Modul, das die Sensoren für UV Index und solare Einstrahlung enthält. Und hier sitzt auch die Solarzelle, die den Akku der Außenstation lädt. Folglich muss das Ding zentral in die Sonne und nach Süden zeigen. Direkt darunter sitzt in einem kleinen Strahlungsschutz die Sensorik für die Außentemperatur und die Luftfeuchte.

Diese Konstruktion hat zwei Nachteile:
1. Der Thermometer kann nicht in einen Schattenbereich verlegt werden – sonst sind ja die Sensoren für UV und Einstrahlung wertlos. Und die Kabel sind hier arg kurz (sonst sind sie ja eher arg lang).
2. Das Solarmodul fängt über seine Fläche Energie ein und über die Gehäuseverbindung geht das direkt auf den Thermometer über.

Wie also raus aus dem Problem? – Wir bauen uns einen weißen Holzkasten. Dabei habe ich mich von einem Ansatz im awekas Forum inspririeren lassen (http://www.awekas.at/for2/index.php?page=Thread&threadID=12453).
16mm Fichtenholz und Farbe fand sich noch im Keller. Damit habe ich folgenden Kasten „übergestülpt“. Die Maße sind ca. 20x20cm für die Grundfläche und ca. 30cm Höhe.

mod2_ mod1_

Es ist übrigens wichtig, dass man das Solarmodul vom Thermometer/Feuchtemodul trennt. Darüber hinaus bildet sich unter dem Dach des Kastens eine warme Luftschicht. Der Thermometer sollte also nicht direkt unter dem Dach sitzen.

Mit dieser Adaption scheint der Strahlungsschutz ausreichend zu funktionieren. Vergleichsmessungen zur Temperatur im Schatten hinter dem Haus in ca. 1,5m Höhe und ca. 2 Meter von der Hauswand entfernt haben eine Differenz von unter 1 Grad ergeben. Das dürfte im Rahmen der Messgenauigkeit und Vergleichbarkeit der Werte an den unterschiedlichen Positionen ein gutes Ergebnis sein.
Die Werte passen jetzt auch gut zu den unter awekas.at, netatmo und wunderground.com einsehbaren benachbarten privaten Wetterstationen.

A propos netatmo: Könnte es sein, dass netatmo bei der installed base auf ihrer Community Karte irgendwie flunkert? – Einige zumindest merkwürdige Indizen schreibe ich im folgenden Beitrag zusammen.