Eine Wetterstation für das smart Home

Wir haben im Jahr 2014 ein Einfamilienhaus gebaut. Vielleicht berichte ich hier im später noch über den Verlauf des Baus… Jedenfalls durfte ich mit dem Bau auch meinem Spieltrieb freien Lauf lassen und habe ein Bus-System installiert. Zum Einsatz kam LCN, weil man das so schön vorrüsten kann und visualisiert und teilweise gesteuert wird über IP-Symcon auf einem Raspberry Pi. IP-Symcon hat den Vorteil, dass man auch andere Komponenten mit einbinden kann, die nicht direkt mit dem Bus-System verbunden sind und auch diese Komponenten mit zum Steuern irgendwelcher Sachen nehmen kann.

Nun hat es mich in der Vergangenheit immer gestört, dass bei unserer Wetterstation ständig irgendwas nicht funktioniert hat. Mal ist der Außensensor abgesoffen, mal waren die Batterien der Station leer und außerdem ist so eine Station im Wohnzimmer sinnlos, wenn man früh im Schlafzimmer steht, sich anziehen und dazu wissen will, wie kalt es draußen ist. Reicht ein T-Shirt und kurze Hosen, oder muss es doch der Rollkragenpullover und die lange Hose sein?

Außerdem sind Wetterdaten für so eine Haussteuerung auch ganz sinnvoll. Man könnte z.B. die Rollläden nicht nur stur zeitgesteuert verfahren, sondern auch noch Temperatur und Sonneneinstrahlung berücksichtigen und somit z.B. im Sommer ein Aufheizen der Räume automatisch verhindern. Nun gibt es viele Wetterdaten, die man sammeln kann, nur was ist sinnvoll und kann weiter verwertet werden?

  • (Außen-) Temperatur – wenn es kalt ist und die Sonne scheint, bleiben die Rollläden oben, damit man nicht so viel heizen muss.
  • rel. Luftfeuchtigkeit – kommt bald Regen, oder muss ich den Garten bewässern?
  • Luftdruck – um auf evtl. bevorstehende Wetteränderungen zu schließen
  • Windrichtung, Windgeschwindigkeit – Rollläden bei Sturm schließen, damit die Fenster heil bleiben?
  • Sonneneinstrahlung (UV-Index) – für die Rollladensteuerung (wenn es bewölkt ist, muss ich die Rollläden nicht runterfahren)
  • Regenmenge (gesamt, pro Stunde) – Sinnvoll, um halbwegs ausrechnen zu können, wieviel Wasser neu in der Zisterne dazugekommen ist.
  • Blitze, Entfernung – wenn ein Gewitter aufzieht, sollte man evtl. die Antennen rausziehen…

Es gibt sicher noch Andere interessante Werte, aber das sind im Wesentlichen die, auf die es mir ankommt.

Weil ich wenig Zeit habe, hatte ich schon lange mit einer Kauflösung geliebäugelt, die ich dann einfach nur noch an die Haussteuerung anbinden muss. Es gibt zwar Wettersensoren von Issendorff, die direkt an den LCN angebunden werden können, aber die Preise sind jenseits von allem, was ich bereit war, dafür auszugeben und der Funktionsumfang doch sehr gering. Andererseits gibt es Stationen, die über USB oder RS232 an einen PC angeschlossen werden können. Warum also nicht so etwas nehmen und ein Plugin für IP-Symcon schreiben? Vielleicht hat das auch schon mal jemand gemacht? Aber eigentlich braucht man doch das Anzeigeteil davon gar nicht, wenn man den Außensensor, der ja eh über Funk angebunden ist, gleich direkt abfragt…

Ich habe also immer wieder mal nach preiswerten Wetterstationen mit PC-Anbindung gesucht und bin dabei auf ein Ersatzteil für die Ventus W266 gestoßen. Bei Reichelt gab es den Außensensor mit der Nummer W136 als Ersatzteil recht preiswert zu kaufen. Was man an Funktionsumfang für sein Geld bekommt ist schon enorm. Bis auf Luftdruck deckt es komplett die oben angegebene Liste ab und ist dabei noch sehr schön kompakt.

In der Vergangenheit hatte ich schon mal irgendwo einen Beitrag gelesen, wo jemand den Funk-Sensor seiner Wetterstation direkt empfangen und die Werte ausgewertet hat. Also habe ich gedacht, das muss doch auch mit der Ventus-Station gehen. Auf meiner Suche nach mehr Informationen bin ich zuerst bei Mikrocontroller.net fündig geworden. Das sah ja schon mal sehr vielversprechend aus. Die weitere Suche führte mich ins FHEM-Forum und BINGO, genau das wollte ich auch machen. Mit ESPEasy hatte ich schon rumgespielt, also schnell ein RFM69HCW-Modul bei Pollin bestellt und als das dann geliefert wurde, die Schaltung auf dem Steckbrett aufgebaut. Damit war es jedoch nicht getan. Man musste das experimentelle Plugin ins ESPEasy einkompilieren und dann das Ganze auf das ESP-Modul spielen. Ich habe mir also die Entwicklungsumgebung laut Wiki installiert, die Quellen heruntergeladen, alles zusammengebaut, wie es beschrieben war und… lief nicht. 🙁
Dank der Hilfe aus dem FHEM-Forum bekam ich eine fertig kompilierte Version, die dann auch das tat, was sie soll. Ich hab dann zusätzlich noch ein BMP280-Breakout-Board angeschlossen, damit ich den Luftdruck bekomme.

Da dann endlich alles auf dem Steckbrett lief, dachte ich, dass es doch schön wäre, alles schön kompakt auf eine Leiterplatte zu packen und diese dann samt Gehäuse irgendwo auf dem Dachboden zu deponieren. Der Dachboden ist nicht isoliert und so ist der Luftdruck dort genau so, wie außerhalb des Hauses. Im Haus kann es bei geschlossenem Fenster und laufender Dunstabzugshaube schon mal starken Unterduck geben… Außerdem ist dort die Entfernung zum Sensor nicht so groß, so dass es auch keine Empfangsprobleme geben sollte.
Der Schaltplan und die Leiterplattenzeichnung werden hier noch als Bilder eingefügt und die Eagle-Dateien für die Leiterplatte gibt es dann auch dazu als Download…

Nachdem alles auf Leiterplatte gebracht wurde (ESP12E-Modul hatte ich hier liegen), machte ich mich daran, es in meine Hausautomatisierung zu integrieren. Ich hatte hier im IP-Symcon-Forum schon gelesen, dass einige Leute diverse Sensoren über ESPEasy an IP-Symcon angebunden haben. Also sollte das doch mit der Wetterstation kein Problem sein. Dank der vielen Beispiele im oben verlinkten Forenbeitrag war es das auch nicht und nach ein paar Stunden Arbeit hatte ich dann auch schon meine Wetterdaten zur Einsicht im IP-Symcon zur Verfügung.

 <?

//IPS_LogMessage("Sender ", $_IPS['SENDER']);

if ($_IPS['SENDER'] == 'RegisterVariable'){
$data = $_IPS['VALUE'];

$Prefix1 = "&idx=";                                    // damit fängt der Datensatz an
$Suffix1 = "&";
$Prefix2 = "&svalue=";                                    // damit fängt der Datensatz an
$Suffix2 = "HTTP/1.1";
$Prefix3 = "&switchcmd=";                                    // damit fängt der Datensatz an
$Suffix3 = "HTTP/1.1";

//$Ende1nachZeichen = 2;                                       // und ist xx Zeichen lang
$AnfangID = strlen($Prefix1)+(strpos($_IPS['VALUE'], $Prefix1));
$EndeID = strpos($_IPS['VALUE'], $Suffix1, $AnfangID+1);
$ID = substr($_IPS['VALUE'], $AnfangID, $EndeID-$AnfangID);

$AnfangValue = strlen($Prefix2)+(strpos($_IPS['VALUE'], $Prefix2));
$EndeValue = strpos($_IPS['VALUE'], $Suffix2, $AnfangValue);
$Value = substr($_IPS['VALUE'], $AnfangValue, $EndeValue-$AnfangValue-1);

$AnfangSw = strlen($Prefix3)+(strpos($_IPS['VALUE'], $Prefix3));
$EndeSw = strpos($_IPS['VALUE'], $Suffix3, $AnfangSw);
$Switch = substr($_IPS['VALUE'], $AnfangSw, $EndeSw-$AnfangSw-1);
//IPS_LogMessage("Switch roh: ", $Switch);

    if($Switch == "On"){
      $Switch = true;
      }else{
      $Switch = false;
      }

//IPS_LogMessage("Data rin: ", $data);
//IPS_LogMessage("AnfangID: ", $AnfangID);
//IPS_LogMessage("EndeID: ", $EndeID);
//IPS_LogMessage("EndeValue: ", $EndeValue);
//IPS_LogMessage("IDx: ", $ID);
//IPS_LogMessage("Value: ", $Value);
//IPS_LogMessage("Switch: ", $Switch);


switch ($ID) {
            case "1":
             $aValue=explode(";", $Value);
             SetValueFloat(41366 /*[Wetter\BMP-Temperatur]*/, $aValue[0]);
			 SetValueFloat(12576 /*[Wetter\Luftdruck]*/, $aValue[3]);
         break;
            case "2":
             $aValue=explode(";", $Value);
             SetValueFloat(10696 /*[Wetter\Temperatur]*/, $aValue[0]);
             SetValueFloat(27043 /*[Wetter\rel. Luftfeuchte]*/, $aValue[1]);
         break;
            case "3":
             $aValue=explode(";", $Value);
             SetValueFloat(39189 /*[Wetter\Windrichtung]*/, $aValue[0]);
             SetValueFloat(45727 /*[Wetter\Windgeschwindigkeit durchschn.]*/, $aValue[1]);
             SetValueFloat(35820 /*[Wetter\Windgeschwindigkeit Böen]*/, $aValue[2]);
         break;
            case "4":
             $aValue=explode(";", $Value);
             SetValueFloat(31118 /*[Wetter\Regen Total]*/, $aValue[0]);
             SetValueFloat(22490 /*[Wetter\Regen letzte Stunde]*/, $aValue[1]);
         break;
            case "5":
             $aValue=explode(";", $Value);
             SetValue(41048 /*[Wetter\UV-Index]*/, $aValue[0]);
         break;
            case "6":
             $aValue=explode(";", $Value);
             SetValueFloat(39144 /*[Wetter\Blitze total]*/, $aValue[0]);
             SetValueFloat(53774 /*[Wetter\Blitze letzte 5min]*/, $aValue[1]);
             SetValueFloat(11046 /*[Wetter\Blitze Entfernung]*/, $aValue[2]);
         break;
            case "7":
             $aValue=explode(";", $Value);
             SetValue(57964 /*[Wetter\Batterie]*/, $aValue[0]);
         break;
    }
}

?> 

Weitere Screenshots und Hinweise dazu folgen…
Die nächste Stufe wird jetzt die Steuerung der Rollläden entsprechend der vorhandenen Daten durchzuführen, aber das ist dann eine andere Geschichte…

 

 

MiniVNA (Nachbau)

Wenn man HF-Schaltungen bastelt, braucht man auch ein paar Messmittel. Beim Bau des Pic-A-Star brauchte ich z.B. etwas, um die Filter auszumessen. Ich hatte bei einem Fieldday den miniVNA gesehen und fand den ganz interessant. Der Funktionsumfang dieses kleinen Gerätes ist enorm. Ich musste einfach sowas haben. Obwohl der Preis dafür sicherlich gerechtfertigt ist, sprengte er mein Budget. Da Schaltplan und Firmware jedoch frei verfügbar waren (Yahoo-Gruppe), habe ich überlegt, das Gerät einfach selbst nachzubauen. Also habe ich angefangen, die Bauelemente zu besorgen, nicht ahnend, dass das größte Problem noch vor mir lag: die Platine. Da Schaltplan und Firmware öffentlich zugänglich waren, hatte ich gehofft, auch an ein Leiterbild oder gar eine unbestückte Platine zu kommen. Meine Anfragen bei Davide (IW3HEV), miniRadioSolutions, WiMo und in der Yahoo-Gruppe waren alle erfolglos. Ich habe erfahren, dass es früher mal unbestückte Platinen gab, die aber alle verkauft wurden und jetzt nur noch das Komplettgerät angeboten wird. Aber ich bekam von Gerd Kötter (DO1MGK s.k.) ein paar Fotos einer unbestückten Platine. Immerhin ein Anfang, musste man das ganze HF-Zeugs wenigstens nicht selbst komplett neu routen…

Bis es dann soweit war, dass ich eigene Platinen in der Hand hielt, gingen ein paar Tage ins Land. In der Firma half mir ein Kollege beim Neuentwurf in Eagle CAD und da ich nun schon ein schönes Layout hatte, ließ ich ein paar Platinen kommerziell fertigen. Meine Platine ist keine 100%-ige Kopie der Original-Platine des MiniVNA, aber sehr viele Unterschiede gibt es nicht. Die Bauelementeplatzierung ist die Gleiche, ich habe allerdings andere BNC-Buchsen vorgesehen, die auf der Platine festgelötet sind. Auch die fette USB-B-Buchse war mir zu groß, dafür wurde eine kleinere mini-B-Buchse eingesetzt. Und anstelle des vorgesehenen Umschalters für die Schnittstelle, setzte ich zwei einzelne Mini-Umschalter ein. Im Folgenden mal zwei Bilder der fertig aufgebauten Platine.

miniVNA (Nachbau) von unten

Ansicht von unten

miniVNA (Nachbau) von oben

Ansicht von oben

Nachdem alles bestückt war, wurde der Controller programmiert und das Gerät in Betrieb genommen. Zumindest der digitale Teil funktionierte auf Anhieb. Im HF-Teil hatte ich noch ein paar Probleme, weil Aufgrund verschiedener, in der Bastelkiste bis dahin nicht vorhandener Widerstandswerte, einfach „irgendwas in der Nähe“ eingesetzt wurde. Allerdings stimmte damit die Impedanz an einigen Stellen nicht – hier musste nachgebessert werden. Nach Beschaffung von Widerständen mit den richtigen Werten und Beseitigung eines Bestückungsfehlers funktioniert mein miniVNA-Nachbau jedoch wie das Original.

Inzwischen sind insgesamt 10 dieser Nachbauten in Betrieb und soweit ich weiß, funktionieren alle ohne Probleme.

Ich habe leider keine Platinen von meinem Selbstbauprojekt mehr übrig. Und nein, aus rechtlichen Gründen werde ich auch definitv nicht die Eagle-Daten für die Platine herausgeben. Nachfragen ist zwecklos!

Amateurfunk

Mein Name ist Helge Tefs.

Seit Juni 1991 bin ich lizensierter Funkamateur mit dem Rufzeichen DG0NF.

Ich bin Mitglied im DARC, Ortsverband V30 (Wolgast/Insel Usedom).

Ich wohne in Freital / Sachsen / Deutschland. Mein QTH-Locator ist JO61TA.

Im Moment bin ich von zu Hause aus nicht aktiv, da ich nach meinem Umzug ins eigene Haus noch keine Zeit und Gelegenheit hatte, brauchbare Antennen aufzubauen. Geplant ist das zwar, aber aktuell sind andere Projekte wichtiger.

Seit 2005 habe ich fast durchgehend am ILLW teilgenommen und zusammen mit OMs aus meinem OV den Leuchtturm auf der Greifswalder Oie aktiviert. Bilder von diesen Aktivitäten findet man auf der Homepage von DF0WLG (Link siehe oben).

Ich habe ein paar Sachen für meine Funkerei selbst gebaut. Entsprechende Informationen dazu sind hier auf diversen Seiten zu finden, bzw. werden noch eingepflegt.

Warum ich gerne bastel

Schon als Kind habe ich mich gern mit technischen Dingen befasst. Meinen Forscherdrang, der meist in zerlegten technischen Geräten endete, unterstützten meine Eltern recht früh mit einem Elektrobaukasten, in dem ein paar Lämpchen, ein paar Schalter und Taster (u.A. eine Morsetaste), ein Summer, eine Klingel, ein Batteriehalter und ein paar Meter Draht enthalten waren. Dazu ein Brett, ein Hammer und ein paar Nägel. Das reichte aus, um mich erstmal von anderen Geräten fern zu halten und erste eigene Schaltungen aufzubauen. Auch wenn es sich dabei nur um eine Ein/Aus-Schaltung für eine Lampe, einen Morsesummer oder eine Türklingelschaltung handelte, konnte ich schon mal die Grundlagen bezüglich einfacher Stromkreise lernen. Nach und nach kamen ein paar neue Bauteile (Motor, Wechselschalter) hinzu, um auch etwas kompliziertere Dinge zu bauen.

Zwischenzeitlich hatte ich auch ein paar Baukästen der Reihe „VERO Construc“ erhalten. Mit großen Holzbauteilen, Plastikwürfeln und -Schrauben, Rädern, Zahnrädern, einem Motor, einem Batteriekasten, ein paar Lämpchen etc. ließen sich tolle Sachen bauen. Sogar eine automatische Steuerung mittels Lochstreifenstanzer und -Leser (3Bit) ließ sich realisieren. Für eine einfache Ampelschaltung reichte das voll aus. Meine erste Berührung mit der digitalen Welt.

Ein paar Jahre später, als einfache Schaltungen nicht mehr ausreichten, erhielt ich einen Elektronikbaukasten. Wer aus der DDR stammt, kennt vielleicht die Reihe „Polytronic ABC„. Damit konnte man viele schöne Dinge bauen. Eine Lichtschranke mit angeschlossenem Summer z.B., die einen warnt, wenn die Eltern über den Flur kommen, damit man genug Zeit hat, die Taschenlampe auszumachen und das Buch beiseite zu legen. Oder einen Detektorempfänger, mit dem es möglich war, ein paar Kurzwellensender zu empfangen. Den konnte man sogar zum Transistor-Audion erweitern, was erstaunlich gut funktionierte…

Mich faszinierte es schon immer, etwas zu erschaffen. Das ging dann weiter, über den Besuch der Arbeitsgemeinschaften Elektronik und Computer, Erwerb der Amateurfunklizenz, Studium der Elektrotechnik/Medizintechnik und letztendlich landete ich in der Entwicklungsabteilung eines kleinen, mittelständischen Unternehmens, in dem ich als Elektronikentwickler meine Hobbies zum Beruf gemacht habe. Allein schon, um mit dem technischen Fortschritt mitzuhalten, ist es notwendig, immer wieder mit aktuellen ICs zu experimentieren und immer neue Schaltungen zu entwickeln, zu testen, zu programmieren. Inzwischen nutze ich meine privaten Basteleien auch, um mich für meine Arbeit in der Firma weiterzubilden.

Zeitprobleme…

Da nimmt man sich vor, einer alten Webseite neues Leben einzuhauchen und dann?  Nix.

Zuerst war Sommer. Es gab genug im Garten zu tun, das schöne Wetter musste ausgenutzt werden, so lange es ging. „Im Winter, wenn das Wetter schlecht ist, dann kann man auch was an der Webseite machen…“ (…und an der Amateurfunkanlage bauen, restliche Malerarbeiten durchführen, restliche Lampen anbauen, Garage fertig verkabeln, Hausbus-System überarbeiten, ein wenig Basteln…)

Der Winter kam, das Wetter wurde schlechter und was passierte? OK, wir haben gemalert und das Gästezimmer halbwegs bewohnbar gemacht, ein paar Lampen haben wir auch angebaut. Trotzdem bleibt über die sonst anfallenden Arbeiten wenig Zeit und dann hat man u.U. auch keine Lust mehr, allein im Arbeitszimmer am Computer zu sitzen.

Ich habe mir trotzdem verschiedene Gedanken über die Webseite und deren Zukunft gemacht. Ich will definitiv einige der alten Inhalte erhalten und hier wieder anzeigen lassen, wenn auch weiterhin veraltet, so aber vielleicht doch noch lesenswert. Meine eigenständige Amateurfunkseite (http://www.dg0nf.de) werde ich wohl aufgeben und mit in diese Seite integrieren. Über die Schlüsselwörter kann man ja trotzdem recht schnell auf die Inhalte zugreifen.

Top