+ Das Modul HMinfo ermöglicht einen Überblick über eQ-3 HomeMatic Geräte, die mittels CUL_HM definiert sind.
+ Status Informationen und Zähler
+ HMinfo gibt einen Überlick über CUL_HM Installationen einschliesslich aktueller Zustände.
+ Readings und Zähler werden aus Performance Gründen nicht automatisch aktualisiert.
+ Mit dem Kommando update können die Werte aktualisiert werden.
+
+ Die Webansicht von HMinfo stellt Details über CUL_HM Instanzen mit ungewöhnlichen Zuständen zur Verfügung. Dazu gehören:
+
+ - Action Detector Status
+ - CUL_HM Geräte und Zustände
+ - Ereignisse im Zusammenhang mit Kommunikationsproblemen
+ - Zähler für bestimmte Readings und Zustände (z.B. battery) - attribut controlled
+ - Zähler für Readings, die auf Fehler hindeuten (z.B. overheat, motorError) - attribut controlled
+
+
+
+ Weiterhin stehen HM Kommandos zur Verfügung, z.B. für das Speichern aller gesammelten Registerwerte.
+
+ Ein Kommando wird für alle HM Instanzen der kompletten Installation ausgeführt.
+ Die Ausführung ist jedoch auf die dazugehörigen Instanzen beschränkt.
+ So wird rssi nur auf Geräte angewendet, da Kanäle RSSI Werte nicht unterstützen.
+ Filter
+ werden wie folgt angewendet:
+ set <name> <cmd> <filter> [<param>]
+ wobei sich filter aus Typ und Name zusammensetzt
+ [-dcasev] [-f <filter>]
+ Typ
+
+ - d - device :verwende Gerät
+ - c - channels :verwende Kanal
+ - v - virtual :unterdrücke virtuelle Instanz
+ - p - physical :unterdrücke physikalische Instanz
+ - a - aktor :unterdrücke Aktor
+ - s - sensor :unterdrücke Sensor
+ - e - empty :verwendet das Resultat auch wenn die Felder leer sind
+
+ und/oder Name:
+
+ - -f <filter> :Regulärer Ausdruck (regexp), um die Instanznamen zu filtern
+
+ Beispiel:
+
+ set hm param -d -f dim state # Zeige den Parameter 'state' von allen Geräten, die "dim" im Namen enthalten
+ set hm param -c -f ^dimUG$ peerList # Zeige den Parameter 'peerList' für alle Kanäle mit dem Namen "dimUG"
+ set hm param -dcv expert # Ermittle das Attribut expert für alle Geräte, Kanäle und virtuelle Instanzen
+
+
+
+ Define
+
+ define <name> HMinfo
+ Es muss nur eine Instanz ohne jegliche Parameter definiert werden.
+
+
+ Get
+
+ - models
+ zeige alle HM Modelle an, die von FHEM unterstützt werden
+
+ - param [filter] <name> <name>...
+ zeigt Parameterwerte (Attribute, Readings, ...) für alle Instanzen in Tabellenform an
+
+ - register [filter]
+ zeigt eine Tabelle mit Registern einer Instanz an
+
+ - regCheck [filter]
+ validiert Registerwerte
+
+ - peerCheck [filter]
+ validiert die Einstellungen der Paarungen (Peers). Hat ein Kanal einen Peer gesetzt, muss dieser auch auf
+ der Gegenseite gesetzt sein.
+
+ - peerXref [filter]
+ erzeugt eine komplette Querverweisliste aller Paarungen (Peerings)
+
+ - configCheck [filter]
+ Plausibilitätstest aller HM Einstellungen inklusive regCheck und peerCheck
+
+ - templateList [<name>]
+ zeigt eine Liste von Vorlagen. Ist kein Name angegeben, werden alle Vorlagen angezeigt
+
+ - msgStat [filter]
+ zeigt eine Statistik aller Meldungen der letzen Woche
+
+ - protoEvents [filter]
+ vermutlich die wichtigste Auflistung für Meldungsprobleme.
+ Informationen über ausstehende Kommandos und fehlgeschlagene Sendevorgänge
+ für alle Geräte in Tabellenform.
+ Mit clear Protocol kann die Statistik gelöscht werden.
+
+ - rssi [filter]
+ Statistik über die RSSI Werte aller HM Instanzen.
+
+
+ - templateChk [filter] <template> <peer:[long|short]> [<param1> ...]
+ Verifiziert, ob die Registerwerte mit der Vorlage in Einklang stehen.
+ Die Parameter sind identisch mit denjenigen für templateSet.
+ Wenn kein Peer benötigt wird, stattdessen none verwenden.
+ Beispiele für die Überprüfung von Einstellungen
+
+ set hm templateChk -f RolloNord BlStopUpLg none 1 2 # RolloNord, no peer, parameter 1 and 2 given
+ set hm templateChk -f RolloNord BlStopUpLg peerName:long # RolloNord peerName, long only
+ set hm templateChk -f RolloNord BlStopUpLg peerName # RolloNord peerName, long and short
+ set hm templateChk -f RolloNord BlStopUpLg peerName:all # RolloNord peerName, long and short
+ set hm templateChk -f RolloNord BlStopUpLg all:long # RolloNord any peer, long only
+ set hm templateChk -f RolloNord BlStopUpLg all # RolloNord any peer,long and short
+ set hm templateChk -f Rollo.* BlStopUpLg all # each Rollo* any peer,long and short
+ set hm templateChk BlStopUpLg # each entities
+
+
+
+ Set
+
+ Obwohl die Kommandos Einstellungen abrufen (get function), werden sie mittels set ausgeführt, um die
+ Benutzung mittels Web Interface zu erleichtern.
+
+ - update
+ Aktualisiert HM Status Zähler.
+
+ - autoReadReg [filter]
+ Aktiviert das automatische Lesen der Konfiguration für ein CUL_HM Gerät, wenn das Attribut autoReadReg auf 1 oder höher steht.
+
+ - clear [filter] [Protocol|readings|msgStat|register|rssi]
+ Führt ein set clear ... für alle HM Instanzen aus
+
+ - Protocol bezieht sich auf set clear msgEvents
+ - readings bezieht sich auf set clear readings
+ - rssi löscht alle rssi Zähler
+ - msgStat löscht die HM Meldungsstatistik
+ - register löscht alle Einträge in den Readings
+
+
+ - saveConfig [filter] [<file>]
+ Sichert alle HM Registerwerte und Peers. Siehe CUL_HM saveConfig.
+ purgeConfig wird automatisch ausgeführt, wenn die Datenmenge 1 MByte übersteigt.
+
+ - archConfig [filter] [<file>]
+ Führt saveConfig für alle Instanzen aus, sobald sich deren Konfiguration ändert.
+ Es schont gegenüber saveConfig die Resourcen, da es nur vollständige Konfigurationen sichert.
+ Die Option -a erzwingt das sofortige Archivieren für alle Geräte, die eine vollständige Konfiguration aufweisen.
+
+ - loadConfig [filter] [<file>]
+ Lädt Register und Peers aus einer zuvor mit saveConfig gesicherten Datei.
+ Es sollte mit Vorsicht verwendet werden, da es Daten zu FHEM hinzufügt, die nicht verifiziert sind.
+ Readings werden nicht ersetzt, nur fehlende Readings werden hinzugefügt. Der Befehl ist dazu geignet, um Readings
+ zu erstellen, die schwer zu erhalten sind. Readings von Geräten, die nicht dauerhaft empfangen sondern nur auf Tastendruck
+ aufwachen (z.B. Türsensoren), können nicht ohne Weiteres gelesen werden.
+ Daher liegt es in der Verantwortung des Benutzers gültige Werte zu verwenden. Es sollte autoReadReg für Geräte verwendet werden,
+ die einfach ausgelesen werden können.
+ Der Befehl aktualisiert lediglich FHEM Readings und Attribute. Die Programmierung des Gerätes wird nicht verändert.
+
+ - purgeConfig [filter] [<file>]
+ Bereinigt die gespeicherte Konfigurationsdatei. Durch die kumulative Speicherung der Registerwerte bleiben die
+ zuletzt gespeicherten Werte erhalten und alle älteren werden gelöscht.
+ Siehe CUL_HM saveConfig.
+
+
+
+ - tempList [filter][save|restore|verify] [<file>]
+ Diese Funktion ermöglicht die Verarbeitung von temporären Temperaturlisten für Thermostate.
+ Die Listen können in Dateien abgelegt, mit den aktuellen Werten verglichen und an das Gerät gesendet werden.
+ - save speichert die aktuellen tempList Werte des Systems in eine Datei.
+ Zu beachten ist, dass die aktuell in FHEM vorhandenen Werte benutzt werden. Der Benutzer muss selbst sicher stellen,
+ dass diese mit den Werten im Gerät überein stimmen.
+ Der Befehl arbeitet nicht kummulativ. Alle evtl. vorher in der Datei vorhandenen Werte werden überschrieben.
+ - restore in der Datei gespeicherte Termperaturliste wird direkt an das Gerät gesendet.
+ - verify vergleicht die Temperaturliste in der Datei mit den aktuellen Werten in FHEM. Der Benutzer muss
+ selbst sicher stellen, dass diese mit den Werten im Gerät überein stimmen.
+
+ - filename Name der Datei. Vorgabe ist tempList.cfg
+ Beispiel für einen Dateiinhalt:
+
+ entities:HK1_Climate,HK2_Clima
+ tempListFri>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 14.0
+ tempListMon>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0
+ tempListSat>08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0
+ tempListSun>08:00 14.0 15:00 18.0 21:30 19.0 24:00 14.0
+ tempListThu>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0
+ tempListTue>07:00 14.0 13:00 16.0 16:00 18.0 21:00 19.0 24:00 15.0
+ tempListWed>07:00 14.0 16:00 18.0 21:00 19.0 24:00 14.0
+ entities:hk3_Climate
+ tempListFri>06:00 17.0 12:00 21.0 23:00 20.0 24:00 19.5
+ tempListMon>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+ tempListSat>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+ tempListSun>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+ tempListThu>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+ tempListTue>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+ tempListWed>06:00 17.0 12:00 21.0 23:00 20.0 24:00 17.0
+
+ Datei Schlüsselwörter
+ - entities mittels Komma getrennte Liste der Instanzen für die die nachfolgende Liste bestimmt ist.
+ Es muss die tatsächlich für die Temperaturliste zuständige Instanz angegeben werden. Bei RTs ist das der Kanal 04,
+ bei TCs der Kanal 02.
+ - tempList... Zeiten und Temperaturen sind genau wie im Befehl "set tempList" anzugeben
+
+
+ - tempListTmpl [filter][templateName][verify|restore] [<file>]
+ programmiert eine oder mehrere Thermostatlisten (Vorlagen). Die Liste der Thermostate wird mittels Filter selektiert.
+
+ - templateName ist der Name wie in der Datei angegeben. Das Dateiformat ist identisch mit
+ dem Format von tempList. Wenn die in der Datei angegebene Instanz mit templateName
+ übereinstimmt, werden die Termperatureinstellungen aus der Datei an diejenigen Thermostate gesendet, die mittels
+ filter ausgewählt sind.
+ - file Name der Datei. Vorgabe: tempList.cfg
+
+
+
+ - cpRegs <src:peer> <dst:peer>
+ ermöglicht das Kopieren von Registern, Einstellungen und Verhalten zwischen gleichen Kanälen, bei einem Peer auch
+ zwischen unterschiedlichen Kanälen. Das Kopieren kann daher sowohl von Gerät zu Gerät, als auch innerhalb eines
+ Gerätes stattfinden.
+ src:peer ist die Quell-Instanz. Der Peer muss angegeben werden, wenn dessen Verhalten kopiert werden soll.
+ dst:peer ist die Ziel-Instanz.
+ Beispiel:
+
+ set hm cpRegs blindR blindL # kopiert alle Register (list 1) des Kanals von blindR nach blindL einschliesslich z.B. der
+ Rolladen Fahrzeiten. Register, die den Peer betreffen (list 3/4), werden nicht kopiert.
+ set hm cpRegs blindR:Btn1 blindL:Btn2 # kopiert das Verhalten der Beziehung Btn1/blindR nach Btn2/blindL
+ set hm cpRegs blindR:Btn1 blindR:Btn2 # kopiert das Verhalten der Beziehung Btn1/blindR nach Btn2/blindR, hier
+ innerhalb des Aktors
+
+
+ Einschränkungen:
+
+ cpRegs verändert keine Peerings oder liest direkt aus den Geräten. Die Readings müssen daher aktuell sein.
+ cpRegs kann nur auf identische Gerätemodelle angewendet werden
+ cpRegs erwartet aktuelle Readings. Dies muss der Benutzer sicher stellen.
+
+
+ - templateDef <name> <param> <desc> <reg1:val1> [<reg2:val2>] ...
+ definiert eine Vorlage.
+ param definiert die Namen der Parameters, die erforderlich sind, um die Vorlage auszuführen.
+ Diese sind abhängig von der Vorlage und können onTime oder brightnesslevel sein.
+ Bei einer Liste mehrerer Parameter müssen diese mittels Kommata separiert werden.
+ param1:param2:param3
+ Der Parameter del führt zur Löschung der Vorlage.
+ desc eine Beschreibung für die Vorlage
+ reg:val der Name des Registers und der dazugehörige Zielwert.
+ Wenn das Register zwischen long und short unterscheidet, muss das führende sh oder lg weggelassen werden.
+ Parameter müssen mit p angegeben werden, p0 für den ersten, p1 für den zweiten usw.
+
+ Beispiel
+
+ set hm templateDef SwOnCond level:cond "my description" CtValLo:p0 CtDlyOn:p1 CtOn:geLo
+
+
+ - templateSet <entity> <template> <peer:[long|short]> [<param1> ...]
+ setzt mehrere Register entsprechend der angegebenen Vorlage. Die Parameter müssen entsprechend der Vorlage angegeben werden.
+ templateSet akkumuliert alle Änderungen und schreibt das Ergebnis gesammelt.
+ entity: ist die Quell-Instanz. Der Peer muss angegeben werden, wenn dessen Verhalten kopiert werden soll.
+ template: eine der vorhandenen Vorlagen
+ peer: [long|short]:falls erforderlich muss der Peer angegeben werden. Wird kein Peer benötigt, '0' verwenden.
+ Bei einem Peer muss für den Tastendruck long oder short angegeben werden.
+ param: Nummer und Bedeutung des Parameters hängt von der Vorlage ab.
+ Ein Beispiel könnte sein (theoretisch, ohne die Vorlage anzugeben)
+
+ set hm templateSet Licht1 staircase FB1:short 20
+ set hm templateSet Licht1 staircase FB1:long 100
+
+ Einschränkungen:
+
+ Der Benutzer muss aktuelle Register/Konfigurationen sicher stellen.
+ templateSet konfiguriert ggf. nur einzelne Register und keinen vollständigen Satz. Dies hängt vom Design der Vorlage ab.
+
+
+
+
+
+
+
+
+ Attribute
+
+ - sumStatus
+ erzeugt eine Liste von Warnungen. Die zu untersuchenden Readings werden mittels Komma separiert angegeben.
+ Die Readings werden, so vorhanden, von allen Instanzen ausgewertet, gezählt und getrennt nach Readings mit
+ gleichem Inhalt ausgegeben.
+ Beispiel:
+
+ attr hm sumStatus battery,sabotageError
+
+ könnte nachfolgende Ausgaben erzeugen
+ W_sum_batterie ok:5 low:3
+ W_sum_sabotageError on:1
+
+ Anmerkung: Zähler mit Werten von '0' werden nicht angezeigt. HMinfo findet alle vorhanden Werte selbstständig.
+ Das Setzen des Attributes ermöglicht einen schnellen Überblick über systemkritische Werte.
+
+ - sumERROR
+ Ähnlich sumStatus, jedoch mit dem Fokus auf signifikante Fehler.
+ Hier können Reading Werte angegeben werden, die dazu führen, dass diese nicht angezeigt werden.
+ Damit kann beispielsweise verhindert werden, dass der zu erwartende Normalwert oder ein anderer nicht
+ kritischer Wert angezeigt wird.
+ Beispiel:
+
+ attr hm sumERROR battery:ok,sabotageError:off,overheat:off,Activity:alive:unknown
+
+ erzeugt folgende Ausgabe:
+
+ ERR_batterie low:3
+ ERR_sabotageError on:1
+ ERR_overheat on:3
+ ERR_Activity dead:5
+
+
+ - autoUpdate
+ führt den Befehl periodisch aus.
+ Beispiel:
+
+ attr hm autoUpdate 00:10
+
+ führt den Befehl alle 10 Minuten aus
+
+ - autoArchive
+ Sobald neue Daten verfügbar sind, wird das configFile aktualisiert.
+ Für die Aktualisierung ist autoUpdate zwingend erforderlich.
+ siehe auch archConfig
+
+
+ - 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
+ 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
+ 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
+ Standard Dateiname zur Verwendung von
+ saveConfig,
+ purgeConfig,
+ loadConfig
+
+ - hmManualOper
+ auf 1 gesetzt, verhindert dieses Attribut jede automatische Aktion oder Aktualisierung seitens CUL_HM.
+
+
+
+
+ Variablen
+
+ - I_autoReadPend: Info: Liste der Instanzen, für die das Lesen von Konfiguration und Status ansteht,
+ üblicherweise ausgelöst durch autoReadReg.
+ - ERR___rssiCrit: Fehler: Liste der Geräte mit kritischem RSSI Wert
+ - W_unConfRegs: Warnung: Liste von Instanzen mit unbestätigten Änderungen von Registern.
+ Die Ausführung von getConfig ist für diese Instanzen erforderlich.
+ - I_rssiMinLevel: Info: Anzahl der niedrigen RSSI Werte je Gerät, in Blöcken angeordnet.
+
+ - ERR__protocol: Fehler: Anzahl nicht behebbarer Protokollfehler je Gerät.
+ Protokollfehler sind NACK, IOerr, ResendFail, CmdDel, CmdPend.
+ Gezählt wird die Anzahl der Geräte mit Fehlern, nicht die Anzahl der Fehler!
+ - ERR__protoNames: Fehler: Liste der Namen der Geräte mit nicht behebbaren Protokollfehlern
+ - I_HM_IOdevices: Info: Liste der IO Geräte, die von CUL_HM Instanzen verwendet werden
+ - I_actTotal: Info: Status des Actiondetectors, Zähler für Geräte mit bestimmten Status
+ - ERRactNames: Fehler: Namen von Geräten, die der Actiondetector als ausgefallen meldet
+ - C_sumDefined: Count: In CUL_HM definierte Instanzen. Instanzen können als Gerät UND
+ als Kanal gezählt werden, falls die Funktion des Kanals durch das Gerät
+ selbst abgedeckt ist. Ähnlich virtual
+ - ERR_<reading>: Fehler: Anzahl mittels Attribut sumERROR
+ definierter Readings, die nicht den Normalwert beinhalten.
+ - ERR_names: Fehler: Namen von Instanzen, die in einem ERR_<reading> enthalten sind.
+ - W_sum_<reading> Warnung: Anzahl der mit Attribut sumStatus definierten Readings.
+ Beispiele:
+
+ ERR___rssiCrit LightKittchen,WindowDoor,Remote12
+ ERR__protocol NACK:2 ResendFail:5 CmdDel:2 CmdPend:1
+ ERR__protoNames LightKittchen,WindowDoor,Remote12,Ligth1,Light5
+ ERR_battery: low:2;
+ ERR_names: remote1,buttonClara,
+ I_rssiMinLevel 99>:3 80<:0 60<:7 59<:4
+ W_sum_battery: ok:5;low:2;
+ W_sum_overheat: off:7;
+ C_sumDefined: entities:23 device:11 channel:16 virtual:5;
+
+
+
+=end html
+=cut
|