DevelopmentState
Der Default-Status eines Gerätes wird in FHEM durch die interne Variable STATE dargestellt. Dieser wird beispielsweise von FHEMWEB oder von dem list-Befehl angezeigt.
Dieser sollte jedoch von Modulautoren nicht direkt gesetzt werden. Stattdessen ermittelt FHEM den Wert folgendermaßen:
- Falls das Attribut stateFormat gesetzt ist, wird dieses ausgewertet und das Ergebnis in den STATE geschrieben. (Siehe commandref.html#readingFnAttributes)
- Falls das Reading state existiert, wird diesen in STATE übernommen.
Wenn ein Modulautor ein bestimmtes Reading in STATE vorgelegen möchte so kann er dies mit dem stateFormat-Attribut tun. Dies sollte aber nur in der define Funktion des Moduls geschehen, damit der User die Möglichkeit hat, das Attribut anschließend anzupassen.
Beispiel:
sub MYMODULE_Define($$) { my ($hash, $def) = @_; my @args = split("[ \t]+", $def); my ($name, $type) = @args; [...]; $attr{$name}{"stateFormat"} = "power"; [...]; } sub MYMODULE_Call($$) { [...]; my $power = [...]; readingsBeginUpdate($hash); readingsBulkUpdate($hash,"power",$power); readingsEndUpdate($hash, 1); [...]; }