diff --git a/fhem/configDB.pm b/fhem/configDB.pm index ab6068a69..242623391 100644 --- a/fhem/configDB.pm +++ b/fhem/configDB.pm @@ -517,7 +517,7 @@ sub cfgDB_Diff($$){ } $fhem_dbh->disconnect(); - $ret = "compare device: $search in current version (left) to version: $searchversion (right)\n"; + $ret = "compare device: $search in current version 0 (left) to version: $searchversion (right)\n"; $ret .= diff \$v0, \$v1, { STYLE => "Table" }; #, \%options; return $ret; @@ -671,6 +671,20 @@ Ver 0 always indicates the currently running configuration.
{cfgDB_List 'global',1}

+
  • {cfgDB_Diff <device>,<version>}

  • + Compare configuration dataset for device <device> from current version 0 with version <version>
    + Example for valid request:
    +
    + {cfgDB_Diff 'telnetPort',1}
    +
    + will show a result like this: +
    +compare device: telnetPort in current version 0 (left) to version: 1 (right)
    ++--+--------------------------------------+--+--------------------------------------+
    +| 1|define telnetPort telnet 7072 global  | 1|define telnetPort telnet 7072 global  |
    +* 2|attr telnetPort room telnet           *  |                                      |
    ++--+--------------------------------------+--+--------------------------------------+
    +
  • {cfgDB_Reorg [keep]}

  • Deletes all stored versions with version number higher than [keep].
    Default value for optional parameter keep = 3.
    @@ -703,6 +717,8 @@ Ver 0 always indicates the currently running configuration.
    This will take some moments, due to writing version informations.
    Finishing the save-process will be indicated by a corresponding message in frontend.
    +
  • You may need to install perl package Text::Diff to use cfgDB_Diff()
  • +
  • There still will be some more (planned) development to this extension, especially regarding some perfomance issues.

  • @@ -861,6 +877,20 @@ Ver 0 bezeichnet immer die aktuell geladene Konfiguration.
    {cfgDB_List 'global',1}

    +
  • {cfgDB_Diff <device>,<version>}

  • + Vergleicht die Konfigurationsdaten des Gerätes <device> aus der aktuellen Version 0 mit den Daten aus Version <version>
    + Beispielaufruf:
    +
    + {cfgDB_Diff 'telnetPort',1}
    +
    + liefert ein Ergebnis ähnlich dieser Ausgabe: +
    +compare device: telnetPort in current version 0 (left) to version: 1 (right)
    ++--+--------------------------------------+--+--------------------------------------+
    +| 1|define telnetPort telnet 7072 global  | 1|define telnetPort telnet 7072 global  |
    +* 2|attr telnetPort room telnet           *  |                                      |
    ++--+--------------------------------------+--+--------------------------------------+
    +
  • {cfgDB_Reorg [keep]}

  • Löscht alle gespeicherten Versionen mit Versionsnummer > [keep].
    Standardwert für den optionalen Parameter keep = 3.
    @@ -892,6 +922,8 @@ Ver 0 bezeichnet immer die aktuell geladene Konfiguration.
    Durch das Schreiben der Versionsinformationen dauert das ein paar Sekunden.
    Der Abschluss des Speichern wird durch eine entsprechende Meldung angezeigt.
    +
  • Für die Nutzung von cfgDB_Diff() wird das perl Paket Text::Diff benötigt.
  • +
  • Diese Erweiterung wird laufend weiterentwickelt. Speziell an der Verbesserung der Performance wird gearbeitet.

  • Viel Spass!