Hallo Matthias, hallo User,
auf dem ewigen Pfad der FHEM-Optimierung ist mir eines schon lange ein Dorn im Auge. Für den Device-Typ MAXLAN kann ich kein event-on-change-reading definieren, da offensichtlich die readingFnAttribute nicht implementiert sind. Für andere Max-Devices, wie zum Beispiel Thermostaten, ist dies jedoch möglich. Konkret geht es mir darum, dass bei jedem Refresh-Intervall zahlreiche Events ausgelöst werden, die man prima mit event-on-change-reading einschränken könnte:
2015-03-29 15:49:11 MAXLAN maxlan dutycycle: 4
2015-03-29 15:49:11 MAXLAN maxlan firmware: 0.1
2015-03-29 15:49:11 MAXLAN maxlan testresult: 0
2015-03-29 15:49:42 MAXLAN maxlan dutycycle: 4
2015-03-29 15:49:42 MAXLAN maxlan firmware: 0.1
2015-03-29 15:49:42 MAXLAN maxlan testresult: 0
2015-03-29 15:50:12 MAXLAN maxlan dutycycle: 4
2015-03-29 15:50:13 MAXLAN maxlan firmware: 0.1
2015-03-29 15:50:13 MAXLAN maxlan testresult: 0
2015-03-29 15:50:43 MAXLAN maxlan dutycycle: 4
2015-03-29 15:50:43 MAXLAN maxlan firmware: 0.1
2015-03-29 15:50:43 MAXLAN maxlan testresult: 0
2015-03-29 15:51:14 MAXLAN maxlan dutycycle: 4
2015-03-29 15:51:14 MAXLAN maxlan firmware: 0.1
2015-03-29 15:51:14 MAXLAN maxlan testresult: 0
2015-03-29 15:51:45 MAXLAN maxlan dutycycle: 4
2015-03-29 15:51:45 MAXLAN maxlan firmware: 0.1
2015-03-29 15:51:45 MAXLAN maxlan testresult: 0
Besteht die Möglichkeit das Modul entsprechend anzupassen?
Grüße,
Markus
Klar besteht die Möglichkeit. Wenn du mir einen Patch schickst, dann baue ich ihn gerne ein.
sub
MAXLAN_Initialize($)
{
my ($hash) = @_;
require "$attr{global}{modpath}/FHEM/DevIo.pm";
# Provider
$hash->{ReadFn} = "MAXLAN_Read";
$hash->{SetFn} = "MAXLAN_Set";
$hash->{Clients} = ":MAX:";
my %mc = (
"1:MAX" => "^MAX",
);
$hash->{MatchList} = \%mc;
# Normal devices
$hash->{DefFn} = "MAXLAN_Define";
$hash->{UndefFn} = "MAXLAN_Undef";
$hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 set-clock-on-init:1,0 " .
"loglevel:0,1,2,3,4,5,6 addvaltrigger " .
"timezone:CET-CEST,GMT-BST,EET-EEST,FET-FEST,MSK-MSD,GMT,CET,EET ".$readingFnAttributes;
}
;)
Committed ;)
Danke Markus!
Grüße,
Markus
Irgend ein Markus ist hier scheinbar immer zur Stelle ;)
Matthias, gibt's eigentlich schon was neues zu meiner programTemperature Erweiterung?