mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
new mode "shellscript" (checked in with Rev 3067), documentation updates
git-svn-id: https://svn.fhem.de/fhem/trunk@3200 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e61196a549
commit
ccf4ad1a41
@ -1,5 +1,7 @@
|
||||
# Add changes at the top of the list. Keep it in ASCII
|
||||
- SVN
|
||||
- feature: PRESENCE: new mode "shellscript" to use own
|
||||
scripts or binaries for presence recognition
|
||||
- feature: YAMAHA_AVR: new set command to select scenes
|
||||
- feature: PRESENCE: new attribute ping_count
|
||||
- feature: userReadings may have a filter
|
||||
|
@ -909,7 +909,8 @@ PRESENCE_ProcessAbortedScan($)
|
||||
<li><b>lan-ping</b> - A presence check of a device via network ping in your LAN/WLAN</li>
|
||||
<li><b>fritzbox</b> - A presence check by requesting the device state from the FritzBox internals (only available when running FHEM on a FritzBox!)</li>
|
||||
<li><b>local-bluetooth</b> - A presence check by searching directly for a given bluetooth device nearby</li>
|
||||
<li><b>function</b> - A presence check by using your own perl function which returns a presence status</li>
|
||||
<li><b>function</b> - A presence check by using your own perl function which returns a presence state</li>
|
||||
<li><b>shellscript</b> - A presence check by using an self-written script or binary which returns a presence state</li>
|
||||
<li><b>lan-bluetooth</b> - A presence check of a bluetooth device via LAN network by connecting to a presenced or collectord instance</li>
|
||||
</ul>
|
||||
<br><br>
|
||||
@ -918,31 +919,48 @@ PRESENCE_ProcessAbortedScan($)
|
||||
<ul><b>Mode: lan-ping</b><br><br>
|
||||
<code>define <name> PRESENCE lan-ping <ip-address> [ <check-interval> [ <present-check-interval> ] ]</code><br>
|
||||
<br>
|
||||
Checks for a network device via PING requests and reports its presence state.<br>
|
||||
Checks for a network device via PING requests and reports its presence state.<br><br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE lan-ping 192.168.179.21</code><br>
|
||||
<br>
|
||||
<b>Mode: fritzbox</b><br><br>
|
||||
<code>define <name> PRESENCE fritzbox <device-name> [ <check-interval> [ <present-check-interval> ] ]</code><br>
|
||||
<br>
|
||||
Checks for a network device by requesting the internal state on a FritzBox via ctlmgr_ctl. The device-name must be the same as shown in the network overview of the FritzBox<br>
|
||||
<br>
|
||||
Checks for a network device by requesting the internal state on a FritzBox via ctlmgr_ctl. The device-name must be the same as shown in the network overview of the FritzBox<br><br>
|
||||
<i>This check is only applicaple when FHEM is running on a FritzBox!</i><br><br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE fritzbox iPhone-4S</code><br><br>
|
||||
<b>Mode: local-bluetooth</b><br><br>
|
||||
<code>define <name> PRESENCE local-bluetooth <bluetooth-address> [ <check-interval> [ <present-check-interval> ] ]</code><br>
|
||||
<br>
|
||||
Checks for a bluetooth device and reports its presence state. For this mode the shell command "hcitool" is required (provided with a <a href="http://www.bluez.org" target="_new">bluez</a> installation under Debian via APT), as well
|
||||
as a functional bluetooth device directly attached to your machine.<br><br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE local-bluetooth 0a:8d:4f:51:3c:8f</code><br><br>
|
||||
<b>Mode: function</b><br><br>
|
||||
<code>define <name> PRESENCE function {...} [ <check-interval> [ <present-check-interval> ] ]</code><br>
|
||||
<br>
|
||||
Checks for a presence state via perl-code. You can use a self-written perl function to obtain the presence state of a specific device (e.g. via SNMP check).<br><br>
|
||||
The function must return 0 (absent) or 1 (present).<br><br>
|
||||
The function must return 0 (absent) or 1 (present). An example can be found in the <a href="http://www.fhemwiki.de/wiki/Anwesenheitserkennung" target="_new">FHEM-Wiki</a>.<br><br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE function {snmpCheck("10.0.1.1","0x44d77429f35c")}</code><br><br>
|
||||
<b>Mode: shellscript</b><br><br>
|
||||
<code>define <name> PRESENCE shellscript "<path> [<arg1>] [<argN>]..." [ <check-interval> [ <present-check-interval> ] ]</code><br>
|
||||
<br>
|
||||
Checks for a presence state via shell script. You can use a self-written script or binary in any language to obtain the presence state of a specific device (e.g. via SNMP check).<br><br>
|
||||
The shell must return 0 (absent) or 1 (present) on <u>console (STDOUT)</u>. Any other values will be treated as an error<br><br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE shellscript "/opt/check_device.sh iPhone"</code><br><br>
|
||||
<b>Mode: lan-bluetooth</b><br><br>
|
||||
Checks for a bluetooth device with the help of presenced or collectord. They can be installed where-ever you like, just must be accessible via network.
|
||||
The given device will be checked for presence status.<br>
|
||||
<br>
|
||||
<code>define <name> PRESENCE <ip-address>[:port] <bluetooth-address> [ <check-interval> ]</code><br>
|
||||
<code>define <name> PRESENCE lan-bluetooth <ip-address>[:port] <bluetooth-address> [ <check-interval> ]</code><br>
|
||||
<br>
|
||||
The default port is 5111 (presenced). Alternatly you can use port 5222 (collectord)<br>
|
||||
<br>
|
||||
<u>Example</u><br><br>
|
||||
<code>define iPhone PRESENCE lan-bluetooth 127.0.0.1:5222 0a:4f:36:d8:f9:89</code><br><br>
|
||||
<u>presenced</u><br><br>
|
||||
<ul>The presence is a perl network daemon, which provides presence checks of multiple bluetooth devices over network.
|
||||
It listens on TCP port 5111 for incoming connections from a FHEM PRESENCE instance or a running collectord.<br>
|
||||
@ -1112,6 +1130,7 @@ Options:
|
||||
<li><b>fritzbox</b> - Eine Erkennung aufgrund der internen Abfrage des Status auf der FritzBox (nur möglich, wenn FHEM auf einer FritzBox läuft)</li>
|
||||
<li><b>local-bluetooth</b> - Eine Erkennung auf Basis von Bluetooth-Abfragen durch den FHEM Server. Das Gerät muss dabei in Empfangsreichweite sein, aber nicht sichtbar sein</li>
|
||||
<li><b>function</b> - Eine Erkennung mithilfe einer selbst geschriebenen Perl-Funktion, welche den Anwesenheitsstatus ermittelt.</li>
|
||||
<li><b>shellscript</b> - Eine Erkennung mithilfe eines selbst geschriebenen Skriptes oder Programm (egal in welcher Sprache).</li>
|
||||
<li><b>lan-bluetooth</b> - Eine Erkennung durch Bluetooth-Abfragen via Netzwerk (LAN/WLAN) in ein oder mehreren Räumen</li>
|
||||
</ul>
|
||||
<br><br>
|
||||
@ -1120,33 +1139,48 @@ Options:
|
||||
<ul><b>Modus: lan-ping</b><br><br>
|
||||
<code>define <name> PRESENCE lan-ping <IP-Addresse oder Hostname> [ <Interval> [ <Anwesend-Interval> ] ]</code><br>
|
||||
<br>
|
||||
Prüft ob ein Gerät über Netzwerk (üblicherweise WLAN) auf Ping-Anfragen reagiert und setzt entsprechend den Anwesenheitsstatus.<br>
|
||||
<br>
|
||||
Prüft ob ein Gerät über Netzwerk (üblicherweise WLAN) auf Ping-Anfragen reagiert und setzt entsprechend den Anwesenheitsstatus.<br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE lan-ping 192.168.179.21</code><br><br>
|
||||
<b>Modus: fritzbox</b><br><br>
|
||||
<code>define <name> PRESENCE fritzbox <Gerätename> [ <Interval> [ <Anwesend-Interval> ] ]</code><br>
|
||||
<br>
|
||||
Prüft ob ein Gerät welches per WLAN mit der FritzBox verbunden ist, erreichbar durch Abfrage des Status mit dem Befehl ctlmgr_ctl.
|
||||
Der Gerätename (Parameter: <Gerätename>) muss dem Namen entsprechen, welcher im Menüpunkt "Heimnetz" auf der FritzBox-Oberfläche angezeigt wird.<br>
|
||||
<br>
|
||||
Der Gerätename (Parameter: <Gerätename>) muss dem Namen entsprechen, welcher im Menüpunkt "Heimnetz" auf der FritzBox-Oberfläche angezeigt wird.<br><br>
|
||||
<i>Dieser Modus ist nur verwendbar, wenn FHEM auf einer FritzBox läuft!</i><br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE fritzbox iPhone-4S</code><br><br>
|
||||
<b>Modus: local-bluetooth</b><br><br>
|
||||
<code>define <name> PRESENCE local-bluetooth <Bluetooth-Adresse> [ <Interval> [ <Anwesend-Interval> ] ]</code><br>
|
||||
<br>
|
||||
Prüft ob ein Bluetooth-Gerät abgefragt werden kann und meldet dies als Anwesenheit. Für diesen Modus wird der Shell-Befehl "hcitool" benötigt
|
||||
(wird durch das Paket <a href="http://www.bluez.org" target="_new">bluez</a> bereitgestellt), sowie ein funktionierender Bluetooth-Empfänger (intern oder als USB-Stick)<br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE local-bluetooth 0a:4f:36:d8:f9:8</code><br><br>
|
||||
<b>Modus: function</b><br><br>
|
||||
<code>define <name> PRESENCE function {...} [ <Interval> [ <Anwesend-Interval> ] ]</code><br>
|
||||
<br>
|
||||
Prüft den Anwesenheitsstatus mithilfe einer selbst geschriebenen Perl-Funktion (z.B. SNMP Abfrage).<br><br>
|
||||
Diese Funktion muss 0 (Abwesend) oder 1 (Anwesend) zurückgeben.<br><br>
|
||||
Diese Funktion muss 0 (Abwesend) oder 1 (Anwesend) zurückgeben. Ein entsprechendes Beispiel findet man im <a href="http://www.fhemwiki.de/wiki/Anwesenheitserkennung" target="_new">FHEM-Wiki</a>.<br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE function {snmpCheck("10.0.1.1","0x44d77429f35c")</code><br><br>
|
||||
<b>Mode: shellscript</b><br><br>
|
||||
<code>define <name> PRESENCE shellscript "<Skript-Pfad> [<arg1>] [<argN>]..." [ <Interval> [ <Anwesend-Interval> ] ]</code><br>
|
||||
<br>
|
||||
Prüft den Anwesenheitsstatus mithilfe eines selbst geschrieben Skripts oder Programmes (egal in welcher Programmier-/Skriptsprache)<br><br>
|
||||
Der Aufruf dieses Skriptes muss eine 0 (Abwesend) oder 1 (Anwesend) auf der <u>Kommandozeile (STDOUT)</u> ausgeben. Alle anderen Werte/Ausgaben werden als Fehler behandelt.<br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE shellscript "/opt/check_device.sh iPhone"</code><br><br>
|
||||
<b>Modus: lan-bluetooth</b><br><br>
|
||||
Prüft ein Bluetooth-Gerät auf Anwesenheit über Netzwerk mit Hilfe von presenced oder collectord. Diese können auf jeder Maschine installiert werden,
|
||||
welche eine Standard-Perl-Umgebung bereitstellt und über Netzwerk erreichbar ist.
|
||||
<br>
|
||||
<br>
|
||||
<code>define <name> PRESENCE <IP-Adresse>[:Port] <Bluetooth-Adresse> [ <Interval> ]</code><br>
|
||||
<br>
|
||||
Der Standardport ist 5111 (presenced). Alternativ kann man den Port 5222 (collectord) nutzen. Generell ist der Port aber frei wählbar.<br>
|
||||
<code>define <name> PRESENCE lan-bluetooth <IP-Adresse>[:Port] <Bluetooth-Adresse> [ <Interval> ]</code><br>
|
||||
<br>
|
||||
Der Standardport ist 5111 (presenced). Alternativ kann man den Port 5222 (collectord) nutzen. Generell ist der Port aber frei wählbar.<br><br>
|
||||
<u>Beispiel</u><br><br>
|
||||
<code>define iPhone PRESENCE lan-bluetooth 127.0.0.1:5222 0a:4f:36:d8:f9:8</code><br><br>
|
||||
<u>presenced</u><br><br>
|
||||
<ul>Der presenced ist ein Perl Netzwerk Dienst, welcher eine Bluetooth-Anwesenheitserkennung von ein oder mehreren Geräten über Netzwerk bereitstellt.
|
||||
Dieser lauscht standardmäßig auf TCP Port 5111 nach eingehenden Verbindungen von dem PRESENCE Modul oder einem collectord.<br>
|
||||
|
Loading…
x
Reference in New Issue
Block a user