Hallo zusammen,
ich habe hier die Anforderung, dass alle logs im rss-log per klick quittiert werden können.
Dafür habe ich folgendes plugin fürs WG geschrieben:
rsslog_ack.pl
	vielleicht kanns ja jemand gebrauchen.
vG
Wolfgang
					ich habe hier die Anforderung, dass alle logs im rss-log per klick quittiert werden können.
Dafür habe ich folgendes plugin fürs WG geschrieben:
rsslog_ack.pl
Code:
	
	#Plugin zum Quittieren aller unquittierten Meldungen im rss-log
#
#benötigt rsslog-plugin: http://openautomation.svn.sourceforge.net/viewvc/openautomation/wiregate/plugin/generic/RSSlog.pl
#erstellt unter Verwendung des rss-log Plugins von makki https://knx-user-forum.de/members/makki.html
#Copyright: ZeitlerW https://knx-user-forum.de/members/zeitlerw.html
#License: GPL (v2)
###################
### DEFINITION  ###
###################
$plugin_info{$plugname . '_cycle'} = 0; # Aufrufzyklus - never
###Quittungs - GA ####
my $ack_ga="15/0/2";
########################
### Ende DEFINITION  ###
########################
use DBI;
my $logdb = '/etc/wiregate/rss/rsslog.db';
# check setup, rights, DB
if (! -d dirname($logdb)) {
    mkdir(dirname($logdb),0777);
}
if (! -e $logdb) {
    return "$logdb existiert nicht! Bitte mit rsslog.php anlegen"; # FIXME: create sqlite-db
}
if ($msg{'apci'} eq "A_GroupValue_Write") { # Telegramm eingetroffen
        if ($msg{'dst'} eq $ack_ga) {
            return if $msg{'value'} == 0;
            plugin_log($plugname, $msg{'value'});
            my $dbargs = {AutoCommit => 0, PrintError => 1};
            my $dbh = DBI->connect("dbi:SQLite2:dbname=$logdb", "", "", $dbargs);
            $dbh->do('UPDATE Logs set state=1 where state=0;');
            if ($dbh->err()) { return "DB-Fehler: $DBI::errstr\n"; }
            $dbh->commit();
            $dbh->disconnect();
            knx_write($ack_ga,0,1);
            return; # "V: " . $dbh->{sqlite_version};
        }
} else { # zyklischer Aufruf/initialisierung
    #subscribe GAs
        $plugin_subscribe{$ack_ga}{$plugname} = 1;
}
return; # "Noop";
vG
Wolfgang




 dazu.. Jeder darf und soll bitte gerne, es gibt da keinen Filter (ausser den der Vernunft, das würde aber jeder von uns schnell sehen, wenns totaler crap ist..)
							
						
Kommentar