Global: Unterschied zwischen den Versionen
(redaktionell) |
Krikan (Diskussion | Beiträge) K (→sendStatistics: -> Befehl korrigiert) |
||
Zeile 130: | Zeile 130: | ||
* ''onUpdate'': Übertragung von INFO-Daten bei jedem Update (empfohlene Einstellung). | * ''onUpdate'': Übertragung von INFO-Daten bei jedem Update (empfohlene Einstellung). | ||
* ''manually'': Manuelle Übertragung der INFO-Daten mit dem FHEM-Befehl [[send]]. | * ''manually'': Manuelle Übertragung der INFO-Daten mit dem FHEM-Befehl [[fheminfo|fheminfo send]]. | ||
* ''never'': Die Übertragung von INFO-Daten wird komplett verhindert. | * ''never'': Die Übertragung von INFO-Daten wird komplett verhindert. | ||
=== statefile === | === statefile === | ||
Der Wert dieses Attributes legt den Namen der Datei fest, in die Statusinformationen aller Geräte gespeichert werden, bevor der Server heruntergefahren wird. Falls diese Datei nicht angegeben wird, werden keinerlei Informationen gesichert. | Der Wert dieses Attributes legt den Namen der Datei fest, in die Statusinformationen aller Geräte gespeichert werden, bevor der Server heruntergefahren wird. Falls diese Datei nicht angegeben wird, werden keinerlei Informationen gesichert. |
Version vom 3. Mai 2019, 14:47 Uhr
global | |
---|---|
Zweck / Funktion | |
Gerät zur Definition von globalen Attributen | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung |
Modulname | fhem.pl ("Built-in") |
Ersteller | rudolfkoenig (Forum / Wiki) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Device global dient dazu, diverse allgemein für das gesamte FHEM gültige Eigenschaften und Verhaltensvorgaben zu definieren. Diese werden in Attributen des devices verwaltet, indem deren Werten gemäß der dokumentierten Bedeutung gesetzt werden.
Das Pseudogerät global wird automatisch erstellt, kann weder gelöscht noch umbenannt werden und hat auch keine set oder get Parameter.
Todo: Ergänzen |
Definition
Nicht erforderlich; wird automatisch angelegt.
Attribute
altitude
Höhe in Metern über dem Meeresspiegel, Voreinstellung ist 0.
latitude
Geographische Breite in Dezimalgrad, Voreinstellung ist 50.112, Frankfurt am Main.
longitude
Geographische Länge in Dezimalgrad, Voreinstellung ist 8.686, Frankfurt am Main.
archivedir, archivecmd, nrarchive
Diese Attribute können grundsätzlich in allen Devices gesetzt werden und beziehen sich dann auf deren Logging. Im Device global wirken sie ausschließlich auf das FHEM logfile.
Wenn eine neue FileLog-Datei geöffnet wird, wird der FileLog archiver aufgerufen. Das geschieht aber nur, wenn der Name der Datei sich geändert hat (abhängig von den zeitspezifischen Wildcards, die in FileLog (define) beschrieben werden) und gleichzeitig ein neuer Datensatz in diese Datei geschrieben werden muss.
Wenn das Attribut archivecmd benutzt wird, startet es als shell-Kommando (eine Einbettung in " ist nicht notwendig), und jedes % in diesem Befehl wird durch den Namen des alten Logfiles ersetzt.
Wenn dieses Attribut nicht gesetzt wird, aber dafür nrarchive, werden nrarchive viele Logfiles im aktuellen Verzeichnis gelassen, und ältere Dateien in das Archivverzeichnis (archivedir) verschoben (oder gelöscht, falls kein archivedir gesetzt wurde).
Achtung: "ältere Dateien" sind die, die in der alphabetisch sortierten Liste oben sind.
archivesort
archivesort kann auf dem (voreingestellten) Wert alphanum oder auf timestamp gesetzt werden, und bestimmt die Methode für die Reihenfolgenberechnung der Dateien für nrarchive.
autoload_undefined_devices
Wenn dieses Attribut gesetzt ist, werden die zu einer neu empfangenen Nachricht zugehörigen Module automatisch geladen. Dies erfolgt vom autocreate Gerät, um so automatisch ein FHEM-Gerät bei erreichen einer entsprechenden Nachricht zu erstellen.
Todo: Ergänzen: gesetzt mit welchem Wert? |
backupcmd
Wenn dieses Attribut gesetzt ist, startet es als ein SHELL-Befehl und erstellt eine durch Leerzeichen getrennte Liste von Dateien/Verzeichnissen als ein Argument zum Befehl, z.B.:
"/etc/fhem.cfg /var/log/fhem/fhem.save /usr/share/fhem/contrib /usr/share/fhem/FHEM /usr/share/fhem/foo /usr/share/fhem/foobar /usr/share/fhem/www"
Bemerkung: Ihr Befehl/Skript muss die Zeichenkette "backup done" zurückgeben oder eine entsprechende Zeichenkette um Fehlermeldungen auszugeben, damit die Zusammenarbeit mit update funktioniert!
Todo: Ergänzen: Was denn nun: 'backup done' oder die oben beschriebene Zeichenkette? |
Dieses Attribut wird vom backup Befehl benutzt.
Beispiel:
attr global backupcmd /usr/local/bin/myBackupScript.sh
backupdir
Ein Verzeichnis, in dem die komprimierten Sicherheitsdateien zu speichern sind. Dieses Attribut wird vom backup Befehl benutzt. Beispiel:
attr global backupdir /Volumes/BigHD
backupsymlink
Wird dieses Attribut auf etwas anderes als no gesetzt, dann unterstützt der Archivierungsbefehl "tar" symbolische Links in Ihrem Backup. Andererseits, anderenfalls (Wert no) werden symbolische Links vom Befehl "tar" ignoriert. Dieses Attribut wird vom backup Befehl benutzt.
Beispiel:
attr global backupsymlink yes
blockingCallMax
Begrenzt die Anzahl der parallel laufenden Prozesse, die von der FHEM Hilfsroutine BlockingCall gestartet wurden. Sinnvoll auf weniger leistungsfähigeren Hardware.
configfile
Enthält den Namen der FHEM Konfigurationsdatei. Wenn save ohne Argumente aufgerufen wird dann wird die Ausgabedatei unter diesem Dateinamen gespeichert.
commandref
Falls der Wert full (die Voreinstellung) ist, wird nach jedem update ein komplettes commandref.html generiert. Falls der Wert modular ist, wird die Moduldokumentation erst nach Bedarf während der Laufzeit per JavaScript geladen.
dnsHostsFile
Falls dnsServer gesetzt ist, wird die angegebene Datei nach dem Hostnamen durchsucht. Um die vom System verwendete Datei zu benutzen, ist es unter Linux/Unix/OSX auf /etc/hosts und unter Windows auf C:\windows\system32\drivers\etc\hosts zu setzen. Achtung: es wird nur IPv4 unterstützt.
dnsServer
Enthält die IP Adresse des DNS Servers. Die von bestimmten Modulen (oder eigenen Code) aufgerufene HttpUtils_NonblockingGet wird auch bei der DNS Auflösung nicht mehr blockieren, falls dieses Attribut gesetzt ist, da es in diesem Fall FHEM eigene Routinen aufgerufen werden. Sonst werden die Betriebssystem eigenen, blockierenden Routinen inet_aton bzw gethostbyname aufgerufen.
featurelevel
Der Wert dieses Attributes de-/aktiviert einzelne Fähigkeiten (Features) bzw. Verhaltensweisen, die im Laufe der Versionsgeschichte dazugekommen sind, entfernt oder geändert wurden basierend auf der angegebenen FHEM Version.
Bei einer Neuinstallation oder einem Update wird der Featurelevel automatisch auf die aktuelle Version gesetzt. Ein manuelles
attr global featurelevel x.y
mit den Werten für x und y aus den gewünschten Haupt- und Unterversionsnummern setzt temporär oder - bei Speicherung in der fhem.cfg dauerhaft - eine gewünschte Version als Basis. Dieses Vorgehen kann z.B. bei Upgrades mit unerwarteten Nebenwirkungen eine erste Maßnahme und Workaround sein.
holiday2we
Ist dieses Attribut gesetzt, wird die Variable $we als "true" betrachtet, wenn der Wert der Variable holiday zu diesem Attribut nicht "none" ist.
Falls der Wert des Attributes eine Komma getrennte Liste ist, dann ist $we wahr, falls eine der referenzierten Instanzen nicht "none" ist.
Beispiel:
attr global holiday2we hessen
Todo: Verwirrung auflösen... |
httpcompress
Einige Module von FHEM verwenden das Modul HttpUtils mit aktivierter Komprimierung (Voreinstellung). Falls man httpcompress auf 0 setzt, wird die Komprimierung deaktiviert.
Todo: Wozu sollte das gut sein? |
keyFileName
FHEM Module speichern Passwörter und IDs in der Datei FHEM/FhemUtils/uniqueID. Um mehrere FHEM-Instanzen im gleichen Verzeichnis starten zu können, kann man dieses Attribut setzen, dessen Wert an FHEM/FhemUtils/ angehängt wird.
logdir
Falls gesetzt, wird %L in dem Attribut logfile (oder in der Dateinamen Spezifikation des FileLog Moduls) durch den Wert des Attributes ersetzt.
Achtung Wird der Wert des Attributes geändert, bewirkt dies nicht das Verschieben bereits erstellter Dateien, und kann daher potentiell zu diversen Problemen führen.
logfile
Gibt das Logfile an, in welches gespeichert werden soll. Mit dem Wert "-" erfolgt die Ausgabe des Logs in das stdout-Gerät. In diesem Fall stellt sich der Server nicht selbst in den Hintergrund.
Der Name der Logdatei kann auch "wildcards" enthalten, um eine einfachere Abfolge für die Dateien zu erreichen. Weiteres zu den Dateinamen beim Modul FileLog.
Die Attribute archivedir, archivecmd, nrarchive können ggf. passend gesetzt werden.
Sie können den Namen der Logdatei mit {$currlogfile} festlegen.
Todo: Der Gehalt des letzten Satzes erschließt sich nicht. |
maxShutdownDelay
Einige Module benötigen Zeit zum Aufräumen beim shutdown, aber FHEM begrenzt diese Zeit auf 10 Sekunden. Mit diesem Attribut kann man sie anpassen.
modpath
Mit modpath geben Sie den Pfad zu dem Verzeichnis der FHEM Module an. Der Pfad enthält nicht das Verzeichnis FHEM. Das festgelegte Verzeichnis wird nach Dateinamen in der Form NN_<NAME>.pm durchsucht. Die gefundenen Dateien dienen als Quelle die Definition von Geräten unter dem Namen <NAME>. Wenn das erste Gerät des Typs <NAME> definiert wird, werden die entsprechenden Module geladen und in dem Modul die entsprechende Funktion mit dem Namen <NAME>_Initialize aufgerufen. Eine Ausnahme bilden Module die mit der Nummer 99 im Dateinamen beginnen. Diese enthalten PERL-Hilfsfunktionen und werden zur Startzeit geladen.
motd
Message Of The Day (Nachricht des Tages). Der hier hinterlegte Text wird im Begrüßungsbildschirm von FHEM angezeigt, oder direkt beim Start einer "telnet" Sitzung, bevor der Prompt (fhem>)erscheint. Der SecurityCheck setzt motd wenn es bisher nicht gesetzt ist. Um das zu verhindern, können sie den Wert von motd auf none setzen. motd wird auch verwendet, um Fehlermeldungen während des FHEM-Starts zu sammeln und anzuzeigen.
mseclog
Wenn dieses Attribut gesetzt ist, enthalten Datums/Zeiteinträge (timestamp) in der Logdatei einen Millisekunden-Eintrag.
Todo: Gesetzt auf was? |
nofork
Wenn dieses Attribut oder das Attribut logfile auf "-" gesetzt ist, wird FHEM nicht im Hintergrund abgearbeitet. Dieses Attribut ist bei einigen FHEM Installationen auf FRITZ!-Boxen notwendig, und wird fuer Windows automatisch gesetzt.
Todo: Ist das so formuliert tatsächlich korrekt? |
pidfilename
In die angegebene Datei wird die Prozess-ID des FHEM(-Perl)-Prozesses geschrieben. Der Server läuft als Hintergrundprozess (daemon). Einige Distributionen wollen anhand der PID testen, ob der FHEM Prozess läuft. Die Datei wird bei Ausführung des "shutdown"-Kommandos gelöscht.
proxy
Der Wert wird in der Form IP:PORT gesetzt, wenn HttpUtils einen HTTP-Proxy verwenden soll.
proxyAuth
Base64 kodiertes Benutzername:Passwort für den HTTP-Proxy (vgl. Attribut proxy.
proxyExclude
Regulärer Ausdruck für die Namen aller Hosts, die nicht via Proxy anzusprechen sind.
restoreDirs
Update sichert (kopiert) jede Datei, bevor sie durch die neue Version ersetzt wird. Zu diesen Zweck wird zuerst ein restoreDir/Update-Verzeichnis angelegt (vgl. Attribut modpath) und danach ein Unterverzeichnis mit dem aktuellen Datum. In dieses Verzeichnis werden die alten Versionen der Dateien vor dem Überschreiben gerettet. Die Voreinstellung ist 3, d.h. die letzten 3 Datums-Verzeichnisse werden aufgehoben, und die älteren entfernt.
Auch fhem.cfg und fhem.state wird auf diese Weise vor dem Ausführen von save gesichert, diesmal in das restoreDir/save Verzeichnis. Zum Restaurieren der alten Dateien kann man das restore Befehl verwenden.
Falls man den Wert auf 0 setzt, ist dieses Feature deaktiviert.
sendStatistics
Der Wert dieses Attributes steuert das Verhalten des Moduls Fheminfo:
- onUpdate: Übertragung von INFO-Daten bei jedem Update (empfohlene Einstellung).
- manually: Manuelle Übertragung der INFO-Daten mit dem FHEM-Befehl fheminfo send.
- never: Die Übertragung von INFO-Daten wird komplett verhindert.
statefile
Der Wert dieses Attributes legt den Namen der Datei fest, in die Statusinformationen aller Geräte gespeichert werden, bevor der Server heruntergefahren wird. Falls diese Datei nicht angegeben wird, werden keinerlei Informationen gesichert.
title
Setzt im Browser den Fenstertitel der FHEM-Session. Ist der Wert in {} eingeschlossen, wird er als Perl-Ausdruck ausgewertet.
useInet6
Die HttpUtils Routinen verwenden IPv6 für die Kommunikation, falls der Server eine IPv6 Adresse hat.
Achtung: das Perl-Modul IO::Socket::INET6 wird benötigt.
Todo: Welcher Wert ist für das Attribut zu setzen? |
userattr
Enthält eine durch Leerzeichen getrennte Liste, in der die Namen zusätzlicher Attribute aufgeführt sind, die in allen Devices verfügbar werden. Diese müssen zuerst in dieser Liste definiert werden, bevor sie (individuell bei allen Geräten) angewendet werden können.
userattr kann auch als Attribut in einzelnen Gerätekonfigurationen spezifiziert werden, um weitere Attribute für diese Geräte zu definieren.
Achtung: Bei der Festlegung global verfügbarer, zusätzlicher Attributnamen ist dringend darauf zu achten, dass keine Kollisionen mit Geräte spezifischen Attributen erzeugt werden.
dupTimeout
Definert die Wartezeit, nach der 2 identische Ereignisse zweier Empfänger als Duplikat angesehen werden. Voreingestellt sind 0,5 Sekunden.
showInternalValues
Attribute, Geräte, Readings die mit Punkt (.) anfangen werden nicht angezeigt, es sei denn das globale Attribut showInternalValues ist gesetzt. Diese Variable wird bei den Befehlen list und xmllist und bei der FHEMWEB Raumansicht geprüft.
Todo: ... gesetzt auf welchen Wert? |
sslVersion
Setzt die akzeptierten Crypto-Algorithmen im Hilfsmodul TcpServices. Die Voreinstellung TLSv12:!SSLv3 wird als sicherer erachtet als die vorherige SSLv23:!SSLv3:!SSLv2, aber sie kann Probleme mit nicht ausreichend aktualisierten Netzwerk-Diensten verursachen.
stacktrace
Falls auf 1 gesetzt, schreibt FHEM zusätzlich zu jedem "PERL WARNING" den stacktrace ins Log.
restartDelay
Setzt die Verzögerung beim Neustart mit shutdown restart, die Voreinstellung ist 2 (Sekunden).
autosave
Erlaubt manchen Modulen, nach einer automatischen Änderung der Konfiguration save auszuführen, z. B. nachdem ein Gerät angelegt wurde. Die Voreinstellung ist 1 (wahr), man kann es ausschalten, indem man den Wert auf 0 setzt.
weitere Informationen
Siehe commandref.