hat der Energiemonitor so etwas wie die math.php oder die Möglichkeit einen Zusatzquerry zu erstellen?
Ich benötige die Differenz der absolute Luftfeuchte drinnen - draussen. Ich möchte eine Lüftung steuern
Dazu habe ich in die steuerzentrale.inc.php verändert. Da hätte ich noch Hoffnung, das du das übernimmst.
Unter der Annahme, dass bei den Shellys die Temperatur passend zu relativen Luftfeuchte immer als temperature:100 geführt wird, sollte das eigentlich immer passen. (Ich bin nicht sicher, was passiert, wenn man an einen Shelly mit Aufsteck-Addon mit Tempratursonde noch ein H&T Gerät über Bluetooth koppelt)
Code: Alles auswählen
if (isset($rc_json["humidity:100"]["rh"])) {
$ausgabe["Ext_Luftfeuchte1"] = $rc_json["humidity:100"]["rh"];
$ausgabe["Ext_Luftfeuchte_abs1"] = 216.687 / ($ausgabe["Ext_Temperatur1"] + 273.15) * $ausgabe["Ext_Luftfeuchte1"] /100 * 6.1078 * 10 ** (($ausgabe["Ext_Temperatur1"] * 7.5)/($ausgabe["Ext_Temperatur1"] + 237.3 ) ) ;
}[Keller] => Array
(
[ShellyTyp.Text] => S2PMG3
[ShellyID.Text] => shelly2pmg3-
[Password] =>
[Gen] => 3
[MAC.Text] =>
[Kontakt] => 0
[Leistung] => 0
[Spannung] => 236.4
[Strom] => 0
[Frequenz] => 50
[PF] => 0
[Energie] => 20.59
[Temperatur] => 44.5
[Kontakt2] => 0
[Leistung2] => 0
[Spannung2] => 236.5
[Strom2] => 0
[Energie2] => 18.524
[Temperatur2] => 44.5
[Frequenz2] => 50
[PF2] => 0
[Einspeisung] => 0
[Einspeisung2] => 0
[Ext_Temperatur1] => 20.9
[Ext_Luftfeuchte1] => 38.3
[Ext_Luftfeuchte_abs1] => 6.9756195118703
[IP.Text] => 192.168.x.yyy
[Bezeichnung.Text] => Keller
[Typ.Text] => Shelly
Jetzt wollte ich noch die Differenz drinnen und draussen berechnen, das klappt auch.
Ich habe in die steuermodule.php einen "include" Befehl gesetzt und mir eine steuerzentrale.math.php angelegt.
(War die Steuermodule.php für so etwas gedacht?)
Code: Alles auswählen
#!/usr/bin/php
<?php
/*****************************************************************************
// Solaranzeige Projekt Copyright (C) [2015-2020] [Ulrich Kunz]
//
// Dieses Programm ist freie Software. Sie können es unter den Bedingungen
// der GNU General Public License, wie von der Free Software Foundation
// veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß
// Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.
//
// Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es
// Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne
// die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN
// BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.
//
// Ein original Exemplar der GNU General Public License finden Sie hier:
// http://www.gnu.org/licenses/
//
// Dies ist ein Programmteil des Programms "Solaranzeige"
//
// Es dient dem Berechnen von Steuerparametern im Energiemonitor
//
*****************************************************************************/
$TLevelSave = $Tracelevel;
$now = time();
$Tracelevel = 3;
/****************************************************************************
// Berechnung der Daten
****************************************************************************/
....
//
$aktuelleDaten["Luftfeuchte_Differenz_Keller"] = $aktuelleDaten["Keller"]["Ext_Luftfeuchte_abs1"] - $aktuelleDaten["Schopf"]["Ext_Luftfeuchte_abs1"] ;
$funktionen->log_schreiben ("Berechnungen im Energiemonitor durchgeführt", " ", 3);
$funktionen->log_schreiben ("Differenz abs Luftfeuchte:".$aktuelleDaten["Luftfeuchte_Differenz_Keller"]." gm3", " ", 3);
//****************************************************************************/
// Aufbereiten Query für Speichern der Daten
// ***************************************************************************
$aktuelleDaten["ZusatzQuery"] = "Berechnung_EM ";
$aktuelleDaten["ZusatzQuery"] .= "Diff_Luftfeuchte_Keller=".$aktuelleDaten["Luftfeuchte_Differenz_Keller"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];
Ausgang:;
$Tracelevel = $TLevelSave;
return;
?>
Die Rechnung funktioniert, aber es taucht kein zusätzliche Feld in Grafana auf.
16.03. 14:11:02 ERRO [ 3] Berechnungen im Energiemonitor durchgeführt
16.03. 14:11:02 ERRO [ 3] Differenz abs Luftfeuchte:1.0125372558664 gm3
16.03. 14:11:10 INFO [ 213] Die Daten wurden in die lokale Influx Datenbank 'energiemonitor' abgespeichert.
16.03. 14:11:10 STOP
bekommt man das einfach gelöst?
Mein "Lüftungsplan" wird relativ komplex, für die Shellys gibt es ein script das läuft auch gut bei mir, ich möchte im Sommer und im Winter mehr Einschränkungen, da wäre die Automation 2 sicher gut.
viele Grüsse
Rüdiger