Hallo zusammen,
leider habe ich keinen spezifischen Bereich gefunden, welcher diese Fragen-Mischung abdeckt.
Problembeschreibung:
nach einem FHEM-Update funktionierte der klassische MQTT-Client nicht mehr. Er konnte sich nicht mehr zum Mosquitto connecten.
Alle MQTT Verbindungsversuche erfolglos. Also FHEM Verzeichnis umbenannt und ein restore gemacht. Datei- & Verzeichnisrechte komplett auf "fhem:dialout" zurückgesetzt.
FHEM lief gut, aber weiterhin keine MQTT-Verbindung.
Etwas Recherche ergab: Bekanntes Problem mit alten Bibliotheken ... besser auf MQTT2 umstellen. Ist jetzt durch und MQTT2 tut wie es soll.
Übriggeblieben sind aber "Datenbankprobleme" und Ähnliches.
So funktioniert "set logdb countNbl" nicht mehr "countNbl" ist nicht mehr auffindbar. Funktionieren tut nur noch: "set logdb count"
Bei "set DbRep.logdb reduceLog 1 max INCLUDE=%:Relay" bleibt fhem komplett hängen. Erst wenn ich den fhem-service stoppe, werden wartende fhem-aufgaben (wie z.B. telegram Benachrichtigungen) ausgeführt.
Ohne die (jetzt deaktivierten) geplanten Datenbank-Bereinigungen wächst die DB-Größe massiv an.
Listing vom logdb-Device:
Internals:
.FhemMetaInternals 1
.triggerUsed 1
COLUMNS field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
CONFIGURATION ./db.conf
DEF ./db.conf .*:.*
FD 8
FUUID 5c44d12c-f33f-ed2c-724d-de4061e60d1a9273
FVERSION 93_DbLog.pm:v5.11.0-s29401/2024-12-05
MODE asynchronous
MODEL SQLITE
NAME logdb
NR 2
NTFY_ORDER 50-logdb
PID 3366335
REGEXP .*:.*
SBP_PID 3366347
SBP_STATE running
STATE Einträge Current:countCurrent History:countHistory -- reduceLogState
TYPE DbLog
dbconn SQLite:dbname=/opt/fhem/fhem.db
dbuser
eventCount 4
.attraggr:
.attreocr:
.*
.attrminint:
.fhem:
.userReadings:
HASH(0x559c056672a8)
HELPER:
COLSET 1
DEVICECOL 64
EVENTCOL 512
OLDSTATE connected
PACKAGE main
READINGCOL 64
TC current
TH history
TYPECOL 64
UNITCOL 32
VALUECOL 128
VERSION 5.11.0
OLDREADINGS:
READINGS:
2025-05-02 11:05:23 CacheOverflowLastNum 0
2025-05-01 23:10:39 CacheOverflowLastState normal
2025-05-02 11:05:25 CacheUsage 3
2025-05-02 11:05:25 DbFileSize 3645
2025-05-02 11:05:23 NextSync 2025-05-02 11:05:53 or when CacheUsage 500 is reached
2025-05-02 11:05:24 state connected
2023-01-05 04:00:00 userCommand VACUUM
Attributes:
DbLogInclude CacheUsage,countCurrent,countHistory,DbFileSize
DbLogSelectionMode Include
DbLogType Current/History
asyncMode 1
event-on-change-reading .*
group DB-LOG
insertMode 1
room 9.4_System -> Dienste
stateFormat Einträge Current:countCurrent History:countHistory -- reduceLogState
userReadings DbFileSize { (split(' ',`du -m fhem.db`))[0] }
Hat jemand eine Idee, wie ich die Sache wieder rund bekomme?
Danke schon mal.
Dirk
Hi
Zitat von: dirk.k am 02 Mai 2025, 11:24:18So funktioniert "set logdb countNbl" nicht mehr "countNbl" ist nicht mehr auffindbar. Funktionieren tut nur noch: "set logdb count"
Das war schon länger angekündigt:
set <name> countNbl
Die Funktion ist identisch zu "set <name> count" und wird demnächst entfernt.
In der Version letztes Jahr stand es noch... 93_DbLog.pm:v5.9.5-s28345/2024-01-05
Gruß Ralf
Zitat von: dirk.k am 02 Mai 2025, 11:24:18leider habe ich keinen spezifischen Bereich gefunden, welcher diese Fragen-Mischung abdeckt.
??? Hast Du überhaupt gesucht?
Das Schöne ist, dass es sowohl für DbLog als auch für DbRep einen "passenden" Bereich gibt, herauszufinden wie immer mittels "help dblog" und/oder "help dbrep" in der FHEM Befehlszeile...
@Ralf: Danke. Das war sehr hilfreich. Ich muss zugeben, dass ich nicht alle Informationen lese. Meist aber die Infos beim updatecheck.
@Betateilchen: ich habe für beide Module die "Modulspezifische Hilfe" im Fuß der Seite bemüht ... und es kam nichts. Für die FHEM Befehlszeile habe ich nur wenig griffbereit. Aber ich habe ja bereits eine Antwort auf die wichtigste/verwirrendste Frage bekommen.
Bleibt nur noch eine kaputte Datenbank übrig.
pragma integrity_check; bringt etliche Fehler. Ein vacuum direkt auf der DB bricht ab mit "the database disk image is malformed".
Es gibt etliche Anleitungen zur Datenbank-Reparatur. Ich versuche gerade einen DB-Dump mittels "read" in eine neue leere Db einzulesen.
Hat schon mal jemand eine DB repariert und evtl. Hinweise für mich?
Danke !
Zum Thema database image malformed gibt es schon einige threads hier im Forum.
Und DbRep selbst hat sogar eine Reparaturfunktion - siehe commandref:
ZitatRepair of a corrupted SQLite database ("database disk image is malformed")
Zitat von: dirk.k am 02 Mai 2025, 21:39:05@Betateilchen: ich habe für beide Module die "Modulspezifische Hilfe" im Fuß der Seite bemüht ... und es kam nichts.
Ach nein? Komisch...
Zitat von: dirk.k am 02 Mai 2025, 21:39:05Ich muss zugeben, dass ich nicht alle Informationen lese.
Es ist halt offenbar viel bequemer, die Hilfsbereitschaft anderer Leute in Anspruch zu nehmen, anstatt erstmal selbst etwas zu tun...
Findest Du das eigentlich fair?
@ Ralf: danke für die Info und Hilfe !!
@ betateilchen: Sorry, ich werde dich/euch nicht mehr belästigen
PS: mein Browser hat gerade einen langen erklärenden Text verworfen ... ist wohl auch besser so.
Zitat von: dirk.k am 03 Mai 2025, 12:23:00mein Browser hat gerade einen langen erklärenden Text verworfen
Browser mit eingebauter künstlicher Intelligenz... *cool*
Zitat von: dirk.k am 03 Mai 2025, 12:23:00ist wohl auch besser so.
Das denke ich auch.