====== Stromzähler AS 1440 auslesen mit iConnect ====== Diese Anleitung beschreibt eine eigene Loesung eines Nutzers, ohne Benutzung der Software von volkszaehler.org Ich möchte hier mein Projekt zum Auslesen zweier [[hardware:channels:meters:power:edl-ehz:elster_as1440|Elster AS 1440]] vorstellen. Ein Zähler zeichnet den Ertrag einer Solaranlage auf, der andere zeichnet den Verbrauch und den tatsächlich exportierten Ertrag auf. Benutzt hab ich dazu zwei [[hardware:controllers:ir-schreib-lesekopf|IR-Schreib-Leseköpfe]] und einen [[http://go.iomega.com/de/products/network-storage-desktop/wireless-data-station/network-hard-drive-iconnect/?partner=4710|iConnect von Iomega]]. Den iConnect hab ich benutzt, weil er 4 USB-Schnittstellen und WLAN hat und man ihn ohne Hardwareänderungen benutzen kann. Zudem kostet er nur ca. 50€ (Stand März 2012). ===== Konzept ===== Ich möchte beide Zähler auslesen die Einzelwerte in Dateien speichern. Dazu benutze ich ein kleines C-Programm. Per bash-Script aktualisiere ich dann statische html Seiten. Die Seiten hab ich vorher erstellt und mit speziellen Kommentaren versehen. Die Kommentare werden dann durch die Daten ersetzt. Danach kopiere ich die Seiten per FTP auf meine Webseite. Diese kann überall gehostet sein. Mir war wichtig den Webserver nicht selber zu hosten um kein Loch in meine Firewall bohren zu müssen. ===== Iomega iConnect ===== Der iConnect muss zur Zusammenarbeit überredet werden, da zwar schon ein Linux drauf ist, aber nur ein sehr rudimentäres. Unter [[http://www.congenio.de/infos/iconnect.html|www.congenio.de]] kann man sich ein fertiges Image für ein Debian herunterladen. Hier ist auch beschrieben wie man den iConnect von diesem Image (auf einem USB-Stick) startet. Der Vorteil dieser Methode: Wenn man den USB-Stick nicht benutzt, wird wieder von der originalen Firmware gestartet. Die einzige Änderung im iConnect ist der Bootloader, der so angepasst wird, dass er alternativ von unserem Stick bootet. Hat man das Debian am Laufen, kann man sich per PuttY o.ä. auf den iConnect verbinden. ===== Die Webseite ===== Wie in der Einleitung beschrieben wollte ich statisches HTML benutzen um Serverunabhängig zu sein. Da ich die Seiten von mir aus hochlade ist es egal wo die Seite gehostet wird. Ich habe 3 Seiten: - Eine Tagesdatei, die alle 15 min. aktualisiert wird. - Eine Monatsdatei die einmal am Tagesende aktualisiert wird. Hier stehen die Tagessummen für den laufenden Monat. - Eine Historiendatei in der alle Monatsdaten verknüpft sind. Diese wird einmal im Monat aktualisiert. Die Daten werden jeweils in einer Tabelle dargestellt. Als nett Spielerei habe ich von [[http://g.raphaeljs.com]] eine kleine Javascript Bibliothek benutzt um die Tages und Monatswerte grafisch darzustellen. Die blaue Kurve beschreibt die Einspeisung der Solaranlage, die rote Kurve beschreibt den momentanen Verbrauch unseres Hauses. {{:hardware:channels:meters:power:as1440auficonnect:beispiel1.jpg?200|}} Darunter ist die Tabelle mit den Einzelwerten zu sehen. ===== Die Scripte ===== Wie schon beschrieben wird das Ganze mit Bash-Scripten gesteuert. Dazu lasse ich via crontab alle 15 min das Script SoSa1.sh laufen. Dieses startet das Auslesen der Schnittstellen via nohup im Hintergrund und wartet 2 min. Danach werden die erzeugten Logfiles ausgelesen und die interessanten Werte in die index.html geschrieben. Abends am gleichen Tag läuft das Script SoSa1Tag.sh. Dieses rechnet aus den Daten vom Vortag und den letzten geschriebenen Werten die Tageszusammenfassung und schreibt diese in die monat.html. Am Monatsersten früh läuft das dritte Script SoSa1Monat.sh. Das schreibt die Daten in die Jahr.html. Am Ende der jeweiligen Scripte werden die html Dateien via FTP versendet (siehe FTPLogin*). Hier nun alle Scripte, das Programm im Quellcode und compiliert und ein paar Beispieldaten: {{:hardware:channels:meters:power:as1440auficonnect:projekt.zip|}}