Windrichtung (als Text ausgeben)

Hier ein kleines Skript, dass die Winrichtung in Grad in Test „umwandelt“…

$richtung = GetValue(50042 /*[Wetter\Windsensor\Windrichtung]*/ );

if (($richtung <  22.5) and($richtung >= 337.5)) $w_text = "Nord";
if (($richtung <  67.5) and($richtung >= 22.5)) $w_text = "Nord-Ost";
if (($richtung < 125.5) and($richtung >= 67.5)) $w_text = "Ost";
if (($richtung < 157.5) and($richtung >= 125.5)) $w_text = "Süd-Ost";
if (($richtung < 202.5) and($richtung >= 157.5)) $w_text = "Süd";
if (($richtung < 247.5) and($richtung >= 202.5)) $w_text = "Süd-West";
if (($richtung < 292.5) and($richtung >= 247.5)) $w_text = "West";
if (($richtung < 337.5) and($richtung >= 292.5)) $w_text = "Nord-West";

SetValue(31589/*[Wetter\Windsensor\Windrichtung Text]*/,$w_text);

MST

PS: die u.g. Funktion ist natürlich viel besser :rolleyes:

Wer dann noch gerne ein bisschen mehr für seine Wetterstation haben will: http://www.ip-symcon.de/forum/f23/wetterstation-6271/index7.html#post60190.

Was ich noch in Betrieb habe.

Sättigungsdampfdruck, absolute Feuchte und Dampfdruck.

Zum auswerten wird die aktuelle Temperatur und die relative Luftfeuchte benötigt.
einfach mit include einbinden wo es benötigt wird.

<?

// alle Formeln nach http://www.wettermail.de/wetter/feuchte.html

//Taupunktberechnung in °C
function Taupunkt($temperatur,$relfeuchte)
{
    $val = (234.67*0.434292289*log(6.1*exp((7.45*$temperatur)
            /(234.67+$temperatur)*2.3025851)*$relfeuchte/100/6.1))
            /(7.45-0.434292289*log(6.1*exp((7.45*$temperatur)
            /(234.67+$temperatur)*2.3025851)*$relfeuchte/100/6.1) );
    return $val;
}
//Sättigungsdampfdruck in hPa
function SaettigungsDampfDruck($temperatur)
{
    if ($temperatur >= 0)
    {
        $a = 7.5;
        $b = 237.3;
    }
    elseif ($temperatur < 0)
    {
        $a = 7.6;
        $b = 240.7;
    }
    $val = (6.1078 * exp( log(10) * (($a * $temperatur) / ($b + $temperatur)) ) );
    return $val;
}
//Dampfdruck in hPa
function DampfDruck($temperatur,$relfeuchte)
{
    $val = $relfeuchte/100 * SaettigungsDampfDruck($temperatur);
    return $val;
}
//absolute Feuchte in g/m³
function AbsoluteFeuchte($temperatur,$relfeuchte)
{
    $tk = ($temperatur + 273.15);
    $val  = (exp(log(10) * 5) * 18.016/8314.3 * DampfDruck($temperatur,$relfeuchte)/$tk);
    return $val;
}

$taupunkt = Taupunkt($temperatur,$relfeuchte);
$sattdampfdruck = SaettigungsDampfDruck($temperatur);
$dampfdruck = DampfDruck($temperatur,$relfeuchte);
$absfeuchte = AbsoluteFeuchte($temperatur,$relfeuchte);


?>

Wie kann ich denn die oben beschriebene Windrichtungsanzeige in das originale Webfront einbinden? Dort werden mir von meiner WMRS200 nur die Gradzahlen per Default angezeigt…

Bin da leider absoluter Newbie :slight_smile:

@ Rainer

Danke für dieses geniale Skript.

Das ist genau was ich für meinen Keller benötigt habe.

Gruss
B71

@dreamy1: Doppelklick auf die Variable, Experteneinstellungen anklicken, Weiter, neues Profil anlegen, Verändern anklicken, bei Assoziationen auf Ansicht klicken, dann wie im Screenshot ausfüllen in 22,5°-Schritten, OK, Profil speichern, Weiter, OK, freuen :).

@Bernardo71: Was macht man damit im Keller?

WindDirections.png

@Horst

genau aufpassen, dass da unten in Bezug auf die Feuchte nix schiefgeht :slight_smile:

Ich habe diesen Sommer, bedingt durch extreme Temperaturen und „Aufladung“ der Luft unter dem Dach (die dann bei nächtlicher Abkühlung der Luft durch das Treppenhaus in den Keller fiel), das Problem gehabt, dass der Keller bis über 70% Luftfeuchtigkeit angesammelt hatte und einfach nicht heraus zu bekommen war.

Die Taupunkt Berechnung hilft mir somit festzustellen, ob sich aktuelle Temperatur / Lage im Keller und Taupunkt annähern oder voneinander entfernen und mir darüber einen Graphen zu bauen, der mich eine solche Tendenz entsprechend erkennen liesse und rechtzeitig gegen zu steuern.

Sicher ist das im Winter jetzt nicht so kritisch, aber für den kommenden Sommer werde ich es garantiert sehr nützlich finden…

Gruss
B71

Hallo dreamy1,

ich gehe mal davon aus das Du die String-Variable mit dem Texteintrag bereits angelegt hast und diese auch mit dem korrekten Text befüllt wird.

Als erstes gibst Du der Variable ein eigene Profil, am besten das vorhandene ~String, wie das funktioniert steht in der Doku.

Als nächstes ziehst Du die Variable unter die Instanz wo du sie sehen möchtest, als wahrscheinlich der Windsensor.

Schon sollte die textualle Windrichtung zu sehen sein.

Die Taupunkt Berechnung hilft mir somit festzustellen, ob sich aktuelle Temperatur / Lage im Keller und Taupunkt annähern oder voneinander entfernen und mir darüber einen Graphen zu bauen, der mich eine solche Tendenz entsprechend erkennen liesse und rechtzeitig gegen zu steuern.

um darauf reagieren zu können, sollte man mit der absoluten Luftfeuchte arbeiten. Die relative Luftfeuchte sagt dir darüber gar nichts aus, außer das es z.B. 70% sind.
Die absolute Luftfeuchte musst Du mit der Außenluft vergleichen und dementsprechend lüften. Wenn die relFeuchte außen niedriger ist wie innen sagt das noch lange nicht das auch die Luft trockener ist.
Wenn die relFeucht außen niedriger ist wie innen aber die absFeuchte höher und Du lüftest, erreichst Du grade das Gegenteil von dem was Du eigentlich willst, nämlich den Keller entfeuchten. :slight_smile:

@Horst+wgreipl:
Vielen Dank, hat mit Horsts Anleitung super geklappt!

Habe mir neben der Windrichtung als Text auch gleich die Windgeschwindigkeit als Klartext hinterlegt - mit „starker Wind“ oder „Orkan“ kann man halt doch mehr anfangen als mit einer reinen m/s-Anzeige.

@Horst:
Ab wann erfolgt denn die Umschaltung bei den Werten? Erst bei Erreichen des neuen Wertes oder schon wenn der alte Wert verlassen wird?

Ab erreichen des neuen Wertes. Mit %d kannst Du noch den Originalwert mit einbauen (siehe Variablenprofile - IP-Symcon :: Automatisierungssoftware). Dadurch kann man bei der Windgeschwindigkeit z.B. eine kombinierte Anzeige aus Beaufort-Skala und m/s ohne extra Skript erstellen: 1 (%d m/s)

@Horst: Vielen lieben Dank! Mensch, IPS gefällt mir immer besser :slight_smile:

Jetzt hat mich der Spieltrieb gepackt :slight_smile:

Ist es denn auch möglich, in Abhängigkeit vom Wert einen Farbumschlag zu generieren? Also ich meine z.B. bei Überschreiten eines festgelegten Wertes ändert sich die Schriftfarbe oder das Anzeigekästchen von grün nach rot? Das wäre absolut genial…

Nein. Das ist nicht Möglich, weil es gegen das aktuelle Bedienkonzept vom WebFront wäre. Farbliche „Buttons“ sind für schaltbare Aktionen reserviert. Du kannst die Icons aber ändern, wenn du willst. (Die Suche ist dann dein Freund)

paresy

@paresy: Schade, aber danke für die schnelle Antwort. Das mit den Icons würde mir reichen…werde mich mal auf die Suche machen…

Kleiner Tipp: Man schaue einfach mal im Assoziationseditor, was rechts vom Text steht ;).

Schon gefunden, mit Paint ein paar Icons bearbeitet und auch schon eingepflegt :slight_smile:

Mensch ist das g*il, ich bin ja wirklich begeistert…und mit dem neuen Browser im N810 habe ich mir ein schönes portables Webfrontanzeigegerät gebastelt…das steht jetzt im Büro als kleine „Wetterstation“ mit Touchscreen und verbraucht <1W…genial.

Danke Euch nochmals!

Hallo Horst,

das mit %d habe ich gerade probiert, bekomme aber immer nur einen „format error“ beim Wert.

Hast Du da eine Idee? Ich habe das einfach hinter den jeweiligen Ausdruck gesetzt, z.B.: Nord-Ost %d °
Kann es sein, dass das Ganze bei Float-Zahlen nicht funktioniert?

Gruß
dreamy1

Bei Float musst du %f nutzen.

Hie die volle Doku zu %d oder %f: PHP: sprintf - Manual

paresy

Danke paresy :slight_smile:

Man hats net leicht als Anfänger…zum Glück seid Ihr da :slight_smile: