Moin,
stehe gerade gewaltig auf dem Schlauch und sehe wohl den Fehler einfach nicht...
Das Forum ist sich ja soweit einig dass plugin_info persistent über einen Neustart hinweg ist, z.B. https://knx-user-forum.de/forum/supp...-hinaus-merken
Allerdings funktioniert das für meinen Gaszähler (an Tasterschnittstelle) nicht: die Variable ist nach einem Neustart verschwunden und muss über die normalerweise auskommentierte Zeile (siehe unten) erst wieder initialisiert werden.
Was mache ich verkehrt? Kann ich irgendwo mal an eine Einstellung gekommen sein? etc. etc.
SaveState scheint mir overkill wenn plugin_info doch eigentlich prima funktionieren müsste.
Vielen Dank für die Hilfe!
stehe gerade gewaltig auf dem Schlauch und sehe wohl den Fehler einfach nicht...
Das Forum ist sich ja soweit einig dass plugin_info persistent über einen Neustart hinweg ist, z.B. https://knx-user-forum.de/forum/supp...-hinaus-merken
PHP-Code:
$plugin_info{$plugname.'_irgendwas'} = "irgendwas anderes";
Allerdings funktioniert das für meinen Gaszähler (an Tasterschnittstelle) nicht: die Variable ist nach einem Neustart verschwunden und muss über die normalerweise auskommentierte Zeile (siehe unten) erst wieder initialisiert werden.
Was mache ich verkehrt? Kann ich irgendwo mal an eine Einstellung gekommen sein? etc. etc.
SaveState scheint mir overkill wenn plugin_info doch eigentlich prima funktionieren müsste.
Vielen Dank für die Hilfe!
Code:
# CONFIGURATION my $debugGasCounter = '0'; my $gasCounterGA = '9/1/100'; my $wiregateVariable = 'GasMeterCounter'; ### end CONFIGURATION # NB: important to configure Tasterschnittstelle to only count either steigende or fallende Flanke, as in: XOR ):-) ### no configuration expected below this line # -------------------------------------------------------------------------------------------------- # no cyclic calling, react to GA only $plugin_info{$plugname.'_cycle'} = 0; my $busActive = !(!keys %msg); # true if script was called due to bus traffic if( !$busActive ) # unnecesary during bus traffic { $plugin_subscribe{$gasCounterGA}{$plugname} = 1; plugin_log($plugname,'Subscribed to counter GA '.$gasCounterGA); #$plugin_info{$plugname.'_'.$wiregateVariable} = 11010.32; } else { $plugin_info{$plugname.'_'.$wiregateVariable} += 0.01; if ($debugGasCounter) {plugin_log($plugname,'GasMeterCounter='.$plugin_info{$plugname.'_'.$wiregateVariable});} } return 0;
Kommentar