Fehlende Einträge in Current Tabelle

Begonnen von hugomckinley, 01 März 2022, 18:27:31

Vorheriges Thema - Nächstes Thema

hugomckinley

Ich habe nach Jahren mit SQLite nun auf MariaDB umgestellt, was recht schmerzlos funktioniert hat.
Ein Problem, das mir jetzt nach einigen Tagen aufgefallen ist:
In der Current Tabelle fehlen Geräte/Readings. Ich habe kein Muster erkennen können.
In der History Tabelle werden die Events geloggt und somit auch in den Plots angezeigt.
Aufgefallen ist es mir beim Bearbeiten von Plots, da im Dropdown der Readings die Einträge fehlen.

Hier ein Reading das zwar in der History ist, aber nicht in der Current:
"2022-03-01 18:07:33" "Stromverbrauch_Haus" "ELECTRICITYCALCULATOR" "1w_c_Haus_Aut_A_PowerCurrent: 960.000" "1w_c_Haus_Aut_A_PowerCurrent" "960.000" ""

Ich hab schon viel gesucht, aber ich kann mir das nicht erklären.

Grüße,
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

hugomckinley

#1
Folgende neue Erkenntnis:
Diese Zeile stammt aus dem SQL Log von MariaDB
21707 Query    REPLACE INTO current (TIMESTAMP, TYPE, EVENT, VALUE, UNIT, DEVICE, READING) VALUES ('2022-03-04 17:39:00','ELECTRICITYCALCULATOR','1w_c_Haus_Aut_A_PowerCurrent: 633.887','633.887','','Stromverbrauch_Haus','1w_c_Haus_Aut_A_PowerCurrent')

Mit HeidiSQLausgeführt, wird der Datensatz eingefügt. (da bin ich aber root, vielleicht ist es eine Rechte geschichte)

Edit: Nein die Rechte sind es nicht, der fhemuser kann es per HeidiSQL einfügen. Ich bin ratlos.

Kann mir ein DB-Experte sagen, warum das nicht in die Datenbank kommt?
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

roedert

Das Attribut DbLogType im DBLog-Device kontrolliert bzw. evtl. mal neu gesetzt?

hugomckinley

Ja, habe ich.

Ich habe auch einmal versuchsweise das async "1" wieder deaktiviert, dann sind plötzlich unmittelbar nach dem Umschalten ein paar Readings aufgetaucht, aber das hat sofort wieder aufgehört.
Wieder einschalten des async "1" hat dann nichts geändert. (auch das hin und her schalten brachte dann nichts mehr)

Und wie man an der Zeile aus dem SQL Log sieht wird das REPLACE ja an die DB geschickt, aber es wird nicht eingetragen. So als würde sich MariaDB weigern. Per HeidiSQL kommt der Datensatz jedoch in die DB. (mit dem gleichen User)
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

hugomckinley

Folgender Verdacht, obwohl ich mir nicht erklären kann, was da dahinter stecken sollte:

Es fehlen alle Devices vom typ OWCOUNT
Die anderen Einträge von Devices, die Readings basierend auf diesen OWCOUNT-Geräte haben, tauchen nirgendwann auf. (ich weiß das ist schwammig)
Meine Beispiele von oben, die sind jetzt alle da, aber die OWCOUNT-Devices nach wie vor nicht.

So als würden diese Devices keine Events erzuegen, obwohl der Eventmonitor was anderes sagt.

Ich bin ratlos. Workaroung ist gerade, dass ich die Plots anlege und dann die gplot-Files händisch ändere, da die Daten ja in der history-Tabelle sind.
Der einizge Unterschied zwischen current- und history-Tabelle sind die Indizes.
Kann ein Index verhindern, dass etwas in die Tabelle geschrieben wird?
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...