ZusatzQuerry bzw. math.php im Energiemonitor

[ Shelly Automation Version 2 ] [ Energiemonitor ]
Die Entwicklung der Shelly Produkte und der HomeMatic Haussteuerung schreiten weiter voran. Dieser Bereich dient der grafischen Anzeige von vielen Shelly und HomeMatic Lösungen., sowie einer Shelly Steuerung Version 2. Es können bis zu 50 Geräte ausgelesen und angezeigt werden. Mit der Steuerung können bis zu 5 Shelly Relais gesteuert werden. Die Cloud wird dazu nicht benutzt. Alles passiert rein lokal.

Moderator: Ulrich

Online
Ruhz69
Beiträge: 91
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 12 Mal
Danksagung erhalten: 4 Mal

ZusatzQuerry bzw. math.php im Energiemonitor

Beitrag von Ruhz69 »

Hallo Ulrich,

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. ;) Ich würde dann auch die Formel hier dokumentieren.

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 ) ) ;
              }
Das klappt auch hier das log

[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;

?>
Das ist natürlich aus der Solaranzeige "geklaut" und ich bin nicht sicher, wie dort die Zusatzquerrys verarbeitet werden.

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

Benutzeravatar
Ulrich
Administrator
Beiträge: 5423
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 167 Mal
Danksagung erhalten: 831 Mal

Re: ZusatzQuerry bzw. math.php im Energiemonitor

Beitrag von Ulrich »

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?)
JA, diese Datei kann für eigene Berechnungen und Arbeiten erstellt werden. Es ist das gleiche wie die "_math" - Datei bei der Solaranzeige. Der Include Punkt ist schon in der "steuerzentrale.php" enhalten:
/***************************************************************************
// Ist eine Steuerung vorhanden?
// Dann hier einbinden.
***************************************************************************/
if (is_file($Pfad . "/steuermodule.php")) {
require_once $Pfad . "/steuermodule.php";
}
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Online
Ruhz69
Beiträge: 91
Registriert: Fr 28. Jan 2022, 19:41
Hat sich bedankt: 12 Mal
Danksagung erhalten: 4 Mal

Re: ZusatzQuerry bzw. math.php im Energiemonitor

Beitrag von Ruhz69 »

Hallo Ulrich, vielen Dank für die schnelle Antwort,

Dann bliebe die Frage mit den Zusatzquerry

Funktioniert das so im Energiemonitor, das die Berechnungen in die Influxdatenbank gespeichert werden. (Bei mir nicht, das kann auch an mir liegen, hiermit geht es in der Solaranzeige.



/****************************************************************************/
// Aufbereiten Query für Speichern der Daten
// ***************************************************************************
$aktuelleDaten["ZusatzQuery"] = "Berechnung_EM ";
$aktuelleDaten["ZusatzQuery"] .= "Diff_Luftfeuchte_Keller=".$aktuelleDaten["Luftfeuchte_Differenz_Keller"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];



viele Grüsse

Rüdiger

Zurück zu „Shelly + Solaranzeige + Steuerung + HomeMatic“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast