configdb installieren - Schritt 3 unklar

Begonnen von Invers, 19 August 2014, 13:17:39

Vorheriges Thema - Nächstes Thema

betateilchen

Zitat von: Gustav am 24 Oktober 2014, 00:23:16
An deinen Motivationssprüchen mußt du aber noch arbeiten.

Nein, muss ich nicht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

Ich wollte heute auch auf ConfigDB umstellen und habe es bei meiner Testumgebung mal versucht. Ich habe alles wie hier https://forum.fhem.de/index.php/topic,54055.msg456705.html#msg456705 beschrieben gemacht. Ich habe vor die Kommandos immer sudo gesetzt. Ich war als Nutzer "pi" auf meinem Raspberry angemeldet.

Ich konnte es dann auch einmal starten in dem ich in den Ordner gegangen bin und mit "sudo perl fhem.pl configDB" gestartet habe. Ohne "sudo" kommt immer folgender Fehler:

2016.08.11 21:22:24 1: PERL WARNING: DBD::SQLite::db do failed: attempt to write a readonly database at configDB.pm line 256.
DBD::SQLite::db do failed: attempt to write a readonly database at configDB.pm line 256.
2016.08.11 21:22:24 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::SQLite::db handle dbname=/opt/fhem/configDB.db at configDB.pm line 256.

Mittels "sudo" davor startet FHEM kurz, stürzt dann aber doch wieder ab. Warum ist mir noch nicht Ganz klar. Muss das Log erst Mal auf Verbose 5 setzten um vielleicht einen Fehler zu erkennen. Ohne sehe ich im Log noch keinen Fehler vor dem Absturz.

Mich wundert das Rechteproblem. Ich habe alle Ordner von fhem wie beschrieben auf fhem:dialout gesetzt.


Mir ist klar, dass betateilchen mich wieder zurecht weisen wird, dass es Anfänger Probleme sind. Aber ich komme einfach nicht weiter. Dazu muss ich anmerken, dass es sich bei meiner Testumgebung um eine zweite FHEM Installation auf einem pi handelt. Diese liegt im Ordner /opt/fhem-zwei Natürlich wurden die Befehle aus dem Workshop entsprechend angepasst und die configDB Dateien liegen auch in diesem Ordner. Hat es damit zu tun?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

Mach mal bitte ein "ls -al" in dem Ordner, in dem die configDB.db liegt und poste die Ausgabe.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86


drwxrwxrwx 16 fhem dialout   4096 Aug 10 16:45 .
drwxr-xr-x  8 root root      4096 Mar  2 19:10 ..
drwxr-xr-x  2 fhem dialout   4096 Feb 28 15:50 backup
drwx--xr-x  2 fhem dialout   4096 Feb 10  2016 certs
-rw-rw-rw-  1 fhem dialout 154875 Aug 10 16:38 CHANGED
-rw-r--r--  1 fhem dialout     96 Aug 10 16:42 configDB.conf
-rw-r--r--  1 fhem dialout   4096 Aug 10 16:42 configDB.db
-rw-rw-rw-  1 fhem dialout  34537 Aug 10 16:38 configDB.pm
drwxrwxrwx 40 fhem dialout   4096 Nov 19  2015 contrib
drwxrwxrwx  3 fhem dialout   4096 Mar  2  2015 demolog
drwxrwxrwx  4 fhem dialout   4096 Jan  1  2016 docs
drwxr-xr-x  3 fhem dialout   4096 May  9 18:01 Download
drwxrwxrwx  5 fhem dialout  20480 Aug 10 16:38 FHEM
-rw-rw-rw-  1 fhem dialout   6730 Aug 11 21:31 fhem.cfg
-rw-r--r--  1 fhem dialout  15703 May 23 22:04 fhem.cfg.demo
-rw-rw-rw-  1 fhem dialout 124852 Aug 10 16:38 fhem.pl
-rw-r--r--  1 fhem dialout      0 Jul 22  2015 fronthem.err
drwxrwxrwx  2 fhem dialout   4096 Aug 10 16:58 log
drwxr-xr-x  2 fhem dialout   4096 Aug 10 16:58 log-alt
drwxr-xr-x  3 fhem dialout   4096 Sep 19  2015 Q
-rw-rw-rw-  1 fhem dialout    761 Aug 18  2015 README_DEMO.txt
drwxrwxrwx  2 fhem dialout   4096 Feb 28 15:52 restoreDir
drwxrwxrwx  2 fhem dialout   4096 Apr 20 12:11 scripte
drwxrwxrwx  2 fhem dialout   4096 Feb 11  2016 unused
drwxrwxrwx 13 fhem dialout   4096 Feb 11 13:19 www
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

müssen die configDB Dateien auf -rw-rw-r geändert werden, weil pi in der Gruppe dialout ist und daher nur die Leserechte hat?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

(Ich gehe davon aus, dass die Datei configDB.conf korrekt geändert wurde?)

Probier mal folgendes...

1. gehe in den Ordner /opt/fhem-zwei
2. werde root mit "sudo su"
3. starte fhem manuell mit "perl fhem.pl configDB", dann solltest Du eine Fehlermeldung beim Absturz bekommen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

#21
ui, so geht es und stürzt nicht ab.

Edit:
Jetzt startet es irgendwie auch über das Start Skript, wenn ich den pi neustarte. Ich kann es nur immer noch nicht manuell mittels des User pi und dem Befehl "perl fhem.pl configDB" starten.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

Das ist schlecht. Ich vermute, da wird eine falsche Datenbank beschrieben.

Das Durcheinander mit Deinen Verzeichnissen und Deinen Usern macht nur Probleme. Das solltest Du bereinigen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

Zitat von: betateilchen am 11 August 2016, 21:59:40
Das Durcheinander mit Deinen Verzeichnissen und Deinen Usern macht nur Probleme. Das solltest Du bereinigen.

Ich habe den Fehler gefunden. Er schreibt die Datenbankdatei in das Verzeichnis /opt/fhem und nicht in /opt/fhem-zwei Da muss vermutlich der Pfad noch irgendwo angepasst werden. Ich schätze Mal in der Datei configDB.conf, oder?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

das hatte ich doch oben schon gefragt...

Zitat von: betateilchen am 11 August 2016, 21:46:26
(Ich gehe davon aus, dass die Datei configDB.conf korrekt geändert wurde?)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

#25
Das habe ich oben überlesen, aber jetzt geändert. Sry.

Jetzt habe ich die configDB.conf in /opt/fhem gelöscht und jetzt kann ich auch mittels sudo su es nicht mehr starten. Und hier der Fehler im Log:

2016.08.11 22:10:48 1: telnetPort: Can't open server port at 7072: Address already in use. Exiting.

Edit:
Der Fehler ist klar. Weil der Port ist 7073 für die zweite Instanz. Wo müsste ich das ändern?

Edit2:
Ah in der configDB.pm vermutlich :)

Edit3:
Das habe ich jetzt auch geändert, aber es bleibt bei dem Fehler, dass der Port belegt ist.

Edit4:
Ich habe es. Habe alles nochmal gelöscht in beiden Ordner und von vorne angefangen. Problem war, dass er erst in die Falsche Datei immer geschrieben hat, weil ich nicht wusste, dass ich die configDB.conf und die configDB.pm anpassen musste. Das habe ich jetzt vorher gemacht, dann habe ich neu migriert und jetzt funktioniert es. Danke für die Hilfe.

Und ja, es nicht so einfach mit den zwei Ordnern und zwei Installationen, aber noch habe ich keinen zweiten Pi und ich möchte einiges gerne testen bevor ich es in der richtigen Instanz übernehme :)
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

Zitat von: Amenophis86 am 11 August 2016, 22:11:21
Edit2:
Ah in der configDB.pm vermutlich :)
...
weil ich nicht wusste, dass ich die configDB.conf und die configDB.pm anpassen musste

In der configDB.pm hast Du nichts zu suchen!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Amenophis86

Auch, wenn dort der Port 7072 definiert ist und mein Port 7073 ist?
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

betateilchen

auch dann nicht.

Das ist nur ein "default" Eintrag, wenn jemand mit einer komplett leeren Datenbank anfängt zu arbeiten. Nach dem erstmaligen Start kann der Port geändert im laufenden fhem geändert werden.

Wer eine Migration von fhem.cfg nach configDB macht, muss sich ebenfalls nicht darum kümmern, weil dieser Eintrag dann niemals ausgeführt wird.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Bennemannc

Hallo,

die Ports stehen doch in der fhem.cfg - aber es müßte nicht nur bei Telnet knallen - auch die WebPorts müssen geändert werden, das die zweite Instanz ja die gleiche IP hat.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF