ein Script für die Anwesenheits unserer iPhone

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Sorath
Beiträge: 47
Registriert: 19.08.2008, 02:56

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von Sorath » 16.04.2012, 18:48

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

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von MaxWrestler » 16.04.2012, 19:16

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.

Sorath
Beiträge: 47
Registriert: 19.08.2008, 02:56

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von Sorath » 16.04.2012, 19:27

Hallo MaxWrestler!

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

Gruß
Chris

art-audio
Beiträge: 712
Registriert: 13.12.2010, 09:45

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 16.04.2012, 20:55

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?
Gruß

Sven

(aktuell ca. 200 HomeMatic Funk Aktoren und Sensoren und einigen Hundert Kanälen mit steigender Tendenz)

Sorath
Beiträge: 47
Registriert: 19.08.2008, 02:56

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von Sorath » 16.04.2012, 20:58

Hallo!

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

art-audio
Beiträge: 712
Registriert: 13.12.2010, 09:45

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 16.04.2012, 21:05

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:
Gruß

Sven

(aktuell ca. 200 HomeMatic Funk Aktoren und Sensoren und einigen Hundert Kanälen mit steigender Tendenz)

JoeHMS
Beiträge: 336
Registriert: 28.02.2012, 11:09
Danksagung erhalten: 1 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von JoeHMS » 03.05.2012, 20:02

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
CCU3( 3.47.22 piVCCU3) auf RasPi4 * Wired * CUXD(2.3.3) mit CUL868 (v1.66), 1 Wire USB FTDI * Redmatic * Synology mit ccu-historian spk (V2.3.0) * ccu.io(1.0.51) * dashui(0.9beta120) openHAB 2.5.0 mit auf RasPI 4
-------------------------------------------------------------------------------------------------------------------
132 Kanäle in 38 Geräten und 140 CUxD-Kanäle in 21 CUxD-Geräten

art-audio
Beiträge: 712
Registriert: 13.12.2010, 09:45

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 03.05.2012, 20:41

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.
Gruß

Sven

(aktuell ca. 200 HomeMatic Funk Aktoren und Sensoren und einigen Hundert Kanälen mit steigender Tendenz)

JoeHMS
Beiträge: 336
Registriert: 28.02.2012, 11:09
Danksagung erhalten: 1 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von JoeHMS » 04.05.2012, 07:38

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

Jochen
CCU3( 3.47.22 piVCCU3) auf RasPi4 * Wired * CUXD(2.3.3) mit CUL868 (v1.66), 1 Wire USB FTDI * Redmatic * Synology mit ccu-historian spk (V2.3.0) * ccu.io(1.0.51) * dashui(0.9beta120) openHAB 2.5.0 mit auf RasPI 4
-------------------------------------------------------------------------------------------------------------------
132 Kanäle in 38 Geräten und 140 CUxD-Kanäle in 21 CUxD-Geräten

art-audio
Beiträge: 712
Registriert: 13.12.2010, 09:45

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 04.05.2012, 15:25

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:
Gruß

Sven

(aktuell ca. 200 HomeMatic Funk Aktoren und Sensoren und einigen Hundert Kanälen mit steigender Tendenz)

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“