Seite 5 von 6

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 18:48
von Sorath
Hallo! :)

Ich habe die Ping-Geschichte realisiert. Mein Handy lässt sich auch anpingen, wenns gesperrt ist, das ist kein Problem.

In welchen Zeitintervallen pingt ihr denn?
Ich habs etwas übertrieben mit "alle 30 sekunden", und am nächsten morgen war das Skript nicht mehr aktiv, aus welchem grund auch immer. Nachdem ich es nachbearbeitet habe, und neugestartet habe, hat wieder alles funktionuiert.

Was nutzt ihr für Werte?

Danke schon mal

Gruß
Chris

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 19:16
von MaxWrestler
Hallo Chris,
wenn sich dein Handy immer anpingen läßt ohne eingeschaltet zu sein,dann würde ich Dir gerne CuxD empfehlen.
Es hat extra ein "Gerät" mit 12 fach Ping ,und das ganze ohne SystemExec().
Und noch vieles mehr.
Bei probs. einfach fragen.

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 19:27
von Sorath
Hallo MaxWrestler!

Vielen dank,ich schaus mir an, ohne SystemExec wär natürlich super :)

Gruß
Chris

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 20:55
von art-audio
Hallo Chris,
Sorath hat geschrieben: Ich habe die Ping-Geschichte realisiert. Mein Handy lässt sich auch anpingen, wenns gesperrt ist, das ist kein Problem.
welche Einstellungen bzw. Apps sind dafür notwendig?

Geht das auch ohne einen Jailbreak mit den Standardeinstellungen des iPhones?

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 20:58
von Sorath
Hallo!

Ich hab' kein iPhone, sondern ein Android-Handy, und da kann man das ganz locker einstellen in den Optionen :)

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 16.04.2012, 21:05
von art-audio
Ach so. Das kommt für mich nicht in Frage, da ich das iPhone mit Datenflat mit 21,6 MBit bis 10 GB/Monat (fast) kostenlos vom Arbeitgeber bekomme :wink:

Es geht hier um das iPhone :mrgreen:

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 03.05.2012, 20:02
von JoeHMS
Hallo zusammen,

ich will nochmal kurz auf die Lösung mit einer Fritzbox zurück kommen.
Wir haben bei unseren Smartphones (3 x Android und 1 x iPhone) WLAN immer an.
Die Batterielaufzeit wird davon nur minimal beeinflusst, falls das aber noch eine Rolle spielt kann man zumindest unter Android bei erreichen einer bestimmten Funkzelle (Zuhause) das WLAN einschalten und sonst aus lassen.

Ich hatte beobachtet dass die per WLAN eingebuchten Handys in der Fritzbox als Online markiert sind, egal ob Mails abgeholt werden oder nicht.
Es scheint so als dass die Handys da eine minimale Verbindung zum Accesspoint bestehen lassen und erst bei einer Datenübertragung "aufdrehen". Ich kenne mich im WLAN Bereich nicht so aus...

Zuerst habe ich in der Fritzbox die Namen rausgesucht die ich den Smartphones gegeben habe.
Dann habe ich für jedes Smartphone eine Variable auf der CCU angelegt sowie eine weitere Variable in der ich die Zeit eintrage wie lange die Schleife im Script läuft.
Das habe ich nur gemacht damit ich in eventuellen weiteren Programmen die Info habe wann die nächste Aktualisierung erfolgt.
Folgendes Script habe ich mit Hilfe aus dem IP-Phone Forum und diversen Quellen aus dem Internet erstellt. Geht bestimmt auch noch eleganter, bin nicht der Shell Profi ;-)

Code: Alles auswählen

#!/bin/sh

while true; do
local looptime=180
wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3871&new_value=180' | echo $(date) Setze PhoneLoop $looptime auf Homematic
landevicelist() {
	local count=0
	local maxcount=$(ctlmgr_ctl r landevice settings/landevice/count)
	while [ $count -lt $maxcount ] ; do
		local name=$(ctlmgr_ctl r landevice settings/landevice$count/name)		
		if [ $name = Phone1-OneX ] ; then
			local active=$(ctlmgr_ctl r landevice settings/landevice$count/active)
			if [ $active -eq 1 ] ; then
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3867&new_value=true' | echo $(date) $name, Phone 1, angemeldet
			else
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3867&new_value=false' | echo $(date) $name, Phone 1, abgemeldet
			fi
		elif [ $name = Phone2-Wildfire ] ; then
			local active=$(ctlmgr_ctl r landevice settings/landevice$count/active)
			if [ $active -eq 1 ] ; then
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3868&new_value=true' | echo $(date) $name, Phone 2, angemeldet
			else
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3868&new_value=false' | echo $(date) $name, Phone 2, abgemeldet
			fi
		elif [ $name = Phone3-Lutea ] ; then
			local active=$(ctlmgr_ctl r landevice settings/landevice$count/active)
			if [ $active -eq 1 ] ; then
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3869&new_value=true' | echo $(date) $name, Phone 3, angemeldet
			else
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3869&new_value=false' | echo $(date) $name, Phone 3, abgemeldet
			fi
		elif [ $name = Phone4-iPhone ] ; then
			local active=$(ctlmgr_ctl r landevice settings/landevice$count/active)
			if [ $active -eq 1 ] ; then
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3870&new_value=true' | echo $(date) $name, Phone 4, angemeldet
			else
				wget -q -O /dev/null 'http://homematic.fritz.box/config/xmlapi/statechange.cgi?ise_id=3870&new_value=false' | echo $(date) $name, Phone 4, abgemeldet
			fi	
		fi
		: $((count++))
	done	
}
landevicelist
echo sleep $looptime
sleep $looptime
done
Dieses Script habe ich auf dem USB-Stick der Fritzbox gespeichert.
ES wird über die Datei debug.cfg in /var/flash nach /var/tmp kopiert, ausführbar gemacht und gestartet.
Nun wird alle 3 Minuten der Status der Variablen gesetzt und man kann diese zur Anwesenheitserkennung nutzen.
Beim abmelden der Smartphones von der Fritzbox oder wenn diese den Funkbereich verlassen, kann es allerdings 3-4 Minuten länger dauern bis die Fritzbox den Offline Status meldet. Für mich ist das O.K. Beim ankommen im Funkbereich geht es fast in Echtzeit...

Gruß, Jochen

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 03.05.2012, 20:41
von art-audio
Hallo Jochen,
JoeHMS hat geschrieben:Wir haben bei unseren Smartphones (3 x Android und 1 x iPhone) WLAN immer an.
hast Du beim iPhone das W-Lan ständig an durch einen Jailbreak oder meinst Du, dass lediglich immer nur automatisches W-Lan im Menü aktiviert ist (ohne Jailbreak)?

Wenn der Weg ohne Jailbreak wäre, würde ich die Variante über die Fritzbox sehr interessant finden. Ein Jailbreak kommt aus den schon genannten Gründen leider nicht in Frage.

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 04.05.2012, 07:38
von JoeHMS
@art-audio,
alle Geräte sind original mit Orignal Software.
Also weder jailbrake, Root noch anderes Image auf der Fritzbox.
Geht alles so.

Jochen

Re: ein Script für die Anwesenheits unserer iPhone

Verfasst: 04.05.2012, 15:25
von art-audio
Hallo Jochen,

das ist eine TOP-Meldung!!

Eine Fritzbox 7370 haben wir auch, ebenso einen Haufen iOS-Geräte. Wenn alles ohne Jailbreak funktioniert, bitte genau dokumentieren. DAS wäre dann die lang erhoffte Lösung ohne irgendwelche externen Dongles :mrgreen: