Hallo zusammen.
Ich lese mit hilfe von SMAUTILS drei Wechselrichter aus und schreibe die Daten in eine SQLITE Datenbank.
Dass klappt auch prima, nur schreibt FHEM ständig diesen Fehler ins LOG.
Wie bekomm ich dass weg?
Ich bin gerade noch dabei die Daten aus der Datenbank in das Charting Frontend zu bekommen.
[2016-03-27 17:36:32.777] Error: sqlite3_exec() returned: 'unable to open database file' while executing
INSERT OR IGNORE INTO Inverters VALUES(2000488367,'SN: 2000488367','SMC 8000TL','12.12.203.R',0,0,0,0,0,0,'','',0)
[2016-03-27 17:36:32.779] Error: exec_query() returned: 'unable to open database file' while executing
INSERT OR IGNORE INTO Inverters VALUES(2000488367,'SN: 2000488367','SMC 8000TL','12.12.203.R',0,0,0,0,0,0,'','',0)
[2016-03-27 17:36:32.780] Error: sqlite3_exec() returned: 'unable to open database file' while executing
UPDATE Inverters SET Name='SN: 2000488367',Type='SMC 8000TL',SW_Version='12.12.203.R' WHERE Serial=2000488367
[2016-03-27 17:36:32.781] Error: exec_query() returned: 'unable to open database file' while executing
UPDATE Inverters SET Name='SN: 2000488367',Type='SMC 8000TL',SW_Version='12.12.203.R' WHERE Serial=2000488367
[2016-03-27 17:36:32.782] Error: sqlite3_exec() returned: 'unable to open database file' while executing
UPDATE Inverters SET TimeStamp=1459092992,TotalPac=0,EToday=13.043,ETotal=57707.6,OperatingTime=29864.6,FeedInTime=27063.5,Status='OK',GridRelay='?',Temperature=0 WHERE Serial=2000488367
[2016-03-27 17:36:32.782] Error: exec_query() returned: 'unable to open database file' while executing
UPDATE Inverters SET TimeStamp=1459092992,TotalPac=0,EToday=13.043,ETotal=57707.6,OperatingTime=29864.6,FeedInTime=27063.5,Status='OK',GridRelay='?',Temperature=0 WHERE Serial=2000488367
[2016-03-27 17:36:32.784] Error: sqlite3_exec() returned: 'unable to open database file' while executing
INSERT INTO SpotData VALUES(1459092992,2000488367,509,0,1.193,0,427,0,0,0,0,0,0,0,0,0,0,13043,57707620,49.96,29864.6,27063.5,74.5098,'OK','?',0)
[2016-03-27 17:36:32.784] Error: [spot_data]exec_query() returned: 'unable to open database file' while executing
INSERT INTO SpotData VALUES(1459092992,2000488367,509,0,1.193,0,427,0,0,0,0,0,0,0,0,0,0,13043,57707620,49.96,29864.6,27063.5,74.5098,'OK','?',0)
[2016-03-27 17:36:33.886] Error: sqlite3_exec() returned: 'unable to open database file' while executing
INSERT OR IGNORE INTO Inverters VALUES(2000488329,'','','12.09.122.R',0,0,0,0,0,0,'','',0)
[2016-03-27 17:36:33.888] Error: exec_query() returned: 'unable to open database file' while executing
INSERT OR IGNORE INTO Inverters VALUES(2000488329,'','','12.09.122.R',0,0,0,0,0,0,'','',0)
[2016-03-27 17:36:33.890] Error: sqlite3_exec() returned: 'unable to open database file' while executing
UPDATE Inverters SET Name='',Type='',SW_Version='12.09.122.R' WHERE Serial=2000488329
[2016-03-27 17:36:33.890] Error: exec_query() returned: 'unable to open database file' while executing
UPDATE Inverters SET Name='',Type='',SW_Version='12.09.122.R' WHERE Serial=2000488329
[2016-03-27 17:36:33.891] Error: sqlite3_exec() returned: 'unable to open database file' while executing
UPDATE Inverters SET TimeStamp=1459092993,TotalPac=464,EToday=0,ETotal=0,OperatingTime=29865.8,FeedInTime=27298.8,Status='?',GridRelay='?',Temperature=0 WHERE Serial=2000488329
[2016-03-27 17:36:33.892] Error: exec_query() returned: 'unable to open database file' while executing
UPDATE Inverters SET TimeStamp=1459092993,TotalPac=464,EToday=0,ETotal=0,OperatingTime=29865.8,FeedInTime=27298.8,Status='?',GridRelay='?',Temperature=0 WHERE Serial=2000488329
[2016-03-27 17:36:33.893] Error: sqlite3_exec() returned: 'unable to open database file' while executing
INSERT INTO SpotData VALUES(1459092993,2000488329,489,0,1.151,0,425,0,0,0,0,0,0,0,0,0,0,0,0,0,29865.8,27298.8,75.2941,'?','?',0)
[2016-03-27 17:36:33.894] Error: [spot_data]exec_query() returned: 'unable to open database file' while executing
INSERT INTO SpotData VALUES(1459092993,2000488329,489,0,1.151,0,425,0,0,0,0,0,0,0,0,0,0,0,0,0,29865.8,27298.8,75.2941,'?','?',0)
Hi, evtl. sind die Berechtigungen / Owner / Group auf die Datenbankdateien falsch.
Gruß Martin
Hallo ich habe das selbe Problem.
Gab es damals eine Lösung dafür?
an Berechtigungen hat das File als Benutzer (pi) und als Gruppe (dialout) in der Gruppe ist Fhem auch mit drin.
Hat jemand ne Idee wie ich das aus dem log raus bekomme?
D.h. es schreiben 2 verschiedene Prozesse in die gleiche DB?
https://www.sqlite.org/faq.html#q5 (https://www.sqlite.org/faq.html#q5)
User/Group der DB-Files, bzw. des Ordners passt?
Kann man das überprüfen ob 2 gleichzeitig reinschreiben wollen da ich eigentlich der Meinung bin das das nicht der Fall sein sollte ich starte die abfrage ja aus fhem raus und die schreibt das Ergebnis in ein .txt Dokument und ich führe eigentlich keine zweite abfrage zeitgleich aus.
Bei der .db Datei ist der User Pi und die Gruppe Dialout bei der Gruppe sind fhem und PI Mitglied.
Wenn nur FHEM schreibt .. warum gehört ddas DB-File pi? Switche es mal zum User fhem um (abgeschaltetes fhem)
glaub es könnte doch anders sein das Modul 98_SBFspot.pm führt am ende den Befehl /usr/local/bin/sbfspot.3/SBFspot -v -finq -nocsv
aus und das Ergebnis wird in ein .txt File geschrieben.
aber das SBFspot schreibt glaube ich seine Daten in das .db File was jedoch glaub ich nix mit fhem zu tun haben sollte.
Ich kenne mich leider nicht gut genug aus glaube ich.
Ich habe das Modul mal in Anhang gemacht falls das hilft.
ich habe es bei pi belassen da das SBFspot ja ein eigenständiges Programm auf dem Raspberry ist oder sehe ich das falsch?
Habe es mir jetzt nicht agesehen, aber warum sollte das DB File einem user gehören, der es nicht verwendet?
frage zum Verständnis:
wenn fhem in dem Modul mit dem oben genannten Befehl das Programm / abfrage mit SBFspot startet startet das Programm dann unter fhem oder unter pi?
Rate mal ....
FHEM läuft (normalerweise) unter dem User FHEM. Der Startet jetzt ein Subprozess ... warum sollte er auf PI kommen?
Wenn Du in einem rechner eingelogt bist und ein Programm startest, startet es unter dem user ...???
Vielen Dank nun hab ich es verstanden hatte da echt ein knoten im Kopf.
Habe es geändert auf fhem und siehe da es klappt vielen Dank für die Hilfe.
Danke das Du Deine Einsicht geschrieben hast. Machen nicht viele!