_math.php ZusatzQuery wird nicht in Influx gespeichert

Alles was mit der Solaranzeige Image Installation und Betrieb zu tun hat. Einfache Konfiguration mit einem Gerät.

Moderator: Ulrich

Antworten
pbuenger
Beiträge: 10
Registriert: Do 4. Aug 2022, 12:15

_math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von pbuenger »

Hallo zusammen,

ich versuche gerade, über die _math.php zusätzliche Einträge in die Influx-Datenbank zu schreiben. Eine kurze Testversion sieht so aus:

Code: Alles auswählen

#!/usr/bin/php
<?php

$aktuelleDaten["ZusatzQuery"]  = "BYD_Voltage "."CellVolt001="."3123, "."CellVolt002="."3124, "."CellVolt003="."3125";
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];

// Wenn der Wert auch in die LOG Datei geschrieben werden soll.
$funktionen->log_schreiben("BYD_Voltage in Datenbank geschrieben.","> ",5);

?>
Im Logfile kann ich auch erkennen, dass der Zusatzquery ganz vorne an den Datenbank-Query gehängt wird:

Code: Alles auswählen

24.10. 14:07:03 > -BYD_Voltage in Datenbank geschrieben.
24.10. 14:07:03    -InfluxDB  => [ BYD_Voltage CellVolt001=3123, CellVolt002=3124, CellVolt003=3125 1666613231
Batterie Temperatur=21,Spannung=318.6,Strom=-1.076,Batterieladung=16777213,SOC=19,SOE=100,Batteriestatus=2292  1666613231
AC Frequenz=49.97,Leistung=470,Spannung_R=234.7,Spannung_S=234.5,Spannung_T=234.8,Bezug=10,Einspeisung=0  1666613231
In der Datenbank selber finde ich aber anschließend das neue Measurement "BYD_Voltage" nicht. Meines Wissens nach müsste Influx dieses automatisch anlegen. Oder liege ich da falsch?

Gruß,
Peter

solarfanenrico

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von solarfanenrico »

Hallo Peter,
versuche es mal jeden Zusatzquery-Auftrag einzeln zu definieren.

Code: Alles auswählen

#!/usr/bin/php
<?php

$aktuelleDaten["ZusatzQuery"]  = "BYD_Voltage ";  // Measurement
$aktuelleDaten["ZusatzQuery"] .= "CellVolt001=" ."3123 ".;  // field . Wert
$aktuelleDaten["ZusatzQuery"] .= ",CellVolt002=" ."3124 ";
$aktuelleDaten["ZusatzQuery"] .= ",CellVolt003=" ."3125";
$aktuelleDaten["ZusatzQuery"] .= "  ".$aktuelleDaten["zentralerTimestamp"];

// Wenn der Wert auch in die LOG Datei geschrieben werden soll.
$funktionen->log_schreiben("BYD_Voltage in Datenbank geschrieben.","> ",5);

?>
Enrico

pbuenger
Beiträge: 10
Registriert: Do 4. Aug 2022, 12:15

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von pbuenger »

Bringt leider nichts. Letztendlich ist es ja immer noch der gleiche Zusatzquery-String.

Trotzdem danke.
Peter

solarfanenrico

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von solarfanenrico »

hatte noch einen Fehler eingebaut.

#!/usr/bin/php
<?php

$aktuelleDaten["ZusatzQuery"] = "BYD_Voltage "; // Measurement
$aktuelleDaten["ZusatzQuery"] .= "CellVolt001=" ."3123 "; // field . Wert
$aktuelleDaten["ZusatzQuery"] .= ",CellVolt002=" ."3124 ";
$aktuelleDaten["ZusatzQuery"] .= ",CellVolt003=" ."3125";
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];

// Wenn der Wert auch in die LOG Datei geschrieben werden soll.
$funktionen->log_schreiben("BYD_Voltage in Datenbank geschrieben.","> ",5);

?>
hier war ein Punkt zuviel
"CellVolt001=" ."3123 ".; // field . Wert

php verzeiht keine Fehler,
Da mir die php.log nicht vorliegt, kann ich jedoch nicht direkt sagen, was noch falsch gewesen sein kann.
Aussagen, wie "bringt auch keine Änderung" sind wertlos, weil jeder Fehler in der php.log abgelegt wird. Diese Meldungen helfen diese zu finden.
Hierzu sollten die php.log's auch mal gelöscht werden, damit nur die aktuellen Meldungen ersichtlich sind. Alles andere ist verschwendete Zeit.
Enrico

pbuenger
Beiträge: 10
Registriert: Do 4. Aug 2022, 12:15

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von pbuenger »

Habe es herausgefunden. Es war kein PHP-Fehler, deswegen gab es auch keinen Eintrag dazu in der php.log.

Der String "ZusatzQuery" darf keine Leerzeichen in der Aufzählung der Felder enthalten. Ich hatte ihn ja so zusammengesetzt:

Code: Alles auswählen

BYD_Voltage CellVolt001=3123, CellVolt002=3124, CellVolt003=3125 1666613231
Das wirft eine Influx-Fehlermeldung "invalid field format" aus. Stattdessen muss es so aussehen:

Code: Alles auswählen

BYD_Voltage CellVolt001=3123,CellVolt002=3124,CellVolt003=3125 1666613231
Vielleicht hilft es ja jemandem.

Gruß,
Peter

solarfanenrico

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Beitrag von solarfanenrico »

Hallo Peter,
helfen kann es eigentlich auch niemanden, denn es sind ja erstmal feste Werte, welche in die DB geschrieben werden.
Erst müssen diese durch Variablen ersetzt werden, um einen Sinn zu machen.
Du hast also erst die halbe Lösung geliefert.
Enrico

Antworten

Zurück zu „Image Installation [ Single-Regler Version ]“