configDB - 99.* Dateien werden mehrfach geladen

Begonnen von betateilchen, 26 April 2014, 11:18:20

Vorheriges Thema - Nächstes Thema

betateilchen

aber mit Attributen hast Du das nicht getestet, das funktioniert nämlich nicht.

Die Funktion heißt cfgDB_AttrRead und nicht cfgDB_attrRead
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Und dann werde ich mich mal auf die Suche machen, warum die 99_myUtils aus der configDB immer noch zweimal geladen wird, die 99_Utils aus dem Dateisystem aber nicht.


2014.05.03 09:29:05 0: Server shutdown
2014.05.03 09:29:08 1: DEBUG>99_myUtils loaded...
2014.05.03 09:29:08 1: DEBUG>99_myUtils loaded...
2014.05.03 09:29:08 3: telnetPort: port 7072 opened
2014.05.03 09:29:08 3: WEB: port 8083 opened
2014.05.03 09:29:08 0: Server started with 4 defined entities
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

#17
Zitat von: betateilchen am 03 Mai 2014, 09:31:28
Und dann werde ich mich mal auf die Suche machen, warum die 99_myUtils aus der configDB immer noch zweimal geladen wird

Gefunden und gelöst.


Edit: zu früh gefreut :(
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

jetzt aber...


Index: fhem.pl
===================================================================
--- fhem.pl (revision 5725)
+++ fhem.pl (working copy)
@@ -154,7 +154,10 @@
sub cfgDB_ReadAll($);
sub cfgDB_SaveState;
sub cfgDB_SaveCfg;
-sub cfgDB_GlobalAttr;
+sub cfgDB_AttrRead($);
+sub cfgDB_ReadFile($);
+sub cfgDB_UpdateFile($);
+sub cfgDB_WriteFile($@);
sub cfgDB_svnId;

##################################################
@@ -2119,7 +2122,8 @@
     if(configDBUsed()) {
       my @dbList = split(/,/,cfgDB_Read99()); # retrieve filelist from configDB
       foreach my $m (@dbList) {
-        CommandReload(undef, $m) if(!$modules{$m}{LOADED});
+        $m =~ m/^([0-9][0-9])_(.*)\.pm$/;
+        CommandReload(undef, $m) if(!$modules{$2}{LOADED});
         $counter++;
       }
     }
@@ -3210,7 +3214,7 @@

   my ($err, @rows);
   if($f eq 'configDB') {
-    @rows = cfgDB_attrRead('global');
+    @rows = cfgDB_AttrRead('global');
   } else {
     ($err, @rows) = FileRead($f);
     die("$err\n") if($err);
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig


betateilchen

Danke.


Den von Dir beschriebenen Fehler mit der locked Database kann ich übrigens auch mit einer neu angelegten leeren Datenbank nicht erzeugen.

Kannst Du mir nochmal genau beschreiben, wie Du das Anlegen der db durchgeführt hast?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!