Moin,
ich habe in meiner 99_myUtils.pm folgenden Code:
sub abfrageTemperatursensor($) {
my ($dummySensor)=@_;
my $sensorID = fhem("displayattr $dummySensor sensorID");
my $tempOffset = fhem("displayattr $dummySensor tempOffset");
my $result;
# sensor mit ID $sensorID abfragen
$result=int(`/opt/fhem/helperScripts/abfrageDS18B20.sh $sensorID`/100);
$result=(($result/10)*1.0)+$tempOffset;
# zum debuggen... loggen
#Log(3,"Result: $result");
# Wert uebergeben
fhem("set $dummySensor $result");
}
Jedes mal, wenn dieser Code aufgerufen wird, erhalte ich im fhem.log solche Einträge:
2017.04.09 12:06:03 3: displayattr Waermespeicher_Mitte sensorID : 10-0008030ce236
2017.04.09 12:06:03 3: displayattr Waermespeicher_Mitte tempOffset : -2.5
Warum ist das so und kann ich das irgendwie abstellen?
Gruß,
Stephan
AttrVal() statt fhem("displayattr... benutzen: https://fhem.de/commandref.html#perl
ahh... das war's - danke!
Gruß,
Stephan
Tipp am Rande ...
Diese Meldung im Log
2017.04.09 12:06:03 3: displayattr Waermespeicher_Mitte sensorID : 10-0008030ce236
wird von der Funktion fhem() erzeugt
my $sensorID = fhem("displayattr $dummySensor sensorID");
Dabei wird ein gesetzter Loglevel weitgehend ignoriert. Man kann diese Meldungen im Log aber vermeiden, wenn man die Funktion fhem() mit dem zusätzlichen, optionalen Parameter "silent" aufruft:
my $sensorID = fhem("displayattr $dummySensor sensorID",1);