HMCCU: fehlende Syntaxprüfung beim Setzen von Attributen

Begonnen von betateilchen, 12 Oktober 2022, 17:55:51

Vorheriges Thema - Nächstes Thema

betateilchen

Meines Erachtens sollte man hier:


elsif ($attrname eq 'ccuGetVars') {
my ($interval, $pattern) = split /:/, $attrval;
$pattern = '.*' if (!defined ($pattern));
$hash->{hmccu}{ccuvarspat} = $pattern;
$hash->{hmccu}{ccuvarsint} = $interval;
RemoveInternalTimer ($hash, "HMCCU_UpdateVariables");
if ($interval > 0) {
HMCCU_Log ($hash, 2, "HMCCU: [$name] Updating CCU system variables every $interval seconds");
InternalTimer (gettimeofday()+$interval, "HMCCU_UpdateVariables", $hash);
}
}


eine sinnvolle Syntaxprüfung einbauen. Wenn ein User auf die Idee kommt, beim Setzen des Attributes nur ein (optionales) pattern anzugeben, ohne auch das (nicht optionale) interval zu definieren, können in FHEM ganz komische Dinge passieren.


-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!