Hauptmenü

99_myUtils

Begonnen von Stony, 14 Oktober 2015, 01:59:42

Vorheriges Thema - Nächstes Thema

dev0

Zitat von: ph1959de am 01 Dezember 2015, 11:48:26
Da ist meiner Ansicht nach im Wiki nichts zu korrigieren. Vor dem Passus steht eindeutig, dass es in die Konfiguration muss. Der Teil, der in die 99_myUtils.pm muss, ist ganz klar gegen den Rest abgegrenzt.


Der folgende Code ist in die Datei 99_myUtils.pm einzuarbeiten
#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
SYS_Backup:* {
fhem("backup");;


Sorry, aber auch wenn ich mir Mühe gebe, dann kann ich daraus nicht lesen, dass das nicht in 99_myUtils.pm soll.
Edit: Zumal genau dieser Code schön öfters hier im Forum aus der myUtils gepostet wurde.

ph1959de

@dev0: ok, jetzt sehe ich, was gemeint ist ... und bin immer noch der Ansicht, dass der Code in die myUtils sollte - nur, dass er weder für die eine noch die andere Stelle so verwendbar ist (für "direkt in fhem.cfg/DEF" ist er eigentlich zu komplex und für myUtils fehlt das "sub xxx (..."-Drumherum.

Ich erkläre mich auch bereit, das Wiki zu überarbeiten, wenn hier die funktionierende Lösung "auftaucht".

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

webturtle

Habe es über den DEF Editor des Notify gemacht. (Mache ich eigentlich immer)
Ist auch soweit ich weiss egal ob man dort einfache oder doppelte ";" macht. In die fhem.conf wird es immer korrekt eingetragen.

Ansonsten sehe ich auch so, dass es im Wiki falsch steht.
Und abgegrenzt ist da auch nichts. Zumal es jetzt bei mir funktioniert und ich überhaupt nichts in der 99myUtils.pm bezgl. des Backup stehen habe.
Es muss dort scheinbar auch nichts rein.

Leider weiss ich aktuell nicht wie man im Wiki etwas ändert, und bin auch nicht sicher ob ich als ersten Beitrag zum Wiki gleich einen Beitrag von Herrn König ändern soll.
Irgendwie hab ich da dann doch ein wenig Bammel.... :-)

Chris

webturtle

Zitat von: ph1959de am 01 Dezember 2015, 12:16:46
@dev0: ok, jetzt sehe ich, was gemeint ist ... und bin immer noch der Ansicht, dass der Code in die myUtils sollte - nur, dass er weder für die eine noch die andere Stelle so verwendbar ist (für "direkt in fhem.cfg/DEF" ist er eigentlich zu komplex und für myUtils fehlt das "sub xxx (..."-Drumherum.

Ich erkläre mich auch bereit, das Wiki zu überarbeiten, wenn hier die funktionierende Lösung "auftaucht".

Peter

Na ja, es funktioniert in der Tat wenn man dies einfach Copy Paste im DEF Editor des Notify macht. Zumindest das könnte im Wiki so geändert werden.

Mit zu komplex meinst du aber wohl nicht die Vorgehensweise sondern die Übersichtlichkeit der config, oder.
Da habe ich schlimmeres in einigen Notify stehen.
Seit ich mir angewöhnt habe die fhem.cfg nicht mehr direkt zu bearbeiten, finde ich das auch gar nicht Schlimm.
Ist ein echt guter Skripteditor in den Notfies drin und man sieht nur was man braucht.

Chris

db7

Hallo Zusammen,

ich bin auch drauf reingefallen, habe nun vom Kopfkratzen ein paar kahle Stellen mehr am Kopf. Viel bleibt nicht mehr zum kratzen :-)

Ich habe die Routine für das File-Listing überarbeitet:


#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
sub SYS_Backup {

# Directory, followed by a '/'
my $dir = "./backup/";
# List only $max Files, to disable set $max to 0
my $max=4;

my $mybackups;
my %HASH;
fhem("backup");
opendir DIR, $dir or die $!;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");
  $HASH{(stat($dir.$file))[9]}=$file;
  }
my $count = keys %HASH;

$mybackups="List only $max Files of $count" if($count>$max);
foreach (sort keys %HASH) {
  next if ((($count-- -$max) >0)&&$max);
  $mybackups.= '</br>'.$HASH{$_};
  }
fhem("set SYS_Backup ".$mybackups);
}

Ein Zeilenumbruch ist noch mit drin und es werden nur $max Files aufgelistet, wenn man will.
Der Code kann nun direkt in 99_myUtils eingebaut werden

Die def im notify ist auch anzupassen:
Internals:
   CFGFN     
   DEF        SYS_Backup:* { SYS_Backup }
   NAME       SYS_BackupRun
   NOTIFYDEV  SYS_Backup
   NR         785
   NTFY_ORDER 50-SYS_BackupRun
   REGEXP     SYS_Backup:*
   STATE      2016-01-09 19:32:49
   TYPE       notify


@Peter, wäre nett, wenn Du das Wiki überarbeitest.

Grüße Detlev.