Bei mir lief bislang nur dbLog über eine mySQL-Datenbank, die auf einem 24/7-NAS liegt. Jetzt wollte ich auch die Konfiguration auslagern. Nach der Anleitung habe ich eine weitere Datenbank angelegt und fhem über die Kommandozeile mit der fhem.cfg gestartet. Soweit so gut. Nur wenn ich nun
configdb migrate
aufrufe, kommt
Unknown command configdb
So sieht es im Log aus:
2015.07.05 09:10:52 1: reload: Error:Modul 98_configdb deactivated:
Attempt to reload configDB.pm aborted.
Compilation failed in require at ./FHEM/98_configdb.pm line 8.
BEGIN failed--compilation aborted at ./FHEM/98_configdb.pm line 8.
Was ist die Ursache???
Vermutlich liegt die Datei configDb.pm nicht da, wo FHEM gestartet wurde (cwd/pwd).
Ich bin extra per ssh auf den pi und in das entsprechende Verzeichnis (/opt/fhem/), so dass ich ohne Pfade perl mit den Parametern starten konnte. Zuerst hatte ich per sudo gestartet, jetzt auch testweise einfach als user pi. Der Fehler bleibt. Ist übrigens das aktuelle nightly:
2015.07.05 11:11:40 0: Server started with 90 defined entities (version $Id: fhem.pl 8850 2015-06-28 15:03:28Z rudolfkoenig $, os linux, user fhem, pid 24749)
zwischendurch mit user pi: (ohne sudo)
2015.07.05 10:58:06 0: Server started with 89 defined entities (version $Id: fhem.pl 8850 2015-06-28 15:03:28Z rudolfkoenig $, os linux, user pi, pid 24440)
Jetzt habe ich mal die Geschwätzigkeit erhöht:
2015.07.05 11:17:34 5: Cmd: >configdb migrate<
2015.07.05 11:17:34 5: Loading ./FHEM/98_configdb.pm
2015.07.05 11:17:34 1: reload: Error:Modul 98_configdb deactivated:
Attempt to reload configDB.pm aborted.
Compilation failed in require at ./FHEM/98_configdb.pm line 8.
BEGIN failed--compilation aborted at ./FHEM/98_configdb.pm line 8.
2015.07.05 11:17:34 0: Attempt to reload configDB.pm aborted.
Compilation failed in require at ./FHEM/98_configdb.pm line 8.
BEGIN failed--compilation aborted at ./FHEM/98_configdb.pm line 8.
2015.07.05 11:17:34 4: 24749:FHEMWEB:192.168.45.194:53154: /fhem&cmd=configdb+migrate / RL:17191 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
Des Rätsels Lösung war das fehlende CPAN-Modul Text::Diff
Zuerst fhem beenden. Danach:
sudo perl -MCPAN -e shell
1>install Text::Diff
2>quit
Und danach fhem wieder starten.