/** Ließt die Daten für die Nukleare Strahlung ein und
* sendet bei überschreiten eines Grenzwertes eine Warnemail
*
* Karte von ganz Deutschland: https://odlinfo.bfs.de/ODL/DE/themen/wo-stehen-die-sonden/karte/karte_node.html
* Doku https://strahlenschutz.api.bund.dev/
* (C) by Conny Henn 2022
*/
$grenzwert = "0.40"; // Grenzwert in µSv
$kennung = "064350291"; // Kennung für die Messstelle - Info der ID aus der Karte oben
$empfaenger = "max@mustermann.de, sabine@mustermann.de"; // Mailadresse (mehrere durch Komma getrennt)
$absender = "System@mustermann.de"; // Absende Email
$antwortan = "conny@mustermann.de"; // Antwort Mail Adresse
$debug = false; // true = Übergabewerte anzeigen, false = normaler Modus (keine Anzeige)
// -------- AB HIER SOLLTE NICHTS MEHR GEÄNDERT WERDEN -------------
$err = "";
$url = "https://www.imis.bfs.de/ogc/opendata/ows/?service=WFS&request=GetFeature&typeName=opendata%3Aodlinfo_timeseries_odl_1h&outputFormat=application%2Fjson&viewparams=kenn%3A$kennung&sortBy=end_measure+D&maxFeatures=1";
$json = file_get_contents($url);
if (!$json) {
$err = "Fehler im Strahlung.php Script - URL konnte nicht gelesen werden.
";
}
$obj = json_decode($json);
// éingelesene Werte anzeigen
if ($debug) {
echo "
DEBUG-MODUS strahlung.php
";
echo "";
print_r($obj->features);
echo "
";
}
$zeit = $obj->features[0]->properties->end_measure; // Mess Zeit
$ort = $obj->features[0]->properties->name; // Mess Ort
$erg = $obj->features[0]->properties->value; // Mess Wert
$unit = $obj->features[0]->properties->unit; // Mess Einheit
$info = "";
$info = "Nucleare-Strahlungs-Messung
";
$info .= "ACHTUNG - Strahlungsgrenzwert von $grenzwert $unit überschritten !!!
";
$info .= "";
$info .= "Messort: | $ort |
";
$info .= "Zeit: | $zeit |
";
$info .= "Messwert: | $erg $unit |
";
$info .= "Grenzwert: | $grenzwert $unit |
";
$info .= "
";
$info .= "
Legende:
";
$info .= "
| NOTFALL |
".(($erg > 100) ? '►' : '')." | ⬤ > 100,000 µSv/h |
".(($erg > 50 AND $erg <= 100) ? $erg.' ►' : '')." | ⬤ > 50,000 µSv/h |
".(($erg > 10 AND $erg <= 50) ? $erg.' ►' : '')." | ⬤ > 10,000 µSv/h |
".(($erg > 1 AND $erg <= 50 ) ? $erg.' ►' : '')." | ⬤ > 1,000 µSv/h |
".(($erg > 0.6 AND $erg <= 1) ? $erg.' ►' : '')." | ⬤ > 0,600 µSv/h |
|
|
| NORMAL BEREICH |
".(($erg > 0.4 AND $erg <= 0.6) ? $erg.' ►' : '')." | ⬤ > 0,400 µSv/h |
".(($erg > 0.2 AND $erg <= 0.4) ? $erg.' ►' : '')." | ⬤ > 0,200 µSv/h |
".(($erg > 0.17 AND $erg <= 0.2) ? $erg.' ►' : '')." | ⬤ > 0,170 µSv/h |
".(($erg > 0.14 AND $erg <= 0.17) ? $erg.' ►' : '')." | ⬤ > 0,140 µSv/h |
".(($erg > 0.08 AND $erg <= 0.14) ? $erg.' ►' : '')." | ⬤ > 0,080 µSv/h |
".(($erg <= 0.08 ) ? $erg.' ►' : '')." | ⬤ < 0,080 µSv/h |
Grenzwerte: Werte bis zu 0,600 µSv/h sind noch tollerant
";
$info .= "Übersichtskarte: Link";
if ($debug){
echo "
Inhalt Mail:
".$info;
}
if ($erg >= $grenzwert OR $err <> "") {
// ----------------- EMAILS VERSENDEN ------------------
// Betreff
$betreff = 'ACHTUNG - Nuclearer-Strahlungsgrenzwert überschritten !!!';
// Nachricht
$nachricht = '
'.((!empty($err)) ? $err : $info).'
';
// für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
$header[] = 'MIME-Version: 1.0';
$header[] = 'Content-type: text/html; charset=utf-8';
$header[] = "From: $absender";
$header[] = "Reply-To: $antwortan";
$header[] = "X-Mailer: PHP ". phpversion();
// verschicke die E-Mail
mail($empfaenger, $betreff, $nachricht, implode("\r\n", $header));
}
?>