Unwetterzentrale Revolutions

Hab noch ein Update für das Modul, wodurch die URL zum Bild zuverlässiger erkannt wird :slight_smile:

paresy

Freitags um eins, macht jeder seins

und ich mach meins - update -
es scheint das seit dem Update (jetzt gemacht) gar nichts mehr geht.
Beim drücken des aktualisieren Button kommt, bei mir

Unwetter-2016-06-03.png

und da sind meine Regenwolken wieder weg :frowning: oder soll ich mich freuen :slight_smile:

Werde mal das Misc-Modul löschen neu anlegen, ein boot tut gut und sollte es
dann laufen komme ich noch mal vorbei …

Glück Auf D.Voss

Da bin ich wieder,

scheint doch an dem Typen zwischen Bildschirm und Rückenlehne zu liegen. :wink:
Ein Löschen der Instanz, Neu anlegen und löschen des Moduls war es nicht?

Ist schon ein paar Tage her das ich ein „Stable Upgrade“ durchgeführt habe,
jetzt war es dann soweit und siehe da die Regenwolken sind wieder da.

Freue mich - nur weil das Modul geht nicht wegen den Wolken.

Glück Auf D.Voss

sendDebug gibt es erst bei neueren IPS4 Releases.So ab #150

Funktioniert Super! - Danke fürs reparieren

Erweiterungsvorschlag: Das gleiche nochmal mit dem Blitzradar:

Sprich es gibt dann am ende zwei Werte (Regen & Blitzaktivität)
Glaube das wäre gerade jetzt im Sommer eine ganz nette Bereicherung :rolleyes:

Grüße,
Frank

Hi Frank,

ich habe dafür leider keine Zeit :frowning: Aber du kannst mein Modul gerne erweitern und als dein eigenes PHP-Modul anbieten! Probier’ es einfach mal aus :loveips:

paresy

Als zusätzliche Ergänzung lasse ich mir bei erreichen eines Schwellwertes im Umkreis eine Mail schicken.
Bei uns hats in der Gegend einige vollgelaufene Keller. Da ist es beruhigend wenn, man in aller Regel vorher bescheidweiss und evtl. sogar zuhause ist/bleibt.

Einzig der Skripttimer funktioniert noch nicht (hab irgendwie ein FEhler drin) - Möchte max. 1x in der Stunde alarmiert werden per Mail.

Hier die beispielhafte Struktur
(ich lasse das Modul von paresy auf dem Raspberry laufen, und hole mit meinem Win IPS System die Daten vom Raspi - daher sieht man das „Modul“ nicht)

Screenshot vom Windows System:

Und hier mein Emailalarmierungsskript:

<?
$regenwert=GetValue(16936 /*[Infos\Wetter\Unwetter\Regen]*/);
// regenwert 0 - 1199 kein Regen bis leichter Regen
// 1200 - 1999 starker Regen
// 2000 - 3999 Unwetter
// 4000 - xxxxx Land unter
$mailgesendet=GetValueBoolean(38458);


if ($mailgesendet == false and ($regenwert>=1200) {
		IPS_SetScriptTimer($IPS_SELF, 60 * 60);
		$mailcontent = "Es kommt ein Unwetter. 
Das Unwetter hat die Klassifizierung: $regenwert. 
1200 - 1999 Starker Regen 
2000 - 3999 Unwetter 
4000 - xxxx Land Unter";
		SMTP_SendMailAttachment(26464 /*[sonstiges\Ueberwachung_Email\E-Mail senden (SMTP)]*/, "Unwetter kommt: Schwellwert $regenwert ", "$mailcontent", "media/radar21940.png");
		SetValueBoolean(38458, TRUE);	 
}
	 else
	 {
	 return;
	 }
if ($IPS_SENDER == "TimerEvent") {
    	IPS_SetScriptTimer($IPS_SELF, 0);
	SetValueVoolean(38458, FALSE); 
	 }
//ende
?>

Ob die Alarmierungsbegrenzung auf 1x in einer Stunde funktioniert weiss ich noch nicht.
Habs gerade erst quick&dirty reingetippt.

Hallo mastermind1,

coole Idee! Ich habe es jetzt für mich nochmals angepasst. Mir reicht es in einer String Variable stehen zu haben wie Stark der Niederschlag in meiner Region ist. „Kein Regen“ / „Leichter Regen“ / „Unwetter“ oder „Land unter“

<?

// regenwert 0 - 1199 kein Regen bis leichter Regen
// 1200 - 1999 starker Regen
// 2000 - 3999 Unwetter
// 4000 - xxxxx Land unter

$regenwert=GetValue(51320 /*[Unwetterzentrale\Regen ?]*/);
$rain=GetRainStrength($regenwert);

SetValue(51320 /*[Unwetterzentrale\Regen ?]*/, $rain);

function GetRainStrength($rainStrength)
{
	switch($rainStrength){
	
		case ($rainStrength<500):									// Kein Regen
		IPS_SetScriptTimer($_IPS['SELF'], 60 * 60);        // Prüfen alle 60 Min.
		return "Kein Regen";
		break;

		case ($rainStrength>=500 && $rainStrength<1200):	// Leichter Regen
		IPS_SetScriptTimer($_IPS['SELF'], 60 * 30);        // Prüfen alle 30 Min.
		return "Leichter Regen";
		break;

		case ($rainStrength>=1200 && $rainStrength<4000):	// Unwetter
		IPS_SetScriptTimer($_IPS['SELF'], 60 * 15);        // Prüfen alle 15 Min.
		return "Unwetter";
		break;

		case ($rainStrength>4000): 								// Land unter
		IPS_SetScriptTimer($_IPS['SELF'], 60 * 5);         // Prüfen alle 5 Min.
		return "Land unter";
		break;
		}
}

?>

Profi Tipp: Du kannst das original Modul so lassen wie es ist und ein eigenes Profil mit Assoziationen bauen/auswählen, welches den selben Effekte in der Visualisierung hätte :slight_smile:

paresy

Hallo paresy,

wie würde das dann konkret aussehen? :o

Erstelle mal ein neues Variablenprofil für den Typ Integer und füge die 4 Werte + Namen jeweils ein:

0 => Kein Regen
501 => Leichter Regen
1201 => Unwetter
4000 => Land unter

Das sollte dann auch so angezeigt werden :slight_smile:

paresy

Danke! Spart natürlich Code! :loveips:

<?

$regenwert=GetValue(50600 /*[_devices\Unwetterzentrale\Regenwert]*/);
SetValue(59409 /*[Unwetterzentrale\Regen ?]*/, $regenwert);

?>

Genau. Und falls du den Regenwert nicht sehen musst, kannst du dir die Hilfsvariable komplett sparen, da du auch für Status Variablen das Profil überschreiben darfst :slight_smile:

paresy

Funzt das denn so wie gedacht ? Regenmenge kann ja auch 50 oder 600 o.ä. sein … dann passt es zu keinem Wert !??

Die Werte gehen von-bis!
0-500 „Kein Regen“, 501-1200 "Leichter Regen, 1201-… usw.

Gesendet von iPhone mit Tapatalk

äh … ne ?
Aber nicht wenn die Werte im Profil so eingetragen sind wie auf dem Screenshot.

Wieso nicht?

Gesendet von iPhone mit Tapatalk

ja, funktioniert perfekt. Ich mache es OHNE zusätzlicher Hilfsvariable, da mir der eigentliche Regenwert egal ist

wie jetzt ?
Woher weiß das Profil, das „Leichter Regen“ von 0-500 ist ?
Da steht nur das 501 = „Leichter Regen“ ist und nicht von … bis … :eek:
Ist das irgendwo dokumentiert ?

Kein Regen ist laut dem Profil 0-500. Da 0 mit „Kein Regen“ bezeichnet ist und „Leichter Regen“ bei 501 startet!
Also ist von 0-500 „Kein Regen“ und das weiß das Profil, weil es das Profil einer Variable ist!
Ist der Wert >=501 und <1201 bleibt es „Leichter Regen“.
Hast du es probiert?

Gesendet von iPhone mit Tapatalk