|
From: <pf...@us...> - 2012-06-13 22:07:18
|
Revision: 881
http://openautomation.svn.sourceforge.net/openautomation/?rev=881&view=rev
Author: pfry
Date: 2012-06-13 22:07:11 +0000 (Wed, 13 Jun 2012)
Log Message:
-----------
Bugfix bei der Erkennung eines ver?\195?\164nderten Configfiles
Modified Paths:
--------------
wiregate/plugin/generic/Logikprozessor.pl
wiregate/plugin/generic/Szenencontroller.pl
Modified: wiregate/plugin/generic/Logikprozessor.pl
===================================================================
--- wiregate/plugin/generic/Logikprozessor.pl 2012-06-13 21:58:48 UTC (rev 880)
+++ wiregate/plugin/generic/Logikprozessor.pl 2012-06-13 22:07:11 UTC (rev 881)
@@ -74,7 +74,8 @@
else { $event='cycle'; } # Zyklus
# Konfigfile seit dem letzten Mal geaendert?
-my $config_modified = (24*60*60*(-M $conf)-time()) > $plugin_info{$plugname.'_configtime'};
+my $configtime=24*60*60*(-M $conf);
+my $config_modified = ($configtime < $plugin_info{$plugname.'_configtime'}-1);
# Plugin-Code
my $retval='';
@@ -84,10 +85,11 @@
# alle Variablen loeschen
for my $k (grep /^$plugname\_/, keys %plugin_info)
{
+ next if $k=~/^$plugname\_last/;
delete $plugin_info{$k};
}
- $plugin_info{$plugname.'_configtime'}=(24*60*60*(-M $conf)-time());
+ $plugin_info{$plugname.'_configtime'}=$configtime;
my $count=0;
my $err=0;
@@ -404,7 +406,7 @@
# Schaltjahr?
my $leapyear = ($Y % 4)==0 && ($Y % 100!=0 || $Y % 400==0);
- # Osterdatum berechnen (Algorithmus von Ron Mallen, Codefragment von Randy McLeary)
+ # Osterdatum berechnen (Algorithmus von Ron Mallen, Codefragment von Randy McLeary, beruht auf der Formel von Gauss/Lichtenberg)
my $C = int($Y/100);
my $G = $Y%19;
my $K = int(($C - 17)/25);
Modified: wiregate/plugin/generic/Szenencontroller.pl
===================================================================
--- wiregate/plugin/generic/Szenencontroller.pl 2012-06-13 21:58:48 UTC (rev 880)
+++ wiregate/plugin/generic/Szenencontroller.pl 2012-06-13 22:07:11 UTC (rev 881)
@@ -49,7 +49,8 @@
return $err if $err;
# Konfigfile seit dem letzten Mal geaendert?
-my $config_modified = ($scene{storage} ne 'configfile' && (24*60*60*(-M $conf)-time()) > $plugin_info{$plugname.'_configtime'});
+my $configtime=24*60*60*(-M $conf);
+my $config_modified = ($scene{storage} ne 'configfile' && $configtime < $plugin_info{$plugname.'_configtime'}-1);
# Dynamisch definierte Szenen aus plugin_info einlesen
recall_from_plugin_info();
@@ -59,14 +60,15 @@
if($event=~/restart|modified/ || $config_modified)
{
- $plugin_info{$plugname.'_configtime'}=(24*60*60*(-M $conf)-time());
-
# Cleanup aller Szenenvariablen in %plugin_info
for my $k (grep /^$plugname\_/, keys %plugin_info)
{
+ next if $k=~/^$plugname\_last/;
delete $plugin_info{$k};
}
+ $plugin_info{$plugname.'_configtime'}=$configtime;
+
# Alle Szenen-GAs abonnieren
my $count=0;
my $scene_lookup='';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|