From 02b92dbd4bef532c203523c60a8b5b063d7e3e5a Mon Sep 17 00:00:00 2001 From: martinp876 <> Date: Sun, 1 Aug 2021 18:53:15 +0000 Subject: [PATCH] HMInfo:commandref Attribute, ClearG msgError bugfix git-svn-id: https://svn.fhem.de/fhem/trunk@24816 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_HMinfo.pm | 68 +++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/fhem/FHEM/98_HMinfo.pm b/fhem/FHEM/98_HMinfo.pm index 0891cc4e0..cae65af93 100644 --- a/fhem/FHEM/98_HMinfo.pm +++ b/fhem/FHEM/98_HMinfo.pm @@ -98,6 +98,7 @@ sub HMinfo_Define($$){######################################################### ; $hash->{nb}{cnt} = 0; $modules{HMinfo}{helper}{initDone} = 0; + notifyRegexpChanged($hash,"global",0); HMinfo_init(); return; } @@ -432,7 +433,7 @@ sub HMinfo_status($){########################################################## push @updates,"ERR__protocol:" .join(",",sort map {"$_:$protE{$_}"} grep {$protE{$_}} sort keys(%protE)); push @updates,"W__protocol:" .join(",",sort map {"$_:$protW{$_}"} grep {$protW{$_}} sort keys(%protW)); - my @tpu = devspec2array("TYPE=CUL_HM:FILTER=state=unreachable"); + my @tpu = devspec2array("TYPE=CUL_HM:FILTER=DEF=......:FILTER=state=unreachable"); push @updates,"ERR__unreachable:".scalar(@tpu); push @updates,"I_autoReadPend:" .scalar @{$modules{CUL_HM}{helper}{qReqConf}}; # ------- what about rssi low readings ------ @@ -551,7 +552,7 @@ sub HMinfo_regCheck(@) { ###################################################### ) # content is already displayed ); } - push @regChPend,$eName if (keys %{$ehash->{helper}{shadowReg}}); + push @regChPend,$eName.":" if (keys %{$ehash->{helper}{shadowReg}}); } push @regMissing,$eName.":\t".join(",",@mReg) if (scalar @mReg); @@ -1016,9 +1017,8 @@ sub HMinfo_listOfTempTemplates() { ############################################ $defs{$n}{helper}{weekplanList} = \@tmpl; if ($modules{CUL_HM}{AttrList}){ - my $lst = "none,defaultWeekplan,".join(",",@tmpl); - $modules{CUL_HM}{AttrList} =~ s/ tempListTmpl(.*? )/ tempListTmpl:$lst /; - $modules{CUL_HM}{tempListTmplLst} = $lst; + $modules{CUL_HM}{tempListTmplLst} = "none,defaultWeekplan,".join(",",sort @tmpl); + CUL_HM_AttrInit($modules{CUL_HM}); } return ; } @@ -1869,9 +1869,9 @@ sub HMinfo_SetFn($@) {######################################################### } } if ($type eq "msgErrors"){#clear message events for all devices which has problems - my @devL = split(",",InternalVal($hash->{NAME},"W__protoNames","")); - push @devL,split(",",InternalVal($hash->{NAME},"CRI__protoNames","")); - push @devL,split(",",InternalVal($hash->{NAME},"ERR__protoNames","")); + my @devL = split(",",InternalVal($hash->{NAME},"iW__protoNames" ,"")); + push @devL,split(",",InternalVal($hash->{NAME},"iCRI__protoNames","")); + push @devL,split(",",InternalVal($hash->{NAME},"iERR__protocol" ,"")); foreach my $dName (HMinfo_noDup(@devL)){ CUL_HM_Set($defs{$dName},$dName,"clear","msgEvents"); @@ -3744,7 +3744,7 @@ sub HMinfo_noDup(@) {#return list with no duplicates###########################

Attributes -
  • autoUpdate +
  • autoUpdate retriggers the command update periodically.
    Example:
    will trigger the update every 10 min
  • -
  • autoArchive +
  • autoArchive if set fhem will update the configFile each time the new data is available. The update will happen with autoUpdate. It will not work it autoUpdate is not used.
    see also archConfig
  • -
  • hmAutoReadScan +
  • hmAutoReadScan defines the time in seconds CUL_HM tries to schedule the next autoRead from the queue. Despite this timer FHEM will take care that only one device from the queue will be handled at one point in time. With this timer user can stretch timing even further - to up to 300sec @@ -3800,45 +3800,45 @@ sub HMinfo_noDup(@) {#return list with no duplicates########################### Setting to 1 still obeys the "only one at a time" prinzip.
    Note that compressing will increase message load while stretch will extent waiting time.
  • -
  • hmIoMaxDly +
  • hmIoMaxDly max time in seconds CUL_HM stacks messages if the IO device is not ready to send. If the IO device will not reappear in time all command will be deleted and IOErr will be reported.
    Note: commands will be executed after the IO device reappears - which could lead to unexpected activity long after command issue.
    default is 60sec. max value is 3600sec
  • -
  • configDir +
  • configDir default directory where to store and load configuration files from. This path is used as long as the path is not given in a filename of a given command.
    It is used by commands like tempList or saveConfig
  • -
  • configFilename +
  • configFilename default filename used by saveConfig, purgeConfig, loadConfig
    verifyConfig
  • -
  • configTempFile<;configTempFile2><;configTempFile3> +
  • configTempFile<;configTempFile2><;configTempFile3> Liste of Templfiles (weekplan) which are considered in HMInfo and CUL_HM
    Files are comma separated. The first file is default. Its name may be skipped when setting a tempalte.
  • -
  • hmManualOper +
  • hmManualOper set to 1 will prevent any automatic operation, update or default settings in CUL_HM.
  • -
  • hmDefaults +
  • hmDefaults set default params for HM devices. Multiple attributes are possible, comma separated.
    example:
    attr hm hmDefaults hmProtocolEvents:0_off,rssiLog:0
  • -
  • verbCULHM +
  • verbCULHM set verbose logging for a special action for any CUL_HM entity.
    allSet: all set commands to be executed.
    allGet: all get requests to be executed.
  • -
  • autoLoadArchive +
  • autoLoadArchive if set the register config will be loaded after reboot automatically. See loadConfig for details
  • @@ -4214,7 +4214,7 @@ sub HMinfo_noDup(@) {#return list with no duplicates########################### Attribute -
  • autoUpdate +
  • autoUpdate führt den Befehl periodisch aus.
    Beispiel:
    führt den Befehl alle 10 Minuten aus
  • -
  • autoArchive +
  • autoArchive Sobald neue Daten verfügbar sind, wird das configFile aktualisiert. Für die Aktualisierung ist autoUpdate zwingend erforderlich.
    siehe auch archConfig
  • -
  • hmAutoReadScan +
  • hmAutoReadScan definiert die Zeit in Sekunden bis zum nächsten autoRead durch CUL_HM. Trotz dieses Zeitwertes stellt FHEM sicher, dass zu einem Zeitpunkt immer nur ein Gerät gelesen wird, auch wenn der Minimalwert von 1 Sekunde eingestellt ist. Mit dem Timer kann der Zeitabstand ausgeweitet werden - bis zu 300 Sekunden zwischen zwei Ausführungen.
    Das Herabsetzen erhöht die Funkbelastung, Heraufsetzen erhöht die Wartzezeit.
  • -
  • hmIoMaxDly +
  • hmIoMaxDly maximale Zeit in Sekunden für die CUL_HM Meldungen puffert, wenn das Gerät nicht sendebereit ist. Ist das Gerät nicht wieder rechtzeitig sendebereit, werden die gepufferten Meldungen verworfen und IOErr ausgelöst.
    Hinweis: Durch die Pufferung kann es vorkommen, dass Aktivität lange nach dem Absetzen des Befehls stattfindet.
    Standard ist 60 Sekunden, maximaler Wert ist 3600 Sekunden.
  • -
  • configDir +
  • configDir Verzeichnis für das Speichern und Lesen der Konfigurationsdateien, sofern in einem Befehl nur ein Dateiname ohne Pfad angegen wurde.
    Verwendung beispielsweise bei tempList oder saveConfig
  • -
  • configFilename +
  • configFilename Standard Dateiname zur Verwendung von saveConfig, purgeConfig, loadConfig
  • -
  • configTempFile<;configTempFile2><;configTempFile3> +
  • configTempFile<;configTempFile2><;configTempFile3> Liste der Templfiles (weekplan) welche in HM berücksichtigt werden
    Die Files werden kommasepariert eingegeben. Das erste File ist der Default. Dessen Name muss beim Template nicht eingegeben werden.
  • -
  • hmManualOper +
  • hmManualOper auf 1 gesetzt, verhindert dieses Attribut jede automatische Aktion oder Aktualisierung seitens CUL_HM.
  • -
  • hmDefaults +
  • hmDefaults setzt default Atribute fuer HM devices. Mehrere Attribute sind moeglich, Komma separiert.
    Beispiel:
    attr hm hmDefaults hmProtocolEvents:0_off,rssiLog:0
  • -
  • verbCULHM +
  • verbCULHM set verbose logging fuer ausgewaehlte aktionen von allen CUL_HM entities.
    allSet: alle set Kommandos fertig zur Ausführung.
    allGet: alle get Anfragen fertig zur Ausführung.
  • -
  • autoLoadArchive +
  • autoLoadArchive das Register Archive sowie Templates werden nach reboot automatischgeladen. Siehe loadConfig fuer details