ein Script für die Anwesenheits unserer iPhone

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von alchy » 15.02.2012, 20:50

Das lass mal gleich die Homematic machen.
Auf der Homatic ein Programm erzeugen welches mittels Zeitmodul gesteuert alle X Minuten läuft.
Mir reicht es im Moment, wenn alle 10min gecheckt wird....
die IP-Adresse im Script musst du natürlich anpassen an die IP deines Handys im eigenen W-Lan.
Statische IP's sind natürlich vom Vorteil im heimischen Netz.
Hier das Script

Code: Alles auswählen

string stderr;
string stdout;
integer Auslese;
system.Exec("ping -c 1 192.168.178.100",&stdout, &stderr);
Auslese = stdout.Find("ms");
if ( Auslese == -1 )
{
dom.GetObject('Anwesenheit').State(0);
}
if ( Auslese > 0)
{
dom.GetObject('Anwesenheit').State(1);
}
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

sambasamba
Beiträge: 1602
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von sambasamba » 16.02.2012, 23:41

Ehrlich, ich sehe das Problem nicht.
Homematic hat doch alle Voraussetzungen für iphone-Erkennung ab Werk. Nur das ELV das leider nicht aggressiv bewirbt.
Du kommst heim... legst das iphone auf eine speziell präparierte Zigarrenkiste. Der in der Kiste befindliche Mikroschalter meldet über eine ebenfalls in der Kiste befindliche Funk-Tasterschnittstelle an die CCU 'Iphone ist da'. Fertig.
Was macht ihr da ewig rum...
Das größte Problem ist: Beschaffung einer leeren Zigarrenkiste.

Ohne wesentliche Software-Änderung geht das übrigens auch mit ipads und Android-Möhren, also quasi betriebssystem-unabhängig.
Ich könnte einen Bauplan posten?

V.
Geheimtip: militante Nichtraucher wenden sich wg. Zig.-Kistenersatz an ihren Tupper-Berater!

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

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 17.02.2012, 09:05

Hallo,
sambasamba hat geschrieben:Homematic hat doch alle Voraussetzungen für iphone-Erkennung ab Werk. Nur das ELV das leider nicht aggressiv bewirbt.
Du kommst heim... legst das iphone auf eine speziell präparierte Zigarrenkiste. Der in der Kiste befindliche Mikroschalter meldet über eine ebenfalls in der Kiste befindliche Funk-Tasterschnittstelle an die CCU 'Iphone ist da'. Fertig.
Das würde aber bedeuten, dass das iPhone zu Hause auf der Zigarrenkiste/Ladestation steht. Das macht noch Sinn, wenn man es wie früher bei einem Mobiltelefon nur für das Telefonieren (und ggfs. mobile Datennutzung) nur ausserhalb des Hauses nutzen würde. Faktisch sind die iPhones regelmäßig beim/in der Nähe des Benutzers und haben dort vielfältige Funktionen. Sie dienen bei uns als Fernbedienung zur Haussteuerung, über Mediola a.i.o. und Apple AirPlay als Fernbedienung zur Musiksteuerung und Heimkinosteuerung, für den Überblick über die W-Lan-Kameras um das Haus herum etc. Lange Rede, kurzer Sinn: Die iPhones sind zu Hause selten auf der Ladestation und meistens "am Mann", so dass eine Lösung über einen Mikroschalter keinen Sinn macht.


alchy hat geschrieben:Das lass mal gleich die Homematic machen.
Auf der Homatic ein Programm erzeugen welches mittels Zeitmodul gesteuert alle X Minuten läuft.
Mir reicht es im Moment, wenn alle 10min gecheckt wird....
die IP-Adresse im Script musst du natürlich anpassen an die IP deines Handys im eigenen W-Lan.
Statische IP's sind natürlich vom Vorteil im heimischen Netz.
Hier das Script

Code: Alles auswählen

string stderr;
string stdout;
integer Auslese;
system.Exec("ping -c 1 192.168.178.100",&stdout, &stderr);
Auslese = stdout.Find("ms");
if ( Auslese == -1 )
{
dom.GetObject('Anwesenheit').State(0);
}
if ( Auslese > 0)
{
dom.GetObject('Anwesenheit').State(1);
}
Alchy
Das ist sehr interessant :D . Besonders interessant finde ich, dass das direkt von der CCU ohne einen laufenden Computer funktionieren würde!

Damit werde ich mich mal am Wochenende in Ruhe beschäftigen. Mir würden übrigens 10 Minuten als Sendeabstand auch vollkommen ausreichen, um die iPhone-Akkus zu schonen.

Fragen dazu:
1) Wird das iPhone auch im StandBy erreicht? Wird beim Anpingen das Dsiplay beleuchtet oder läuft das alles dezent im Hintergrund ab?
2) Wie würde dann eine Lösung aussehen, wenn beide Ehepartner ein iPhone haben? Je ein Script für die jeweilige IP, und das war es schon?
3) Wie kann die Anwesenheitsvariable noch so verfeinert werden, dass die Putzfrau (hat eine KeyMatic-FB, aber kein iPhone :lol: ) auch die Anwesenheit auslöst?
4) Wie kann ich den sich dann ergebenden Abwesenheitsstatus aus der CCU nutzen, um bei den externen IP-Kameras für diese Zeiträume die automatische E-Mail Benachrichtigung bei Bewegungserkennung einzuschalten? Hat da schon mal jemand etwas für Foscam gebastelt?
5) Kann die CCU eigentlich auch Apple-Scripte versenden?
Gruß

Sven

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

sambasamba
Beiträge: 1602
Registriert: 16.08.2009, 23:18
Wohnort: Landau/Südpfalz
Hat sich bedankt: 21 Mal
Danksagung erhalten: 4 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von sambasamba » 17.02.2012, 09:47

art-audio hat geschrieben:Das würde aber bedeuten, dass das iPhone zu Hause auf der Zigarrenkiste/Ladestation steht.
Ach was???? :)

Nur unter uns, mein Beitrag war nicht ernst gemeint.
HELAU!
Vau.

mule
Beiträge: 1169
Registriert: 06.07.2010, 00:24
Hat sich bedankt: 3 Mal
Danksagung erhalten: 35 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von mule » 17.02.2012, 12:42

alchy hat geschrieben:Das lass mal gleich die Homematic machen.
Auf der Homatic ein Programm erzeugen welches mittels Zeitmodul gesteuert alle X Minuten läuft.
Mir reicht es im Moment, wenn alle 10min gecheckt wird....
die IP-Adresse im Script musst du natürlich anpassen an die IP deines Handys im eigenen W-Lan.
Statische IP's sind natürlich vom Vorteil im heimischen Netz.
Hier das Script

Code: Alles auswählen

string stderr;
string stdout;
integer Auslese;
system.Exec("ping -c 1 192.168.178.100",&stdout, &stderr);
Auslese = stdout.Find("ms");
if ( Auslese == -1 )
{
dom.GetObject('Anwesenheit').State(0);
}
if ( Auslese > 0)
{
dom.GetObject('Anwesenheit').State(1);
}
Alchy
Dann aber auch gleich den Rega-Watchdog installieren, sonst... Mit system.exec-Aufrufen alle paar Minuten ist der Stillstand der CCU vorprogrammiert!
Also besser einen Daemon-Prozess auf der CCU für soetwas "bauen"!
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483

Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295

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

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von art-audio » 17.02.2012, 14:45

mule hat geschrieben: Dann aber auch gleich den Rega-Watchdog installieren, sonst... Mit system.exec-Aufrufen alle paar Minuten ist der Stillstand der CCU vorprogrammiert!
Also besser einen Daemon-Prozess auf der CCU für soetwas "bauen"!
Ich verstehe nur "Bahnhof"...

Was ist ein Rega-Watchdog? Was ist ein Daemon-Prozess? Bedeutet Dein Hinweis, dass ich das o.b. Skript möglichst nicht auf die HomeMatic laden sollte? Wie sähe dann das "richtige" Skript aus?
Gruß

Sven

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

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von alchy » 17.02.2012, 17:58

Zum Watchdog gehts dann >>hier<< lang.
Was mule mit seiner Bemerkung meint, ist das die Benutzung der system.exec Aufrufe zu Problemen führen kann.
Aus diesem Negativpunkt hatte ich auch schon darauf hingewiesen in einem meiner oberen Post's.
Allerdings ist ohne system.exec auch schwerlich etwas zu realisieren.
Probier das Script einfach aus, und beobachte deine Homematic.
Meine Homematic läuft trotz mehrerer system.exec (und nicht nur für dieses Script) schon länger ohne Neustart,
also lass dich nicht zu sehr verunsichern.
Aber nun zu deinen Fragen:
zu 1. probiers aus, mein Android ist immer erreichbar, auch im Standbye, das Display sollte auch beim I-Phone ausbleiben bei einem Ping.
zu 2. innerhalb des Scriptes 2 IP'S checken geht auch
zu 3. bei Programmen Wenn Gerät FErnbedieungPutze dann Systemzustand Anwesenheit wahr
zu 4 Kamera über http request steuerbar ? lies mal >> hier<<
zu 5. keine Ahnung
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

mule
Beiträge: 1169
Registriert: 06.07.2010, 00:24
Hat sich bedankt: 3 Mal
Danksagung erhalten: 35 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von mule » 18.02.2012, 10:36

@Alchy: Weil du das "kann" so betont hast: Hast Du wirklich regelmäßige (also bspw. alle 5-10 Minuten) einen system.exec-Aufruf? Ich frage deshalb, weil ich bei meiner Automowersteuerung es zunächst genauso implementiert hatte und da stand die CCU regelmäßig alle paar Tage (und es war nur dieser eine regelmäßige system.exec-Aufruf, sonst gab es keinen weiteren). Bei mir war es definitiv nicht "kann", sondern "muss". Daher von mir die klare Warnung!
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483

Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von alchy » 18.02.2012, 15:53

Ich habe ja auch darauf hingewiesen, daß es zu Problemen führen kann.
Und ja ich habe wirkliche mehrere Aufrufe.
Ich zähl mal auf:
- alle 10' check Status Anwesend.
- alle 30' loggen verschiedener Zustände und schieben einer Datei auf den Webserver
- situationsbedingte Aufrufe(wenn jemand klingelt (5x die Woche oder auch 5x am Tag), wenn Wasseralarm oder Garagenalarm...)
Deaktiviert, weil mittlerweile unnötig habe ich das Googlewetterscript.
Das sollte erstmal reichen.
Leider komm ich im Moment nicht mehr drauf wie ich mir wo die Laufzeit der CCU anzeigen lassen kann :oops: ,
aber ist sicher schon 14Tage her, der letzte Neustart. Und der war nicht einem "Hänger" zuzuschreiben.
Wie schon gesagt, wäre schön, wenn man darauf verzichten könnte, aber wie?
Probieren kann man alles
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: ein Script für die Anwesenheits unserer iPhone

Beitrag von MaxWrestler » 18.02.2012, 16:05

Hallo alchy
alchy hat geschrieben:Leider komm ich im Moment nicht mehr drauf wie ich mir wo die Laufzeit der CCU anzeigen lassen kann :oops: ,
in der Telnet Konsole mit

Code: Alles auswählen

uptime
Oder falls vorhanden mit CuxD.

gruß MaxW.

Antworten

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