Wie kann ich einzelne Einträge in der InfluxDB auslassen?

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

volkerg99
Beiträge: 38
Registriert: Sa 15. Okt 2022, 19:49
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Einträge in der InfluxDB auslassen

Beitrag von volkerg99 »

volkerg99 hat geschrieben:
Mi 5. Apr 2023, 19:09
Hatte ich vorhin auch schon festgestellt :roll:
Aber er schreibt auch nach MQTT.
Allerdings hatte ich jetzt vorhin ausprobiert in der _math.php $InfluxDB_local auf false zu setzen.
Das hat er auch ignoriert.
Jetzt versuche ich es grad mit $InfluxDB_local = 0 in der _math.php
Auch $InfluxDB_local = 0 in der _math.php hat keinen Erfolg gebracht. Entweder die Variable wird nicht weitergegeben (keine globale Variable?) oder in einer der folgenden php'n auf true bzw. 1 gesetzt

volkerg99
Beiträge: 38
Registriert: Sa 15. Okt 2022, 19:49
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Einträge in der InfluxDB auslassen

Beitrag von volkerg99 »

Und auch das hat nichts gebracht :(

Bogeyof
Beiträge: 1116
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 24 Mal
Danksagung erhalten: 161 Mal

Re: Wie kann ich einzelne Einträge in der InfluxDB auslassen?

Beitrag von Bogeyof »

Eine sehr einfache aber auch schlampige Methode (Quick and Dirty) wäre die folgende:
Wenn in der übergebenen Query zum Schreiben in die Datenbank ein Wert nicht befüllt ist, dann schreibt er die Daten zu diesem Measurement nicht und bringt einen Fehler in der solaranzeige.log.
Du könntest also den Wert der betroffenen Variablen in der _math.php prüfen und im Bedarfsfall auf leer setzen, um damit zu verhindern, dass dieser Datensatz (für dieses Measurement) geschrieben werden kann:
$aktuelleDaten["NameDerVariable"] = "";

Achtung, andere Measurements in der gleichen Query werden deswegen trotzdem geschrieben, sollte eigentlich auch OK sein, wenn diese sonst korrekte Werte enthalten. Wenn dies nicht gewüscht ist, müssen auch Variablen aus den anderen Measurements auf leer gesetzt werden...

volkerg99
Beiträge: 38
Registriert: Sa 15. Okt 2022, 19:49
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie kann ich einzelne Einträge in der InfluxDB auslassen?

Beitrag von volkerg99 »

Bogeyof hat geschrieben:
Do 6. Apr 2023, 11:18
Eine sehr einfache aber auch schlampige Methode (Quick and Dirty) wäre die folgende:
Wenn in der übergebenen Query zum Schreiben in die Datenbank ein Wert nicht befüllt ist, dann schreibt er die Daten zu diesem Measurement nicht und bringt einen Fehler in der solaranzeige.log.
Du könntest also den Wert der betroffenen Variablen in der _math.php prüfen und im Bedarfsfall auf leer setzen, um damit zu verhindern, dass dieser Datensatz (für dieses Measurement) geschrieben werden kann:
$aktuelleDaten["NameDerVariable"] = "";

Achtung, andere Measurements in der gleichen Query werden deswegen trotzdem geschrieben, sollte eigentlich auch OK sein, wenn diese sonst korrekte Werte enthalten. Wenn dies nicht gewüscht ist, müssen auch Variablen aus den anderen Measurements auf leer gesetzt werden...
Ja, daran hatte ich auch gedacht, aber wieso akzeptiert der Code $MQTT = 0 und schreibt nix nach MQTT, aber mit $Influx_local = false oder 0 schreibt er trotzdem in die DB? Ich hatte ja gedacht, dass $Influx_local eine globale Variable ist und direkt vor dem wegschreiben noch einmal abgeprüft wird. Aber eines von beiden oder beide sind wohl nicht so. In der funktionen.inc.php gibt es auch noch eine Abfrage auf $daten["DB_nein"]. Diese Variable hatte ich auch schon in der Geräte.php gesetzt. Hat aber auch nichts gebracht.

Quick&Dirty wäre die letzte Rettung :)

In irgendeiner php-Datei wird im Kopfbereich auch auf das Dokument "Solaranzeige + InfluxDB" verwiesen. Das finde ich aber leider nicht. Hat dafür jemand mal einen Link?

Benutzeravatar
Ulrich
Administrator
Beiträge: 5531
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 156 Mal
Danksagung erhalten: 885 Mal
Kontaktdaten:

Re: Wie kann ich einzelne Einträge in der InfluxDB auslassen?

Beitrag von Ulrich »

Versuche es bitte einmal mit:

$aktuelleDaten["zentralerTimestamp"] = 0;

Dann werden die Daten zwar in die Datenbank geschrieben, aber nicht angezeigt.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

volkerg99
Beiträge: 38
Registriert: Sa 15. Okt 2022, 19:49
Hat sich bedankt: 5 Mal
Danksagung erhalten: 1 Mal

Re: Wie kann ich einzelne Einträge in der InfluxDB auslassen?

Beitrag von volkerg99 »

Ulrich hat geschrieben:
Fr 7. Apr 2023, 09:35
Versuche es bitte einmal mit:

$aktuelleDaten["zentralerTimestamp"] = 0;

Dann werden die Daten zwar in die Datenbank geschrieben, aber nicht angezeigt.
So klappt es super.
Danke dir Ulrich

Antworten

Zurück zu „Allgemeines“