Wetterstaion / Funk-Kombisensor Darstellung und Auswertung

Hallo allerseits,

jetzt geht’s an die weitere HW: Die Wetterstaion / Funk-Kombisensor ist jetzt auch angeschlossen… Die Darstellung im WebFront sieht auch ganz gut dazu aus (wie kann ich eigentlich Bilder im Forum darstellen?)… Allerdings:

Für die Windrichtung wäre anstatt einer Zahlendarstellung in Grad natürlich eine Wetterfahne netter und beim Regen interessiert mich weniger die Summe des Niederschlags, seid die Station läuft, sondern eher der Niederschlag pro Tag. Das könnte man ja mit einem IPS Script nebs Variable darstellen… Hat das schon mal jemand gemacht.

Ach ja: Und die Einheit beim Wind; sind das wirklich km/h oder nicht eher m/s? Würde mich wundern, wenn die Station aktuell nur 2,1 k/m misst…

Wenn du eingeloggt bist, ein Thema startest oder antwortest, dann siehst du über dem Feld für die Texteingabe verschiedene Button. Mit der „Büroklammer“ verwaltest du die Anhänge.

Für die Windrichtung wäre anstatt einer Zahlendarstellung in Grad natürlich eine Wetterfahne netter

Mit einer Wetterfahne kann ich die nicht dienen, aber mit eine Ausgabe als Text:

// Windrichtung als Name ausgeben
if ( ($windrichtung == 0) or ($windrichtung <= 11) or ($windrichtung >= 349) or ($windrichtung == 360) ) {$richtung = "N";}
if ( ($windrichtung >= 12) and ($windrichtung <= 33) ) {$richtung = "NNO";}
if ( ($windrichtung >= 34) and ($windrichtung <= 56) ) {$richtung = "NO";}
if ( ($windrichtung >= 57) and ($windrichtung <= 78) ) {$richtung = "ONO";}
if ( ($windrichtung >= 79) and ($windrichtung <= 101) ) {$richtung = "O";}
if ( ($windrichtung >= 102) and ($windrichtung <= 123) ) {$richtung = "OSO";}
if ( ($windrichtung >= 124) and ($windrichtung <= 146) ) {$richtung = "SO";}
if ( ($windrichtung >= 147) and ($windrichtung <= 168) ) {$richtung = "SSO";}
if ( ($windrichtung >= 169) and ($windrichtung <= 191) ) {$richtung = "S";}
if ( ($windrichtung >= 192) and ($windrichtung <= 213) ) {$richtung = "SSW";}
if ( ($windrichtung >= 214) and ($windrichtung <= 236) ) {$richtung = "SW";}
if ( ($windrichtung >= 237) and ($windrichtung <= 258) ) {$richtung = "WSW";}
if ( ($windrichtung >= 259) and ($windrichtung <= 281) ) {$richtung = "W";}
if ( ($windrichtung >= 282) and ($windrichtung <= 303) ) {$richtung = "WNW";}
if ( ($windrichtung >= 304) and ($windrichtung <= 326) ) {$richtung = "NW";}
if ( ($windrichtung >= 327) and ($windrichtung <= 348) ) {$richtung = "NNW";}

SetValueString(String-ID , $richtung);

beim Regen interessiert mich weniger die Summe des Niederschlags, seid die Station läuft, sondern eher der Niederschlag pro Tag. Das könnte man ja mit einem IPS Script nebs Variable darstellen

Da kann ich dir mein Script anbieten. Du musst die Variable für die Gesamtmenge in die Datenbank schreiben/loggen und die zusätzliche(n) Floatvariablen für die Ausgabe per Hand anlegen und ins Script übernehmen.

<?
/*
**********************************************************************************************
 Berechnet die Niederschlagsmenge der letzten Stunden
**********************************************************************************************
File     :  Niederschlagsmengen berechnen
Trigger  :  Zyklisch
Interval :  5 Minuten
*/

$archiveID = ID-Archive-Handler ;   	// Archive-Handler-ID
$objectID = ID-Gesamtniederschlag ; 	// Variablen-ID Gesamtniederschlag
$updatetime = IPS_GetVariable($objectID);   	// Variable abfragen
$updatetime = $updatetime['VariableUpdated']; 	// Letztes Update $objectID
$nsm_g = GetValueFloat($objectID);    // Gesamte Niederschlagsmenge
$ende = time(); 		// JETZT
$stunden = 60*60;    // 1 Stunde a 60 Minuten mit 60 Sekunden

// Scriptstart
// Auslesezeiten der Datenbank
$start_1h = time()-(1*$stunden); 	// Datenbank auslesen ab 1 Stunde vor JETZT
$start_24h = time()-(24*$stunden); 	// Datenbank auslesen ab 24 Stunden vor JETZT
$mitternacht = mktime(0,0,0,date("n"),date("j"),date("Y")); 	// Timestamp - Heute 0:00 Uhr


// Abfrage 1 Stunde
if (($ende - $updatetime) < (1*$stunden))
{
$buffer_1h = AC_GetLoggedValues($archiveID, $objectID, $start_1h, $ende, 0);
$anzahl = count($buffer_1h);
$wert = $buffer_1h[$anzahl-1];
$ns_1h = $wert['Value'];
$nsm_1h = round($nsm_g - $ns_1h,2);
	// Sicherheitsabfrage, falls Gesamtniederschlag der Station auf Null
	if ((($nsm_g - $ns_1h) == $nsm_g)  or ($nsm_1h < -0.01))
	{$nsm_1h = 0;}
}
SetValueFloat(Var-ID [1 Stunde] , $nsm_1h);  	// Variablen schreiben


// Abfrage 24 Stunden
if (($ende - $updatetime) < (24*$stunden))
{
$buffer_24h = AC_GetLoggedValues($archiveID, $objectID, $start_24h, $ende, 0);
$anzahl = count($buffer_24h);
$wert = $buffer_24h[$anzahl-1];
$ns_24h = $wert['Value'];
$nsm_24h = round($nsm_g - $ns_24h,2);
   // Sicherheitsabfrage, falls Gesamtniederschlag der Station auf Null
	if ((($nsm_g - $ns_24h) == $nsm_g) or ($nsm_24h < -0.01))
	{$nsm_24h = 0;}
}
SetValueFloat(Var-ID [24 Stunden] , $nsm_24h);   	// Variablen schreiben


// Abfrage Heute
if ($updatetime > $mitternacht)
{
$buffer_heute = AC_GetLoggedValues($archiveID, $objectID, $mitternacht, $ende, 0);
$anzahl = count($buffer_heute);
$wert = $buffer_heute[$anzahl-1];
$ns_heute = $wert['Value'];
$nsm_heute = round($nsm_g - $ns_heute,2);
   // Sicherheitsabfrage, falls Gesamtniederschlag der Station auf Null
	if ((($nsm_g - $ns_heute) == $nsm_g)  or ($nsm_heute < -0.01))
	{$nsm_heute = 0;}
}
SetValueFloat(Var-ID Niederschlag heute , $nsm_heute);   	// Variablen schreiben

echo "Niederschlagsmenge (1h):$nsm_1h L (24h):$nsm_24h L (Heute):$nsm_heute L"."
";
?>

Ach ja: Und die Einheit beim Wind; sind das wirklich km/h oder nicht eher m/s? Würde mich wundern, wenn die Station aktuell nur 2,1 k/m misst…

Das kann ich dir nicht beantworten, da ich nicht mit dieser Station arbeite, sollte aber in der Bedienungsanleitung stehen.

Hallo,

genau das Suche ich auch, aber mein Problem ist, da ich noch neu hier bin und die Software erst seit ein paar Tagen habe, ich nicht weiss nicht wo ich solche Codes einfügen kann. Kann mir das jemand sagen?

In IPS rechte MT -> Objekt hinzu… -> Skript …

Skripte: IP-Symcon :: Automatisierungssoftware

Gruß
Bruno

Super danke hat geklappt.

Danke Nancilla!

Das Script für die Windrichtung habe ich integriert. Klasse! Vielen Dank! Bei dem für die Regenmenge brauche ich nochmal (als newbie) etwas Hilfe:

Die Gesamtregenmenge habe ich per Datanbanklogging archiviert. Aber wo finde ich die zugehörige ID für den Archive-Handler?

Kern Instanzen -> Archive Handler
Siehe auch: Archive Control: IP-Symcon :: Automatisierungssoftware

Klasse! Danke! Jetzt klapp’s… :slight_smile: