FHEM Forum

FHEM => Sonstiges => Thema gestartet von: rogseut am 27 März 2016, 17:49:29

Titel: sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: rogseut am 27 März 2016, 17:49:29
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)
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: gima84 am 27 März 2016, 19:25:53
Hi, evtl. sind die Berechtigungen / Owner / Group auf die Datenbankdateien falsch.

Gruß Martin
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 07 September 2018, 08:35:34
Hallo ich habe das selbe Problem.
Gab es damals eine Lösung dafür?
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 07 September 2018, 09:17:23
an Berechtigungen hat das File als Benutzer (pi) und als Gruppe (dialout) in der Gruppe ist Fhem auch mit drin.
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 07 September 2018, 14:06:31
Hat jemand ne Idee wie ich das aus dem log raus bekomme?

Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Wernieman am 07 September 2018, 21:20:23
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?
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 08 September 2018, 10:25:44
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.


Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Wernieman am 08 September 2018, 14:42:00
Wenn nur FHEM schreibt .. warum gehört ddas DB-File pi? Switche es mal zum User fhem um (abgeschaltetes fhem)
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 08 September 2018, 19:33:14
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?
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Wernieman am 09 September 2018, 09:31:33
Habe es mir jetzt nicht agesehen, aber warum sollte das DB File einem user gehören, der es nicht verwendet?
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 09 September 2018, 16:36:22
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?
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Wernieman am 09 September 2018, 17:34:53
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 ...???
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Blablubblaber am 12 September 2018, 13:41:41
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.
Titel: Antw:sqlite3 Probleme in zusammenhang mit dem Charting Frontend
Beitrag von: Wernieman am 12 September 2018, 13:46:42
Danke das Du Deine Einsicht geschrieben hast. Machen nicht viele!