global

Aus FHEMWiki
Zur Navigation springen Zur Suche springen


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 (z. B. auf den Wert 1) gesetzt ist, enthalten Datums/Zeiteinträge (timestamp) in der Logdatei einen Millisekunden-Eintrag.

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.

Auch wenn man autosave auf 1 setzt, wird es automatisch beim Starten wieder auf 0 gesetzt, falls beim Starten was schiefgegangen ist, damit ein automatisches Save (wie auch manche Module das ungefragt machen) nicht zum Verlust von Teilen der Konfiguration führt.

weitere Informationen

Siehe commandref.