NEWS
Warnung bei gelöschtem MQTT-Topic mit SQL-Aufzeichnung
-
Ich hatte einige nicht mehr benötigte Topics aus dem Objekt-Verzeichnis gelöscht, deren Änderung in der SQL-Datenbank aufgezeichnet wurde. Leider hatte ich vergessen, vorher die SQL-Aufzeichnung zu löschen. Jetzt erhalte ich in den Protokollen Warnmeldungen wie z.B.:
2024-04-12 00:00:36.063 - warn: sql.0 (1044) getOneCachedData: got null states 1 times for mqtt.0.<TOPIC-Name>
Was ist die Ursache dieser Meldung und wie kann ich sie unterdrücken?
-
@dragricola wieder anlegen, SQL deaktivieren und dann wieder löschen
-
@bananajoe Vielen Dank, aber das funktioniert so leider nicht. Wenn ich die Topics wieder neu anlege, fehlt die SQL-Aktivierung. Ich kann sie also nicht wieder deaktivieren. Kann es sein, dass die Warnungen bedeuten, dass ich irgendwo in einem Script oder in einer Visualisierung noch Abfragen der Topics habe?
-
@dragricola dann mach es mal an und danach wieder aus.
Oder man müsste in die Konfiguration des Adapters schauen wo er sich das gemerkt hat (müsste ich auch erst suchen) -
@bananajoe: " dann mach es mal an und danach wieder aus."
Das habe ich nun gemacht. Nach dem Aktivieren konnte ich die alten Daten sehen. Das sah schonmal gut aus! Nach dem Deaktivieren habe ich die Topics wieder gelöscht. Ich bin gespannt, ob die Warnungen nun weg sind. Vielen Dank!
-
Dann geh doch einfach in die Datenbank und lösch den Datenpunkt.
In der DB iobroker gibts eine Tabelle datapoints:
Diese Tabelle enthält alle Datenpunkte die geloggt werden.
-
@mickym
Geht das direkt im Adapter oder ist dafür ein anderes Tool erforderlich und wenn ja welches? -
@dragricola Wahrscheinlich kann man das mit irgendeinem SQL Befehl über den Adapter löschen. Aber ich habe mir Heidi SQL installiert und damit eine GUI um auf die SQL Datenbank zuzugreifen. Ich benutze mysql - keine Ahnung welche SQL DB Du nutzt.
https://www.heidisql.com/?place=lnklblWebpage
HeidiSQL läuft auf Windows und damit musst Dich halt mit der DB verbinden.
Ansonsten musst halt mit SQL Befehlen in der Tabelle den Datensatz in der Tabelle datapoints deren Name dem Pfad zum Datenpunkt selektieren und dann löschen.
Du musst die Tabelle selektieren und dann kannst Du es mit so was versuchen - aber wie gesagt ich bin da nicht firm.
DELETE FROM `datapoints` WHERE `name`='.............';
name ist der Pfad zum ehemaligen Datenpunkt
-
@mickym
Ich nutze ebenfalls mysql. Heididb habe ich ebenfalls installiert aber mich bisher noch nicht wirklich damit beschäftigt. Nun konnte ich die Daten löschen. Es ging mit selektieren des Datenpunkts und Ctrl+Del.
Vielen Dank für den Tipp!