cool, das es läuft.
Nur das ich das richtig verstanden hab...es war der Eintrag in der
Code: Alles auswählen
/etc/sudoersCU
Cyrelian
Code: Alles auswählen
/etc/sudoersCode: Alles auswählen
Switch MOB001 "Zu Hause [%s]"  { exec="<[/etc/opt/iphonedetect.sh:60000:REGEX((.*?))]" }Code: Alles auswählen
	Frame label="Presence" {
		Text item=MOB001
		Switch item=MOB001 icon="present" valuecolor=[ON="green",OFF="blue"]}Code: Alles auswählen
#!/bin/bash
declare -a DEVICES
hping3 -2 -c 10 -p 5353 -i u1 192.168.1.154 -q >/dev/null 2>&1
DEVICES=`arp -an | awk '{print $4}'`
CHECK="xx:xx:xx:xx:b6:d5"
if [[ ${DEVICES[*]} =~ $CHECK ]]
then
echo "ON"
else
echo "OFF"
fiCode: Alles auswählen
etc/optCode: Alles auswählen
etc/sudoersCode: Alles auswählen
arp -an | awk '{print $4}'Code: Alles auswählen
ip neigh flush allCode: Alles auswählen
arp -an | awk '{print $4}'Code: Alles auswählen
hping3 -2 -c 10 -p 5353 -i u1 192.168.1.154 -q >/dev/null 2>&1 
 
Code: Alles auswählen
#!/bin/bash
declare -a DEVICES
sudo hping3 -2 -c 10 -p 5353 -i u1 192.168.1.154 -q >/dev/null 2>&1
DEVICES=`sudo arp -an | awk '{print $4}'`
CHECK="xx:xx:xx:xx:b6:d5"
if [[ ${DEVICES[*]} =~ $CHECK ]]
then
echo "ON"
else
echo "OFF"
fiCode: Alles auswählen
pi@raspberrypi:/etc/opt $ ./iphonedetect.sh
ON
pi@raspberrypi:/etc/opt $ ./iphonedetect.sh
OFF
Code: Alles auswählen
/usr/sbin/hping3 -2 -c 10 -p 5353 -i u1 192.168.000.000 -q >/dev/null
DEVICES=`/usr/sbin/arp -an | awk '{print $4}'`
if [[ $DEVICES == *48:XX:XX:XX:XX:XX* ]]
  then
    echo "Seppy anwesend"
    curl --max-time 2 --connect-timeout 2 --header "Content-Type: text/plain" --request POST --data "ON" http://homebox.heideweg.local/rest/items/PresenceSeppyMobile
  else
    echo "Seppy abwesend"
    curl --max-time 2 --connect-timeout 2 --header "Content-Type: text/plain" --request POST --data "OFF" http://homebox.heideweg.local/rest/items/PresenceSeppyMobile
fi

Code: Alles auswählen
 { exec="<[/etc/opt/iphonedetect.sh:60000:REGEX((.*?))]" }Code: Alles auswählen
Switch MOB001 "Zu Hause [%s]"  { exec="<[/etc/opt/iphonedetect.sh:60000:REGEX((.*?))]" }Code: Alles auswählen
String MOB002_WLAN "Handy 02 [%s]" (gPraesenz) {exec="<[/scripts/detectiphone02.sh:60000:REGEX((.*?))]"}Code: Alles auswählen
rule "Jemand ist zuhause"
	when
  		Item MOB001_WLAN changed or 
   		Item MOB002_WLAN changed or
   		System started
	then
		if (MOB001_WLAN.state == "Anwesend" || MOB002_WLAN.state == "Anwesend"){
			logInfo("PraesenzRules:", "Jemand ist zuhause")
		}
		if (MOB001_WLAN.state == "Abwesend" && MOB002_WLAN.state == "Abwesend"){
			logInfo("PraesenzRules:", "Alle unterwegs")
		}
end
rule "MOB002 ist Zuhause"
   when
		Item MOB002_WLAN changed or
		System started
   then
      	if (MOB002_WLAN.state == "Anwesend"){
      		logInfo("PraesenzRules:", "MOB002 ist Zuhause")
      		MOB002.postUpdate(ON)
      	}
      	else {
      		logInfo("PraesenzRules:", "MOB002 ist nicht Zuhause")
      		MOB002.postUpdate(OFF)	
      	}
end
rule "MOB001 ist Zuhause"
   when
		Item MOB001_WLAN changed or
		System started
   then
		if (MOB001_WLAN.state == "Anwesend"){
      		logInfo("PraesenzRules:", "MOB001 ist Zuhause")
      		MOB001.postUpdate(ON)
      	}
      	else {
      		logInfo("PraesenzRules:", "MOB001 ist nicht Zuhause")
      		MOB001.postUpdate(OFF)	
      	}
endCode: Alles auswählen
ON=Anwesend
OFF=Abwesend
undefined=unbekannt
-=-Fehler bei der Initialisierung-
1.) Cron Job, kommt in die "crontab" crontab --helponkelbobby hat geschrieben:Hallo Seppy,
danke... ich werde heute Abend mal Deine Variante ausprobieren.
Wo und wie muss ich denn den cron in openHAB integrieren, dass er das Script ausführt? Muss ich dafür ne Rule erstellen?
wo auf dem Raspberry liegt denn die /rest/items?
sorry, dass ich solche Anfängerfragen stelle ...
Grüße
Bobby
Code: Alles auswählen
http://ipvondeinemopenhab:8080/rest/items
aber gerne dochseppy hat geschrieben:@Cyrelian: Danke
