Seite 1 von 1

_math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 14:20
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

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 14:51
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

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 15:05
von pbuenger
Bringt leider nichts. Letztendlich ist es ja immer noch der gleiche Zusatzquery-String.

Trotzdem danke.
Peter

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 16:03
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

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 16:42
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

Re: _math.php ZusatzQuery wird nicht in Influx gespeichert

Verfasst: Mo 24. Okt 2022, 17:00
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