Batterie Unterspannung melden (Nur bei Solarreglern)
Verfasst: Sa 1. Dez 2018, 13:53
Diese Stelle in die Datei "meldungen_senden.php" im Verzeichnis /var/www/html
suchen. An dieser Stelle müssen die einzelnen Textblöcke untereinander eingefügt werden.
(Falls man später noch mehr Textblöcke benutzt):
/****************************************************************************
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
****************************************************************************/
// Hier können weitere Blöcke eingefügt werden.
//
//
//
/****************************************************************************
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
****************************************************************************/
Dieser Textblock ist für die Signalisierung der Batterie Unterspannung.
Bitte diesen Textblock einfügen:
In Zeile 7 $Unterspannung = 11,8; noch die richtige Spannung eintragen, ab der man Informiert werden möchte.
Und in die Zeilen 8 + 9 Die gewünschte Anzahl der Nachrichten pro Tag!
Ein PDF Dokument mit ausführlichen Informationen über den Versand von Nachrichten über den Messenger Dienst Pushover gibt es hier: Messenger Nachrichten
suchen. An dieser Stelle müssen die einzelnen Textblöcke untereinander eingefügt werden.
(Falls man später noch mehr Textblöcke benutzt):
/****************************************************************************
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
// NACHRICHTEN BLOCK START NACHRICHTEN BLOCK START BLOCK START
****************************************************************************/
// Hier können weitere Blöcke eingefügt werden.
//
//
//
/****************************************************************************
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
// NACHRICHTEN BLOCK STOP NACHRICHTEN BLOCK STOP BLOCK STOP
****************************************************************************/
Dieser Textblock ist für die Signalisierung der Batterie Unterspannung.
Bitte diesen Textblock einfügen:
Code: Alles auswählen
/***************************************************************************/
// UNTERSPANNUNG BLOCK START UNTERSPANNUNG BLOCK START UNTERSPANNUNG
// Abfrage, wie hoch ist die Batteriespannung
// Funktioniert nur mit Solarreglern!
// Die Unterspannung muss mindestens 3 Minuten lang vorhanden sein.
$Unterspannung = "11,8"; // Hier die Spannung in Volt eintragen!
$MaxMeldungenProTag = 1; // Anzahl Meldungen insgesamt pro Tag.
$MaxMeldungenProStunde = 0; // Wenn 0, dann pro Stunde eine Meldung bis
// $MaxMeldungenProTag erreicht ist.
// Wenn > 0 dann Anzahl pro Stunde bis
// $MaxMeldungenProTag erreicht ist.
// *************************************************************************
$MeldungSenden = false;
if ($Device == "LR") { // Ist es ein Laderegler?
$rc = messageControl("Unterspannung",0);
if (is_array($rc)) {
$msg = $rc;
}
else {
$msg = array();
}
$funktionen->log_schreiben("Unterspannung Datum: ".date("d.m.Y",$msg[0])." Anzahl: ".$msg[1],"* ",4);
if ($rc === false) {
// Es wurde noch keine dieser Meldung heute gesendet.
$MeldungSenden = true;
$msg[1] = 0;
}
elseif ($rc === true) {
// Es wurde noch keine dieser Meldung heute gesendet.
$MeldungSenden = true;
$msg[1] = 0;
}
elseif (date("Ymd",$msg[0]) <> date("Ymd")) {
// Es wurde noch keine dieser Meldung heute gesendet.
$MeldungSenden = true;
$msg[1] = 0;
}
elseif (date("Ymd",$msg[0]) == date("Ymd")) {
if ($msg[1] < $MaxMeldungenProTag) {
// Es sollen mehr dieser Nachrichten gesendet werden.
if (date("G") > 5){
// Alle weiteren Meldungen erst ab 6:00 Uhr am Tage
if ($MaxMeldungenProStunde <> 0) {
// Es sollen mehrer Nachrichten pro Stunde gesendet werden
$Zeitspanne = round((3600 / $MaxMeldungenProStunde),0);
if (time() > $msg[0]+$Zeitspanne) {
$MeldungSenden = true;
}
}
elseif (date("i") == "00") {
// Jede Stunde eine Meldung.
$MeldungSenden = true;
}
}
}
}
if ($MeldungSenden === true) {
$Unterspannung = str_replace(",",".",$Unterspannung);
$aktuelleDaten["Query"] = urlencode("select Spannung from Batterie where Spannung <= ".$Unterspannung." and time > ".$HeuteMitternacht."000000000 and time <= now() limit 5");
$rc = influxdb_lesen($aktuelleDaten);
$funktionen->log_schreiben(var_export($rc,1),"* ",10);
if (isset($rc["results"][0]["series"][0])) {
// Die unterspannung wurde heute registriert.
// Wie oft steht in [series][0][value]
$TimestampOn = $rc["results"][0]["series"][0]["values"][0][0];
$Nachricht = "Achtung! Batterie hat Unterspannung! ".$rc["results"][0]["series"][0]["values"][0][1]." Volt.";
if (isset($rc["results"][0]["series"][0]["values"][3])) {
// Mindestens 3 mal Unterspannung gemessen.
$funktionen->log_schreiben($Nachricht,"* ",6);
for ($Ui = 1; $Ui <= count($User_Key); $Ui++) {
$rc = send_message($API_Token,$User_Key[$Ui],$Nachricht);
if ($rc) {
$funktionen->log_schreiben("Nachricht wurde versendet an User_Key[".$Ui."]","* ",6);
}
}
$msg = messageControl("Unterspannung",$msg[1]+1);
}
}
}
}
else {
$funktionen->log_schreiben("Dieses Gerät ist kein Solarregler.","* ",3);
}
// UNTERSPANNUNG BLOCK ENDE UNTERSPANNUNG BLOCK ENDE UNTERSPANNUNG
/***************************************************************************/
Und in die Zeilen 8 + 9 Die gewünschte Anzahl der Nachrichten pro Tag!
Ein PDF Dokument mit ausführlichen Informationen über den Versand von Nachrichten über den Messenger Dienst Pushover gibt es hier: Messenger Nachrichten