Fehlereintrag im FHEM-Log, wenn ich per SQL in die DB schreiben will

Begonnen von cs-online, 11 Oktober 2019, 20:31:09

Vorheriges Thema - Nächstes Thema

cs-online

Hallo,

um Logabrisse zu verhindern und speziell das Weiterschreiben von Plots möglich zu machen, habe ich versucht mittels Timer direkt in die DB Werte einzutragen, z.B. über die Anweisung

insert into fhem.history values('2019-10-11 20:10:04','search_activ','ECMDDEVICE','Fakelog','FlowTempDesired','21.00','')

Der Fakelogeintrag sollte dafür sein, dass ich im Zweifel "echte" und gefakte Einträge auseinander halten kann... Das funktioniert dann über den Aufruf:

$SQL="insert into fhem.history values('$dt1','search_activ','ECMDDEVICE','Fakelog','$_','$read','')";
  fhem("set LOGDB userCommand $SQL");;


Ich bekomme dann aber im FHEM-Log mit Verbose 1 diesen Fehler bei jedem Eintrag:

2019.10.11 18:15:11 1: DbLog LOGDB: DBLog_Set - DBD::mysql::db selectrow_array failed: fetch() without execute() at ./FHEM/93_DbLog.pm line 912.

Gibt es ggf. noch eine andere Möglichkeit Einträge in die DB zu schreiben ohne den Fehler auszulösen ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

amenomade

Mit single quotes werden die Variable nicht interpretiert.
Geht die Lösung nicht, die ich dir im anderen Thread gegeben habe?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

DS_Starter

Hallo Christian,

dieses userCommand in DbLog ist minimalistisch und für sehr einfache selects geeignet.
Für deinen Zweck eignet sich ein DbRep-Device:


$SQL="INSERT INTO history (TIMESTAMP, DEVICE, TYPE, EVENT, READING, VALUE, UNIT) VALUES ('$dt1','search_activ','ECMDDEVICE','Fakelog',"$_','$read','')";
  fhem("set DbRepDev sqlCmd $SQL");;


Habe dein SQL noch etwas angepasst. Sollte so passen. Wenn ' nicht funktioniert, dann statt dessen \" verwenden.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Jetzt habe ich nochmal gelesen und frage mich warum du nicht einfach das in DbLog eingebaute "addLog" verwendest ?
Ist genau dafür gemacht.

LG
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

amenomade

Zitat von: DS_Starter am 11 Oktober 2019, 23:15:11
Jetzt habe ich nochmal gelesen und frage mich warum du nicht einfach das in DbLog eingebaute "addLog" verwendest ?
Ist genau dafür gemacht.

LG
Stimmt. Das ist noch einfacher als die Routine in myUtils
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cs-online

Danke euch allen, habe das gerade mal ausprobiert, das scheint wirklich genau das zu sein, was ich brauchte, da hätt ich mir den Stress mit dem SQL gar nicht machen brauchen, wenn ich mal richtig gelesen hätte....

schönes Restwochenende,

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

cs-online

FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr