Wetterstation

Hallo zusammen,

ich habe die Wetterstation jetzt auch. Ist wirklich leicht zu installieren mit den Tipps von euch hier im Forum. Hat schon jemand Scripte gebastelt, die einer, der wenig Ahnung von Scripten hat, auch anwenden darf und kann? Ich würde mich freuen. (z.B. die Geschichte mit den Himmelrichtungen)
Dann muss ich nur noch sehen wie ich ein paar Verläufe in den Designer bekomme, so dass meine bessere Hälfte auch alles auf einem Blick auf dem TouchScreen sieht und nutzen kann.

Grüße
Matthias

<?php
    // -----------------------------------------------------------
    // ------ Formelsammlung Wetter
    // -----------------------------------------------------------

    // ------ QNH: Luftdruckangabe auf Meereshöhe nach einer Standardatmosphäre (nach ICAO) reduziert (Flughäfen, CWOP-Stationen, APRS)
    // nach http://dk0te.ba-ravensburg.de/cgi-bin/navi?m=WX_BAROMETER
    function getQNH($Temperature, $AirPressureAbsolute, $Altitude)
    {
        $g_n = 9.80665;                // Erdbeschleunigung (m/s^2)
        $gam = 0.0065;                // Temperaturabnahme in K pro geopotentiellen Metern (K/gpm)
        $R = 287.06;                // Gaskonstante für trockene Luft (R = R_0 / M)
        $M = 0.0289644;                // Molare Masse trockener Luft (J/kgK)
        $R_0 = 8.314472;            // allgemeine Gaskonstante (J/molK)
        $T_0 = 273.15;                // Umrechnung von °C in K

        $p = $AirPressureAbsolute * pow( (($gam * $Altitude + $Temperature + $T_0) / ($Temperature + $T_0)), ($g_n / ($R * $gam)) );

        return $p;
    }

    // ------ QFF: Luftdruckangabe auf Meereshöhe umgerechnet (DWD)
    // nach http://dk0te.ba-ravensburg.de/cgi-bin/navi?m=WX_BAROMETER
    function getQFF($Temperature, $AirPressureAbsolute, $Altitude, $Humidity)
    {
        $g_n = 9.80665;                // Erdbeschleunigung (m/s^2)
        $gam = 0.0065;                // Temperaturabnahme in K pro geopotentiellen Metern (K/gpm)
        $R = 287.06;                // Gaskonstante für trockene Luft (R = R_0 / M)
        $M = 0.0289644;                // Molare Masse trockener Luft (J/kgK)
        $R_0 = 8.314472;            // allgemeine Gaskonstante (J/molK)
        $T_0 = 273.15;                // Umrechnung von °C in K
        $C = 0.11;                // DWD-Beiwert für die Berücksichtigung der Luftfeuchte

        $E_0 = 6.11213;                // (hPa)
        $f_rel = $Humidity / 100;        // relative Luftfeuchte (0-1.0)
        // momentaner Stationsdampfdruck (hPa)
        $e_d = $f_rel * $E_0 * exp((17.5043 * $Temperature) / (241.2 + $Temperature));

        $p = $AirPressureAbsolute * exp(($g_n * $Altitude) / ($R * ($Temperature + $T_0 + $C * $e_d + (($gam * $Altitude) / 2))));

        return $p;
    }

    // ------ Relativer Luftdruck
    // nach barometrischer Höhenformel von Wikipedia
    function getRelativeAirPressure($AirPressureAbsolute, $Temperature, $Altitude)
    {
        $g0 = 9.80665;    // Normwert der Fallbeschleunigung
        $R = 287.05;    // Gaskonstante trockener Luft
        $T = 273.15;    // 0°C in Kelvin
        $Ch = 0.12;    // Beiwert zu E
        $a = 0.0065;    // vertikaler Temperaturgradient

        $E = 0;
        if($Temperature < 9.1)
        {
            $E = 5.6402 * (-0.0916 + exp(0.06 * $Temperature));                // Dampfdruck des Wasserdampfanteils bei t < 9.1°C
        }
        else
        {
            $E = 18.2194 * (1.0463 - exp(-0.0666 * $Temperature));                // Dampfdruck des Wasserdampfanteils bei t >= 9.1°C
        }

        $xp = $Altitude * $g0 / ($R * ($T + $Temperature + $Ch * $E + $a * $Altitude / 2));    // Exponent für Formel
        $p0 = $AirPressureAbsolute * exp($xp);                            // Formel für den NN-bezogenen Luftdruck

        return $p0;
    }

    // ------ Windchill
    // nach http://www.msc.ec.gc.ca/education/windchill/science_equations_e.cfm
    function getWindChill($WindSpeed, $Temperature)
    {
        $WindChill = (($WindSpeed / 3.6) > 1.4) ? (13.12 + (0.6215 * $Temperature) - (11.37 * pow($WindSpeed, 0.16)) + (0.3965 * $Temperature * pow($WindSpeed, 0.16))) : $Temperature;

        return $WindChill;
    }

    // ------ Taupunkt
    // nach http://www.wettermail.de/wetter/feuchte.html
    function getDewPoint($Temperature, $Humidity)
    {
        $a = 0; $b = 0;
        if($Temperature >= 0) { $a = 7.5; $b = 237.3; }
        else { $a = 7.6; $b = 240.7; }

        $sdd = 6.1078 * pow(10.0, (($a * $Temperature) / ($b + $Temperature)));        // Sättigungsdampfdruck
        $dd = ($Humidity / 100.0) * $sdd;                        // Dampfdruck
        $v = 0;
        if($dd)
        {
            $v = log10(($dd/6.1078));
        }
        $td = ($b * $v) / ($a - $v);                            // Taupunkt
    
        return $td;
    }    

    // ------ Windstärke in Bft
    // nach Tabelle von Wikipedia
    function getWindStrength($WindSpeed)
    {
        $WindSpeedMS = $WindSpeed / 3.6;
        $WindStrengths = array(0.3, 1.6, 3.4, 5.5, 8.0, 10.8, 13.9, 17.2, 20.8, 24.5, 28.5, 32.7);
        $WindStrength = 0;
        for($i = 0; $i < count($WindStrengths); $i++)
        {
            if($WindSpeedMS < $WindStrengths[$i]) break;
            $WindStrength++;
        }
        return $WindStrength;
    }

    // ------ Windstärkenbeschreibung
    function getWindStrengthDescription($WindStrength)
    {
        $WindStrengthDescriptions = array("Windstille", "leiser Zug", "leichte Brise", "schwache Brise", "mäßige Brise", "frische Brise",
            "starker Wind", "steifer Wind", "stürmischer Wind", "Sturm", "schwerer Sturm", "orkanartiger Sturm", "Orkan");

        return $WindStrengthDescriptions[$WindStrength];
    }

    // ------ Windrichtungsname
    function getWindDirectionName($WindDirection)
    {
        $WindDirectionNames = array("N", "NNO", "NO", "ONO", "O", "OSO", "SO", "SSO", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW");
        $WindDirectionName = $WindDirectionNames[(int)(round($WindDirection / 22.5))];

        return $WindDirectionName;
    }
?>

Hallo Horst,

vielen Dank für die Scripte! Dass Du die auch mit Quellen ausgestattet hast finde ich klasse!

Leider muss ich jetzt den PHP-Anfänger raus hängen lassen. Würde mich freuen, wenn mir jemand helfen könnte:

  1. Wie spreche ich diese Funktionen nun an? Stehen die in jedem Script zur Verfügung? [z.B. getWindStrength(); ]

  2. Die Variablen die in den Funktionen verwendet werden muss ich am Anfang des Scriptes vermutlich erst zur Verfügung stellen ,oder [z.B. $Temperature = getValueFloat(12345); ] ?

  3. Die Ergebnisse wie z.B. $WindStrength muss ich zum Schluss wieder in eine Variable schreiben [z.B. SetValueInteger(12333, $WindStrength); ], oder? Sonst kann ich sie nicht im Dashboard anzeigen oder im DUG-Tool aufzeichnen lassen, oder?

Nun habe ich seit heute morgen noch ein technisches Problem:
Die Außentemperatur zeigt 23,2 an obwohl gefühlt und mit anderem Gerät nachgemessen <18°C sind. Ein Reset und neu verbinden hat nichts gebracht.
Was kann ich da noch machen (außer zurück schicken?) Ist das sonst schon jemandem passiert?

Grüße
Matthias

  1. Skript abspeichern und per include/require (siehe PHP-Doku auf PHP: Hypertext Preprocessor) immer da eingeben, wo Du die Funktionen brauchst.

  2. jop.

  3. auch jop.

Deine Temperaturen können bei direkter Sonnenbestrahlung des Sensors schon mal ordentlich aus der Reihe tanzen. Daher sollte der Sensor im Schatten oder in einer Wetterhütte aufgebaut werden. Du kannst Dir auch eine bessere Abdeckung mit mehr Luftstrom und eventuell aktiver Belüftung bauen, damit die Temperaturen wieder stimmen.

Mit ganz viel Geduld habe ich den Fehler gefunden…

Bei dieser klasse Wetterstation muss man ZWEI Mal einen Temperatur- /Feuchtesensor finden! Denn dann hat man

  1. Außentemperatur, feuchtigkeit und
  2. die Innentemperatur und -feuchtigkeit, da in der Basisstation auch Sensoren versteckt sind. So einfach kann es sein… autsch.

Grüße
Matthias

Du bist mein Held! Ich wollte die Wetterstation schon zurück schicken. :rolleyes:

Alos, mir passierts immer wieder mal, das ich sensoren verliere … (bzw die basisstation findet die nicht mehr)

Sogar den Poolsensor hat er verloren, der Poolsensor zeigt zwar selber den Wert an, also Batterie und co sind in ORdnung, aber die Basisstation hat den verloren … den Windsensor hat er mittlerweile auch schon wieder verloren, habe vor kurzen gerade Batterien gewechselt …

Hat sonst noch wer diese Probleme?

Ja ich … ich habe festegestellt das neuerdings die Werte nicht aktualisiert werden, obwohl der HID Anschluss im IPS als offen angezeigt wird bzw. ohne Fehler !?
Wenn ich den Anschluss schließe und wieder öffne ist alles in Ordnung !?

Hallo,
hat irgendwer noch ne nette zuverlässige Bezugsquelle für die WMRS? E*V sagt nur was von „nicht mehr im Programm“ und bietet lediglich einen Link auf die Bedienungsanleitung. Auch der Hersteller selber kennt offenbar nur noch die teuren Stationen ohne „S“ am Ende.

grrrr… Die Besten sterben eben immer zu früh… :cool:

…und wieder beginnt die Suche nach ner zuverlässigen Station. Rechnet man die Fehlversuche zusammen, könnte sich am Ende doch noch die eingangs erwähnten teuren Profistationen rechnen.

Wir haben noch eine auf Lager (Kontakt: IP-Symcon :: Automatisierungssoftware).

Oregon Scientific Produkte von GSG - seit 1999 zuverlässig im WWW!

Ist das nun Altbestand oder gibt es die weiterhin?

Denn nicht nur E*V hat die nicht mehr im Programm, auch beim Hersteller selbst ist nix mehr davon zu finden!

Ist doch egal ob das Altbestand ist … in dem Shop scheint es die noch zu geben … wenn man der Verfügbarkeitsanzeige glauben kann … verstehe die Frage jetzt nicht so recht ! :confused:

Ganz einfach:

  1. Ich möchte auch in 2 oder 4 Jahren noch Zugriff auf Ersatzteile oder Zubehör haben
  2. Ich möchte meinen Kunden was empfehlen können, was es dann auch noch gibt, wenn sie sich dazu entschließen

hallo,

hier im Fred ist ein Bild von einer ERSATZPLATINE für den Regensensor.
hat jemand mal einen Link? Wo gibts es das Teil?

Gruß

Wolfi

gibt es bei E*V.

Hallo,

hat von Euch wer versucht die WMRS an einer NAS oder Netzwerkfestplatte
anzubinden und so auf IPS zu bringen ?

Ist das denkbar ?

Ich hab mir noch einen Oregon ergattern können…

Für Regenmenge zeigt IPS 3 Variabeln an

  • Regenmenge Kummuliert
  • Regenmenge letzte 24 Stunden
  • Regenmenge letzte Stunde

Problem: Variable 1 & 3 verändern sich mit Bewegung des Regenmessers. Die 24h Variable bleibt auf 0.

Genau diese brauche ich aber für dei GArtenbewässerung.
Hat jemand 'ne Idee?

Sheriff

Müsste ich daheim mal schauen, aber so aus dem Bauch raus würd ich sagen, die wird erst nach 24H aktualisiert…

hab etwas zu früh geschrieben:
nach einer Stunde wird der Wert von Var 3 nach var 2 transportiert. Folglich ist der 24h wert ohne Niederschlag der letzten Stunde.

aloha