FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mac1001 am 23 September 2018, 11:55:01

Titel: [gelöst] NaN Wert löschen aus Datenbank erzeugt Fehler in der Fhemlog
Beitrag von: mac1001 am 23 September 2018, 11:55:01
Hallo Forengemeinde!

Ich logge Stromzählerwerte in DBlog mit. Da ich hin und wieder "nan" als Wert geliefert bekomme und dieser meine SVG-Plot zerstört lösche ich jene alle 20 Minuten mit

+*00:20:00 set DBLogging userCommand DELETE FROM history where VALUE = 'nan'

aus der Datenbank.

Dieses erzeugt in der Fhem-Log aber folgende Meldung

2018.09.23 11:29:08 1: DbLog DBLogging: DBLog_Set - DBD::mysql::db selectrow_array failed: fetch() without execute() at ./FHEM/93_DbLog.pm line 859.


Kann mir jemand einen Tip geben wo der Fehlerteufel liegt bzw. warum es zu diese Meldung kommt?

Grüße
Marco
Titel: Antw:NaN Wert löschen aus Datenbank erzeugt Fehler in der Fhemlog
Beitrag von: DS_Starter am 23 September 2018, 12:22:23
Hallo Marco,

diese Funktion in DbLog ist recht einfach gestrickt. Die Meldung kommt durch eine Mitteilung der Datenbankschnittstelle.
Von meiner Architekturphilosophie her sollte es diese Funktion in einem Log-Device überhaupt nicht geben. Historisch bedingt ist sie aber noch vorhanden.

Führe deinen Aufruf besser in einem DbRep-Device aus mit:


set <DbRep-Device> sqlCmd DELETE FROM history where VALUE = 'nan'


Das Attribut "allowDeletion" ist in dem Device zu setzen.
Die DbRep-Verwendung hat weiterhin den Vorteil dass die Abarbeitung non-blocking erfolgt.

Grüße,
Heiko
Titel: Antw:[gelöst] NaN Wert löschen aus Datenbank erzeugt Fehler in der Fhemlog
Beitrag von: mac1001 am 23 September 2018, 14:11:17
Danke Heiko,

so werde ich es heute Abend mal umsetzten ;)

Gruß
Marco