19
Okt 2014
Marko

Alarmanlage mit raspberry pi und geofancy automatisch schalten

Der Sommer ist vorbei, die Tage werden länger und mit der Dunkelheit häufen sich Meldungen über Wohnungseinbrüche. Vorbeugen ist bei diesem Thema das A und O. Nicht nur aus dem Grund mögliche Einbrecher abzuschrecken, sondern auch um das Gewissen zu beruhigen und um sich im Ernstfall nicht vorzuwerfen, man habe nicht alles mögliche getan.

alarmanlage

Will man eine Alarmanlage in einer bestehenden Wohnung oder in einem Haus nachrüsten, steht man schnell vor einigen Herausforderungen. Man müsse z.b. diverse Wände auf machen um Kabel zu verlegen.  Wenn das ganze dann noch einigermaßen „smart“ sein soll, wird es schnell teuer. Ist es nicht „smart“, nervt das ständige Code eingeben schnell und man tut es dann doch nicht.

In der folgenden Anleitung erkläre ich euch, wie ein Alarm System so erweitert werden kann, dass es sich automatisch abstellt sobald ihr euch in Reichweite befindet und sich automatisch aktiviert sobald ihr euch von Zuhause entfernt.

Diese Anleitung lässt sich außerdem auf andere Smart Home Features anwenden. (z.b. Licht aus wenn keiner da / Garagen Tor auf beim annähern usw.)

Diese Anleitung beantwortet gewiss nicht alle Fragen sondern dient eher als Hilfestellung und Empfehlung in der Vorgehensweise. Sie soll zeigen, wie man auch mit wenig Budget durch die richtigen Mechanismen und etwas Kreativität viel erreichen kann.

Ihr Benötigt:

Zuerst einmal eine Alarmanlage eurer Wahl. Ihr solltet nur darauf achten, dass sie einen Handsender mitbringt. Ich benutze das System 6081 der Firma OLYMPIA Protect.

Da sie via Funk arbeitet, müssen lediglich alle paar Jahre die Batterien der Sender gewechselt werden. Daher muss man keine zusätzlichen Kabel verlegen, so bleiben die Wände verschont.

Außerdem ist sie erweiterbar, so gibt es neben Tür-/ Fensterkontakten* auch Glasbruchmlder* und sogar Wassermelder*.

Empfehlen kann ich euch außerdem das überholte Model 9061,
hierfür gibt sogar eine Outdoor-Alarm.

Als nicht zu unterschätzendes Gimmick kann man beide sogar an eine Telefonanlage anschließen. Wird der Alarm ausgelöst, ruft sie  dann eine von 10 Programmierbaren Nummern an.

Einen Raspberry Pi*: viele Leser dieses Blogs sollten sowieso schon einen haben. Allen den Raspberry Pi überhaupt nichts sagt, empfehle ich sich erst ein mal etwas Wissen anzulesen. Zudem solltet Ihr wissen wie man eine Fernbedienung mit einem Raspberry PI überbrückt.

Optional einen eigenen Webserver, andernfalls einen dyndns Service:
Fast alle deutsche Internet-Anschlüsse wechseln alle 24h die IP-Adresse. Die Lösung die ich hier vorstelle, ist im Idealfall online erreichbar. Daher muss das Problem mit der IP-Adresse gelöst werden. Ich löse es über einen eigene Webserver im Internet, der mein Heimnetzwerk kennt und Befehle dahin senden kann. Diese Anleitung lässt sich aber auf eine dyndns Lösung anwenden. (Mit dyndns würdet ihr direkt mit eurem Heimnetzwerk kommunizieren und spart euch den „Umweg“ über einen Internet Server.)

Eine App die auf Basis eures Standortes Webaufrufe macht
Ich verwende hier Geofancy auf meinem iPhone, soweit ich informiert bin kann der Service If this then that über die dazu gehörige App ähnliches.

Zuerst einmal der Aufbau:

Schaut euch die Grafik oben an, von links nach rechts soll nun Folgendes realisiert werden.

  1. Jemand betritt den Bereich in dem die Alarm-Anlage ausgeschaltet werden soll
  2. die App-Geofancy auf dem iPhone bemerkt dies und sendet einen HTTP-Request an einen Webserver
  3. ist der Request gültig wird er an den Raspberry Pi (also in das Heimnetzwerk) weitergeleitet
  4. der Raspberry PI entscheidet dann ob er das anfragende Gerät kennt. Wenn nicht bricht er ab, andernfalls geht es weiter. Zudem merkt  sich der Raspberry PI, dass nun ein Gerät in Reichweite ist.
  5. Nun wird ein Relais geschaltet welches die Fernbedienung der Alarmanlage betätigt
  6. Die Alarm Anlage schaltet sich ab

Das ganze kann logischerweise für mehrere Geräte konfiguriert werden.

In der Geofancy-App kann man zudem einen  HTTP-Aufruf konfigurieren der getätigt wird sobald ein Gerät die „Unscharf Zone“ verlässt.
Benutzt man die Alarmanlage mit mehreren Geräten, muss man darauf achten, dass der Alarm nicht jedes mal Scharf schaltet sobald einer die Zone verlässt sondern nur dann, wenn keiner mehr Zuhause ist.

So konfiguriert ihr Geofancy:

geofancyGeofancy ist eine App mit der man anhand von so genannten Geofances (geografischen Zäunen) HTTP-Aufrufe ausführen kann.

Geofances haben im Gegensatz zu GPS den Vorteil, dass sie keinen zusätzlichen Strom verbrauchen. Euer Smartphone ist ohnehin den ganzen Tag damit beschäftigt Funkmaste zu wechseln / WLAN-Netze kommen und gehen zu sehen u.s.w.

Abhängig von solchen „Umgebungs Änderungen“ kann eine App dann andere Dinge tun.

Für die Alarm-Anlagen Konfiguration wählt ihr oben einen Radius um euer Zuhause aus.

bei Trigger on Arrival tragt ihr die Web-Adresse ein die beim Betreten des Kreises aufgerufen werden soll.

bei Trigger on Departure tragt ihr die Web-Adresse ein die beim Verlassen des Kreises aufgerufen werden soll.

Ihr könnt zudem entscheiden ob ihr GET oder POST verwenden möchtet.

Für den Fall, dass die Web-Adressen mit htpasswd geschützt sind, könnt ihr die Zugangsdaten hier eingeben.

Geofancy ruft nicht nur die Adressen auf, sondern sendet auch noch weitere Informationen via (POST bzw. GET). Neben longitude und latitude werden auch noch device und trigger gesendet, hiermit kann man nun Geräte und Situationen identifizieren.

device : die device ID von dem iphone
trigger: enter, exit oder test

Um zu zeigen wie die Steuerung funktionieren könnte habe ich euch ein Paar Quellcode-Schnippsel zusammengestellt.
Ich habe jede einzelne Datei mit quellcode Kommentaren.

Alarm.php Kontrolliert das relays an dem die Fernbedienung gelötet ist
GeoFancyData.php Ist einfach nur ein Wrapper um besser mit den Geofancy-Daten arbeiten zu können.
 so könnte der Arrival-Trigger aussehen (enter)
 so könnte der Departure-Trigger aussehen (exit)
 diese Klasse behält den überblick wer zuhause ist und wer nicht.

Programmablauf beim Ankommen:

  1. arrive.php nimmt die geofancy Daten entgegen
  2. isHomeChecker schaut ob er die Device-id kennt
  3. Alarm.php schaltet die Fernbedienung

Programmablauf beim Verlassen:

  1. leave.php nimmt die geofancy Daten entgegen
  2. isHomeChecker schaut ob er die Device-id kennt
  3. wenn keine Device mehr zuhause ist schaltet Alarm.php die Fernbedienung

Fragen und Anregungen einfach in die Kommentare, ich antworte in der Regel recht fix.
(*=Affiliate)

Update So findet ihr die Deviceid heraus.

Unter Einstellungen den Pfad zur geofancy.php eintragen. „GET auswählen“, Test-Request senden drücken.

Dann erscheint eine „Benachrichtigung mit einer langen Meldung.
Irgendwo steht device=, darauf folgt die benötigte device id, diese geht bis zum nächsten &-Zeichen.. das & Zeichen gehört nicht mehr dazu.

Achtung, solltet ihr die app mal de installieren und wieder neu installieren ändert sich auch diese id und muss angepasst werden


74 Kommentare zu "Alarmanlage mit raspberry pi und geofancy automatisch schalten"

  1. Raimund Stoll schreibt:

    Hallo Zusammen,

    geht das Ganze auch mit einem Android-Gerät (Tablet oder Handy)?

  2. Marko schreibt:

    da gibt es mehrere Ansätze. entweder ifttt.com ich glaube beim „zuhause ankommen“ hat der service schon etwas delay.. beim verlassen ist es ja quasi egal ob nach 3 oder nach 5 Minuten scharf geschaltet wird. Andernfalls könnte man im Netzwerk gucken ob eine IP gerade erreichbar ist (also die vom handy).. dies geht mit ios nicht weil sich da immer das netzwerk ausschaltet wenn man den screen lockt.. wie das bei android ist weiß ich nicht.
    je nach android gerät würde eine lösung mit NFC funktionieren.

  3. Marko schreibt:

    sieht gut aus, vielen dank

  4. Bruno schreibt:

    Für Android-Phones habe ich das hier: https://play.google.com/store/apps/details?id=com.arpacell.fencer gefunden.

  5. Bollean schreibt:

    Hi!

    Tolle Sache! Leider meldet mein Webserver „i do not know you“ zurück.
    Ich habe in der isHomeChecker.php die Geofancy ID eingegeben, also die ID, die ich in der App angezeigt bekomme. Trotzdem wird mein iPhone nicht identifiziert.

    Irgendjemand eine Idee? 🙂

    Danke!

  6. Marko schreibt:

    Schau mal in Geofany unter Einstellungen-> „test-request-senden“ in der Antwort steht device=XXXXXXXXXXXX dieser wert hinter dem = ist wichtig für das script
    $this->_knownDevices[„xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx“] = „PERSON A“;

    „I dont Know you“ meldet er wenn die id nicht gefunden wurde.

    Die andere Möglichkeit ist dass die id nicht richtig übergeben wird bzw irgendwo Verlohren geht.

    „Achtung“, wenn du geofancy vom Telefon löscht und es neu installierst ändert sich auch jedes mal die id 😉

    hoffe mit der info kommst du weiter. sonst einfach melden. gruß Marko

  7. Bollean schreibt:

    Hi! Danke für die Hilfe! Leider klappts nicht. Der test-Request meldet nur: Erfolg: i do not know you.
    Die IDs stimmen auf jeden Fall überein (isHomeChecker und App). Merkwürdig, das Ganze…

  8. Marko schreibt:

    du kannst die leave.php auch einfach mal versuchen mit
    ?device=XXXDEINEIDXXX im browser zu öffnen

    also „http://pfad/zu/deine/leave.php?device=XXXXXX“

    spätestens dann sollte die richtige id an kommen.
    acja im geofancy muß der Aufruf auf GET gestellt sein und nicht auf POST.. wie im bild oben

  9. Bollean schreibt:

    Super, es klappt! Ich habe die ID mit ?device=xxxx dem Request direkt mitgegeben, wie du beschrieben hast. Dann musste ich noch auf POST stellen, GET funzt bei mir nicht.
    Jetzt läufts! Tolle Idee, danke für diesen Blog!

    mfg

  10. Ralle schreibt:

    Huhu, wenn ich Test-Request senden drücke kommt jedesmal mal ob Post oder Get <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 3.2 usw mit dem Inhalt der Datei. Irgendwas stimmt da nicht. Hat wer eine Idee? Ich habe die Dateien auf einem NAS Server liegen und greife über eine no-ip Adresse drauf. Er zeigt mir auch immer nur I dont know you an. Mit der Eingabe der ID hinter device funktioniert es.

  11. onkeloki schreibt:

    <!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 3.2, das sieht so aus als wenn dir der falsche server (die falsche Website antwortet).. schau dir mal den quellcode deines nas / dienes routers oder no-ip an… irgend eine dieser Seiten fangen vermutlich mit diesem <!Doctype an 😉 dann weißt du schon mal wo die app fälschlicherweise landet

  12. Ralle schreibt:

    Die App greift schon mal auf den NAS. Was jetzt noch Interessant wäre, was kommt den unter Globaler HTTP Einstellungen für Pfad rein. Ich habe die Dateien, die ich aufrufe mit der App auf den NAS Festplatte Public abgelegt.

  13. ductaper schreibt:

    Das Feld ist optional. Ich habe da den Pfad zur geofancy.php drin stehen.(aber nur wegen dem Test aufruf) Wenn du die Pfade bei der Location setzt. Wird der globale-Einstellungen Pfad ignoriert.

  14. Flo schreibt:

    Moin. Super Idee, hatte genau das gleiche vor. Leider im Grunde funktioniert das auch bei mir, aber ein Problem hätte ich: Die App sendet zwar erfolgreiche Tests an meinen Server, die LEAVE oder ARRIVE-Befehle für meinen Geofence werden aber nicht übertragen – egal, ob die App im Hintergrund aktiv ist, oder nicht. Habe den Fence sowohl in der App, als auch auf der dazugehörigen Website definiert… Hast du ne Idee?

  15. Ron schreibt:

    Hallo Marko,

    leider komm ich nicht sehr weit, habe allerdings auch nicht zuviel Wissen über PHP.

    Das erst was ich nicht verstehe, ist in der Alarm.php die Pin Bezeichnung „1337“ und „1338“. Ich kannte bisher nur z.B. GPIO 24 BCM oder Board. Also immer zweistellig.

    Des weiteren bekomme ich auch die Meldung „I don’t know you“.

    Ich schreibe mal was ich gemacht habe.

    Ich habe einen Ordner geofancy im Verzeichnis /var/www angelegt. Darin habe ich eins zu eins die PHP Files angelegt. Auf dem Iphone 4 habe ich eine Home Zone angelegt. Da sehe ich dann eine ID, welche vom Aufbau und der Zeichenanzahl identisch mit der geforderten in Zeile 14 oder 15 der IsHomeChecker.php ist. Diese habe ich dort eingetragen.
    Ist das die device ID? Für mich ist das eher eine Ort’s ID.

    Einen Ordner „status“ habe ich noch nicht angelegt. Soll der dann auch in den gleichen wie die php Dateien? Was hat es mit myQSL auf sich? Muss ich da noch etwas installieren? Da kenne ich mich einfach zu wenig damit aus.

    Im Iphone habe ich für die Trigger folgendes hinterlegt:
    http://meine.dyndns.tv:89/geofancy/arrive.php bzw. leave.php

    Das müsste ja so stimmen. Wenn ich einen Request send mit arrive.php mache, kann ich auf der arrive.php Seite auch die Meldung „I don’t know you“ sehen.

    Vielleicht wäre es möglich in ein paar kurzen Sätzen die Vorgehensweise auch für nicht so versierte wie mich zu erklären.

    Es wäre klasse, wenn ich das auch hinbekommen würde. Vielen Dank.

  16. Marko schreibt:

    @Flo, leider nicht, frag mal direkt bei den Jungs von geofancy nach 🙁
    @RON: Lies die Anweisung von der Alarm.php 😉
    „Ihr müsst die variablen $enablePin und $disablePin entpsrechend
    eurer Konfiguration setzen“.

    Auch in der ishopmechecker.php ist oben eine Anweisung
    1. es muss ein Ordner namens „status“ erstellt werden, dieser muss schreibrechte bekommen. also z.b. „chmod 777 status“

    die devices Ids musst du ca so Anpassen:

    $this->_knownDevices[„xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx“] = „RON“;

    exemplarisch sind ja zwei Personen eingetragen.
    In der app musst du die methode GET, verwenden NICHT POST!

    wenn jetzt alles richtig ist, ruft die app die arrive.php auf und sendet deine device id mit. Ist diese richtig eingetragen. erscheint die Meldung „willkommen zuhause ron“ 😉

    du kannst das testen indem du die deine Device id mit ?device= an die arrive.php hängst, z.b. so:
    http………/arrive.php?device=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

    einfach ausgedrückt sucht arrive.php nach device aus _knownDevices.
    Ist ein Eintrag vorhanden, kommt „willkommen Person“ kann die device id nicht gefunden werden kommt „i dont know you“ 😉

  17. Ron schreibt:

    Vielen Dank für die schnelle Antwort.

    Die Pin’s habe ich in 23 und 24 geändert, wären jetzt also physikalisch Pin 16 und 18?
    Testen kann ich das aber erst am Sonntag mit zwei LED’s.

    Den Ordner status habe ich erstellt und mit schreibrechten versehen. Ferner:
    $this->_knownDevices[“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”] = “RON”;
    obwohl, ohne den Namen müsste er z.B. Person A anzeigen.

    Wenn ich jetzt einen Test-Request GET auf die arrive.php sende, bekomme ich immer noch Erfolg: I don’t know you.

    Das sollte doch eigentlich jetzt gehen?

    Allerdings wenn ich: http………/arrive.php?device=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    am Computer eingebe, kommt alternierend „Willkommen zuhause RON“ und „RON ist bereits zuhause“

    Bzw. mit leave „bye bye Ron“

    Ich muss als nächstes wirklich den Bereich verlassen um zu testen ob es geht.

    Ich kann nur die nächsten 2 Stunden hier nicht weg und das Iphone in den Flugmodus zu schalten erzeugt ja wohl keinen Trigger.

    Mich irritiert nur, dass beim Test-Request die Fehlermeldung kommt.

  18. Marko schreibt:

    ok, du hast aber schon „xxxx-xxx-xx-…..xxx“ durch deine device id ausgetausch?
    das heißt der Aufruf ?device=DEINE-ID geht?

    1. check noch mal ob die Id die richtige ist
    2. wichtig ist das GET ausgewählt ist bei der Sendeart 😉

    nachdem “Willkommen zuhause RON”, angezeigt wurde solltest du auch eine datei im status ordner finden. der name der Datei ist DEINEID_RON (oder so).

    Wenn du „willkommen zuhause, Ron“ im browser siehst scheitert es nur noch an der Kommunikation zwischen App und PI. ps: ich habe den Artikel geupdated und 2 Bilder angehangen. damit wir von der selben deviceid reden 😉

  19. Ron schreibt:

    Die ID ist die Richtige.
    GET ist ausgewählt.
    Im staus Ordner habe ich eine File: RON_2A6F727F-74D4-31BD-A7F9-0F4AA2DF13AD.txt
    Habe es oben etwas verfremdet.

    Die Datei ist aber leer.

    Ich denke, es gibt nun 3 Möglichkeiten.

    1. Es funktioniert, muss mich nur mal aus dem Bereich bewegen und LED’s anschließen zum testen.
    2. Beim copy / paste der php Dateien ist etwas schief gelaufen. Das ist immer so ein Unsicherheitsfaktor.
    3. Die Eintragung bei Globale HTTP Einstellungen / Test-Request senden habe ich mit http://mein.dyndns.tv:89/geofancy/arrive.php gemacht.
    Das ist für mich auch noch so ein Unsicherheitsfaktor.

  20. Ron schreibt:

    Ups, sorry in der txt Datei steht eine 1.

    Bin jetzt mal aus dem Bereich herausgegangen und habe das Phone in den Flugmodus gestellt. Nach meiner Rückkehr müsste da ja dann eine 0 stehen.

  21. Marko schreibt:

    bei Arrive wird die txt datei erstellt und eine „1“ reingeschrieben.
    Bei Leave wird die datei ganz gelöscht 😉

    zum kopieren: bei github kannst du auf „raw“ klicken.
    dann kopierst du die Adresszeile und lädst die datei mit „wget“ auf den pi herunter.
    Lg

  22. Ron schreibt:

    Ja, das mach ich noch gerade. Vielen Dank für die Hilfe. Ich denke das wird noch. Bekomme leider gleich Besuch und werde vor Sonntag nicht mehr dazu kommen. Melde mich noch mal, wenn ich darf. Schönes WE.

  23. Marko schreibt:

    jeder zeit. schönes Wochenende

  24. Ron schreibt:

    Habe das noch schnell runtergelassen. Dabei ist mir aufgefallen, das die isHomeChecker.php vorne das i kleingeschrieben ist. Da hatte ich wohl schon einen Fehler gemacht und das i groß geschrieben. Die Augen sind halt nicht mehr die besten. Jetzt erhalte ich allerdings GET Fehler: Request failed: Interner Serverfehler (500)

  25. Ron schreibt:

    In der Alarm.php ist „IsHomeChecker“ groß geschrieben. das habe ich jetzt vorne klein geschrieben. Jetzt sidt der Server Fehler weg, aber es kommt noch don’t know you.

  26. Marko schreibt:

    Ishomechecker.php ist der mane der datei. include „Ishomechecker.php“ mit großem I ist also richtig,
    in der datei wird eine php-Klasse erzeugt die wird kleingeschrieben..
    class isHomechecker()
    bzw $variable = new isHomechecker()
    bin mir sehr sicher dass die files so wie sie bei github liegen auch funktionieren 😉
    du kannst mal in die arrive.php oben hinter dem

  27. Ron schreibt:

    Hallo Marko,

    Dein Vorschlag mit dem var_dump($_GET); in die arrive.php einzusetzen hat den Durchbruch gebracht. Da konnte ich sehen, das ich bis Dato eine falsche ID nutzte.
    Generell ist aber bei Dir im github die IsHomeChecker.php Datei klein geschrieben. Vielleicht kannst Du das mal noch ändern. Da bin ich auch etwas darüber gestolpert. Ansonsten laufen die Scripts tadellos. Vielen Dank nochmals an dieser Stelle.

    Ein Problem habe ich jetzt aber noch, dass betrifft aber die Geofancy app. Zwischen meinen Versuchen am Freitag, kam eine Nachricht auf das Iphone wie in etwa: Es liegt eine neue Version Ihrer app vor, möchten Sie sie updaten. Was ich auch gemacht habe. Seit diesem Moment geht auf meinem Iphone 4 kein automatischer Trigger bei erreichen oder verlassen mehr. Ich habe jetzt im Nachhinein gelesen, dass das Update nur auf IOS 8 läuft. Das kann ich wiederum nicht nutzen. Normalerweise hätte sich das Update auf IOS 7 erst gar nicht installieren dürfen.

    Jetzt muss ich mal sehen, wie ich die app downgraden kann, beziehungsweise muss ich den Entwickler der app mal anschreiben, was da jetzt zu tun ist. Ich vermute mal, wenn ich die app einfach lösche und neu installiere, habe ich wieder die neueste Version auf dem Iphone.

    Die Alarm.php habe ich etwas abgeändert, so dass ich, wenn ich zuhause bin mit einem Relais die Magnetkontakte überbrückt werden und beim verlassen durch Abfall des Relais die Magnetkontakte Alarm geben können.

    Vielen Dank für die Mühe und die Scripts, ich kann diese zur ist Home Kontrolle nur wärmstens empfehlen.

    Gruß,

    Ron

  28. onkeloki schreibt:

    ja sauber! ich habe die IsHomeChecker umbenannt. danke

  29. Ron schreibt:

    Hallo Marko,

    ich hätte noch einen Verbesserungsvorschlag. Wenn z.B. ein reboot durchgeführt wird während man anwesend ist, ist zwar die txt Datei weiterhin im status Ordner, aber die Alarm.php bekommt das nicht mit.
    Da fände ich es sinnvoll, wenn periodisch überprüft wird, ob eine txt Datei noch im status Ordner vorhanden ist. Zum Beispiel alle 5 oder auch 10 Sekunden, das sollte reichen.
    Ich weiß jetzt bloß noch nicht, wo man dies einsetzen könnte. Vermute aber mal im IsHomeChecker.php Script.

    Übrigens, das automatische triggern hat gestern trotz meines Updates der app funktioniert, wenn auch etwas zeitverzögert. Da dies von der app gemacht wird, hat man da aber leider keinen Einfluss drauf. Da Du das ja schon länger in Benutzung hast, kannst Du da eine Aussage bezüglich der responds Zeit der trigger geben?

    Gruß,

    Ron

  30. Marko schreibt:

    Wenn man abwesend ist, ist die txt Datei nicht im Status-Ordner, die wird ja gelöscht.
    Sie ist nur im Ordner wenn man anwesend ist 😉
    Das checken (5-10s) müsste man über einen cronjob regeln. Php selbst hat keine „laufzeit“ also php wird ausgeführt und tut dann nichts mehr. Daher müsste ein cronjob eine entsprechende php Datei regelmäßig ausführen, dann ist so etwas denkbar.

    Zur response zeit:
    Das ist unterschiedlich, beim ankommen geht meine Beleuchtung an und die Alarmanlage aus. Wenn also das licht an ist weiss ich dass ich rein darf 😉
    Normalerweise tut es das auch ganz gut. Man bekommt ja auch die Rückmeldung
    per notification. Ich habe mir zudem ein script geschrieben mit dem ich darüber hinaus jede einzelne Person „anwesend / abwesend“ schalten kann.

    Wenn die app nicht Früh genug schaltet, habe ich einfach etwas mit dem Radius gespielt 😉 seither funktioniert es zuverlässig… ich schätze bei 9 von 10 „ankommen“

  31. Ron schreibt:

    ok, bezüglich des Vorhandenseins der txt Datei habe ich schon verstanden.
    Dann denke ich, das einfachste wäre für mich die Alarm.php wegzulassen, oder wenn das zu Problemen führt einen dummy schalten lassen und mit einem Python script, welches im Hintergrund läuft alle 5 Sekunden nach der Datei zu schauen und das Ergebnis als trigger nutzen.
    So wie Dein Alarm.php Beispiel aufgebaut ist, taucht das Problem nicht auf, da nur mit einem Impuls geschaltet wird. Also vergleichbar wie ein Stromstossrelais.

    Wenn man aber ein dauer „high“ für die Anwesenheit benötigt, bekommt man das erst wieder nach einem leave und arrive. Also einem Zyklus, wenn in der Zwischenzeit ein reboot statt fand.

  32. Marko schreibt:

    ja, die alarm php kann auch weg gelassen werden und in die arrive bzw leave.php eigene Sachen ausgeführt werden. Kommentare sind ja vorhanden.
    Ich überbrücke bei mit den Handsender der Alarmanlage. Quasi den Scharf und den Unscharfknopf… daher schließe ich das relais warte eine secunde und öffne es wieder 😉 quasi so als wenn man manuel den button des hand senders drücken würde.

  33. Ron schreibt:

    Nur zur Info:

    Auf meine Anfrage beim Entwickler der app habe ich folgende Antwort erhalten:

    Hi Ron,

    it should also work with your iPhone 4. This indeed seems to be bug in the app, a hotfix resolving this issue is on the way. You’ll receive a notification to test the beta version, the App itself will be available as an update as soon as Apple has approved it.

    Sorry for the inconvenience.

  34. Marko schreibt:

    ah, cool danke fürs nachfragen 🙂 gut das es bald eine neue version gibt, seitdem du erwähnt hattest trigger Probleme zu haben bilde ich mir ein das meine app auch weniger zuverlässig geworden ist. Habe gerade mal den PI neu gestartet und beobachte es

  35. Ron schreibt:

    Es gab ja letzte Woche ein Update. In diesem ist wohl ein Bug. Also es kommt wohl darauf an, ob Du das gemacht hast. Ich hatte noch gefragt, ob es denn richtig ist, dass kein anderer Server zwischen dem Iphone und dem eigenen hängt. Auf diese Frage wurde aber nicht eingegangen. Wenn der trigger bevor er zum Raspi kommt über einen anderen Server läuft, besteht ja die Möglichkeit, das dieser z. B. down ist.
    Eigentlich müsste der trigger direkt zum Raspi gehen. Der trigger geht aber auf jedem Fall auch zu Geofancy, da man sich nach Anmeldung auf https://my.Geofancy.com unter accounts alle trigger anschauen kann, und diese auch als CSV Datei downloaden kann. So könnte es rein theoretisch sein, dass der trigger erst zu Geofancy geht und von dort weiter zur angegebenen URL (Raspi) geht. In diesem Fall, könnte es auch zu Überlastungen und somit zu Zeitverzögerungen kommen. Nur so eine Überlegung, ich werde es mal beobachten.

  36. Ralle schreibt:

    Ich arbeite mit Powerpi. Dank der Kommentare habe ich es hin bekommen, das die App endlich läuft. Allerdings löst anscheinend die Alarm.php mein Ereignis nicht aus. Egal ob ich die Alarmanlage an GIPO Pin 22 oder die Garage auf und zufahren möchte. Es funktioniert mit der Alarm.php nicht.

    Wie arbeite ich denn die Befehle

    echo -n „addsocket:Wohnzimmer:10101C“ | nc -4u 192.168.1.58 6677)

    echo -n „setsocket:Wohnzimmer:1“ | nc -4u 192.168.1.58 6677)

    in die Scripte ein. Denn wenn ich dieses in die Console eingebe schaltet die Lampe im Wohnzimmer. So könnte ich zumindest mal Licht an und ausschalten. Die Alarm.php ist die Orginale und dort habe ich nur den Pin umgeändert in 22 oder mal in 27 ohne Erfolg. Vielleicht könnte mal jemand seine abgeänderte Alarm.php senden.

    Klasse hier, wie sich die Geschichte mit Gefancy entwicklet.

  37. Ron schreibt:

    Bin mir nicht sicher, ob Du das meinst. Aber so schalte ich z.Z. eine LED und später ein Relais. Zuhause: LED brennt, nicht Zuhause LED aus.

    static function enable()
    {
    // GIPO Pin über dem das Relai zum anschalten der Alarmanlage geschaltet wird
    $enablePin = 23;
    // SET PIN MODE
    shell_exec(„gpio -g mode “ . $enablePin . “ out“);
    // BTN DOWN
    shell_exec(„gpio -g write “ . $enablePin . “ 0″);
    // WAIT
    //sleep(1);
    // BTN UP
    //shell_exec(„gpio -g write “ . $enablePin . “ 1″);
    }

    static function disable()
    {
    // GIPO Pin über dem das Relai zum anschalten der Alarmanlage geschaltet wird
    $disablePin = 23;
    // SET PIN MODE
    shell_exec(„gpio -g mode “ . $disablePin . “ out“);
    // BTN DOWN
    shell_exec(„gpio -g write “ . $disablePin . “ 1″);
    // WAIT
    //sleep(1);
    // BTN UP
    //shell_exec(„gpio -g write “ . $disablePin . “ 1″);

    }

    }

  38. Ralle schreibt:

    Das habe ich schon verstanden. Aber das Relay schaltet ja leider nicht. Wie schalte ich den ein 433 Sender skriptmäßig?

  39. Ron schreibt:

    ok, da kann ich Dir nicht weiterhelfen, kenne mich mit php nicht aus.
    Was Du aber machen kannst, soweit ich das verstehe ist: Die Alarm.php gar nicht nutzen und mit einem Python script z. B. schauen ob die .txt Datei im status Order vorhanden ist und mit dieser Bedingung dann etwas auslösen.
    Geht z. B. mit dem SHC Smart Home Control. Da gibt es eine Bedingung: Datei vorhanden, dann…..

    http://rpi-controlcenter.de/index.php

  40. Ralle schreibt:

    Danke, ich schau mir das dann mal an. Aber ich frage mich immer noch warum die Alarm.php mit den GPIO nicht funktioniert. Vielleicht hat noch jemand eine Idee woran es liegen könnte.

  41. Ron schreibt:

    Hast Du auch den richtigen Pin angeschlossen? Das script der Alarm.php nutzt die BCM Belegung. Also für GPIO 22 musst Du „Pin 6“ in die Alarm.php eintragen.

  42. Ralle schreibt:

    Auf meinem Board ist GPIO22 der Pin 15. ok das wäre schon mal eine Erklärung. Kannst Du mir dann noch schnell die Pins für GPIO27 und 25 sagen

  43. Flo schreibt:

    Huhu. Es gibt da entweder diese Übersicht:

    http://data.designspark.info/uploads/images/53bc258dc6c0425cb44870b50ab30621

    Oder du gibst in der Konsole ein:

    gpio readall

    dann kriegst du auch eine Übersicht 🙂 Habe das System bei mir nun komplett am Laufen – und noch zusätzlich erweitert (z.B. um RFID-Reader/Pinpad, automatische Scharfschaltung zu einer bestimmten Uhrzeit etc). Nur Geofancy funktioniert derzeit ja leider nicht – mittlerweile bin ich Beta-Tester, jedoch kann die aktuellste Beta gar keine Trigger mehr absetzen oO.
    Habe den Entwickler informiert.
    LG

  44. Ralle schreibt:

    Huhu, hab die gpio readall Übersicht mir angeschaut und jetzt ist mir klar wieso das nicht funktionert. Bin mal gespannt ob es funktioniert. Vorerst mal danke! Aber ich habe bestimmt noch die eine oder andere Frage.

  45. Ralle schreibt:

    Huhu, ich will noch eine Rückmeldung machen. Die App schreibt zwar bye,bye und Willkommen zu Hause aber meine Anlage scharf oder unscharfschalten bzw. Garagetor öffnen tut sie nicht. Vielleicht hat es ja auch was mit der Beta zu tun. Ich warte mal ab.

  46. Ron schreibt:

    Also, ich war heute 2 mal aus dem Haus, um die Mittagszeit ginge es nicht, am späteren Nachmittag ging es dann.
    Du kannst zu Testzwecke das ganze ohne app simulieren.
    Öffne 2 Fenster im Browser am PC Zuhause.
    In dem einen gibst Du ein http://192.xxx.xxx.xx:yy/pfad/arrive.php?device=deine ID
    Das:yy brauchst Du nur, wenn Dein Port nicht 80 ist.

    Im zweiten Fenster gibst Du das gleiche ein nur mit leave.php

    Jetzt kannst Du nacheinander die Seiten mit refresh(ich glaube es ist F5 am PC) die Seiten neu laden. Dabei muss einmal die entsprechende Nachricht angezeigt werden und die GPIO muss schalten. Wenn da Idon’t know you kommt, stimmt die ID nicht. Sonst muss der Pin schalten, oder der stimmt nicht.

  47. Flo schreibt:

    @Ralle: In deinem Fall siehst du ja, dass die kommunikation zwischen App und Raspi funktioniert! Führ doch mal die PHP aus (wie Ron es sagte) und guck dann mittels
    gpio readall
    ob die entsprechenden Ports geschaltet (1) sind. Wenn nicht, liegt’s an der Alarm.php – andernfalls an den vom GPIO-Port angesteuerten Teil….

  48. Flo schreibt:

    … (letzterer ist bei mir die Fernbedienung der Alarmanlage)

  49. Ron schreibt:

    @Ralle Vielleicht blockiert bei Dir auf dem Raspi auch ein anderes Programm die GPIO. Ich denke da an clean up GPIO.

    @Flo Würdest Du vielleicht Deine Script Ergänzungen veröffentlichen?

    Zum Beispiel im deutschen Raspberry Forum?

  50. Ralle schreibt:

    Hab es ausprobiert, die ID stimmt und zeigt auch den entsprechenden Text an. Aber der GPIO-Port schaltet nicht. Das Fehlerbild liegt wohl an der Alarm.php. Aber warum schaltet mein Relais nicht. Manuell schaltet es mit Powerpi ohne Probleme. Schade das ich da jetzt nicht weiter komme.

    Jedenfalls habe ich GPIO22 (Pin 6) eingetragen aber es tut sich nichts.

    Die APP funktioniert bei mir Triggermäßig so wie es sein soll mit meinem Iphone 5 Version 8.1

    Wie kann ich jetzt rausfinden warum das Script mein Relais nicht schaltet?

  51. Ralle schreibt:

    Das ist unsere Alarm.php

    <?php
    /**
    diese Klasse wird dazu verwendet
    die alarmanlage an bzw aus zu schalten,
    Ihr müsst die variablen $enablePin und $disablePin entpsrechend
    eurer Konfiguration setzen
    **/
    class Alarm
    {
    static function enable()
    {
    // GIPO Pin über dem das Relai zum anschalten der Alarmanlage geschaltet wird
    $enablePin = 6;
    // SET PIN MODE
    shell_exec("gpio -g mode " . $enablePin . " out");
    // BTN DOWN
    shell_exec("gpio -g write " . $enablePin . " 0");
    // WAIT
    sleep(1);
    // BTN UP
    shell_exec("gpio -g write " . $enablePin . " 1");

    }
    static function disable()
    {
    // GIPO Pin über dem das Relai zum anschalten der Alarmanlage geschaltet wird
    $disablePin = 25;
    // SET PIN MODE
    shell_exec("gpio -g mode " . $disablePin . " out");
    // BTN DOWN
    shell_exec("gpio -g write " . $disablePin . " 0");
    // WAIT
    sleep(1);
    // BTN UP
    shell_exec("gpio -g write " . $disablePin . " 1");

    }
    }

  52. Ralle schreibt:

    Das ist die gpio readall Ausgabe

    +—–+—–+———+——+—+—Pi 2—+—+——+———+—–+—–+
    | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
    +—–+—–+———+——+—+—-++—-+—+——+———+—–+—–+
    | | | 3.3v | | | 1 || 2 | | | 5v | | |
    | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | |
    | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
    | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
    | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
    | 17 | 0 | GPIO. 0 | OUT | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
    | 27 | 2 | GPIO. 2 | OUT | 0 | 13 || 14 | | | 0v | | |
    | 22 | 3 | GPIO. 3 | OUT | 0 | 15 || 16 | 0 | OUT | GPIO. 4 | 4 | 23 |
    | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
    | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
    | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | OUT | GPIO. 6 | 6 | 25 |
    | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
    | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
    | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
    | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
    | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
    | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
    | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
    | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
    | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
    +—–+—–+———+——+—+—-++—-+—+——+———+—–+—–+
    | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
    +—–+—–+———+——+—+—Pi 2—+—+——+———+—–+—–+

  53. Flo schreibt:

    @Ralle: GPIO22 ist bei mir 15….

    @Ron: Das sind relativ triviale .sh-Skripte, ich glaub‘ nicht wirklich der Rede wert…

  54. Flo schreibt:

    @Ralle: Noch eine andere Idee: Hat dein User, der Apache ausführt, genug Rechte für den Zugriff auf gpio?

  55. Ralle schreibt:

    Wie kann ich das nochmal schnell überprüfen

  56. Ralle schreibt:

    @Ron
    Die Blockierung würde mich interessiere. Wie kann ich das feststellen

  57. Ron schreibt:

    Also, jetzt mal ganz langsam, nach dem Ausschluss Prinzip.
    Das die Rechte des Servers für die GPIO fehlt wie Flo geschrieben hat, ist auch eine Möglichkeit. Wie das geprüft wird, müßte ich auch erst google’n.
    Jetzt aber mal was anderes.
    Wie ich oben geschrieben habe bezüglich der zwei Fenster mit arrive.php und leave,php müsstest Du mit den jeweiligen refresh entsprechende Nachrichten sehen. Das geht ja wohl. Dann schaust Du gleichzeitig, ob nach einem „leave“ die txt Datei im status Ordner gelöscht wird und nach einem arrive wieder vorhanden ist.
    Ist dies der Fall, wäre das nächste die Alarm.php. Kann da sich ein Fehler eingeschlichen haben beim drag & drop. Was steht genau in der gpio readall. Wenn diese bereits von einem anderen Programm genutzt wird, steht da OUT sonst muss da IN stehen, zumindest nach einem reboot. Nach dem togglen zwischen arrive und leave muss sich auch der Mode auf OUT einstellen und entweder o oder 1 in der „V“ Spalte anzeigen. Wenn das auch geht, ist das Relais kaputt oder falsch angeschlossen. Geht das nicht, nach der Rechte Vergabe der GPIO google’n.
    Jetzt müsste jede Möglichkeit abgedeckt sein. Auch mal schauen, ob sich ein anderer Wert in der gpio readall beim toggle’n ändert. Dann hättest Du an der falschen GPIO das Relais angeschlossen.

  58. Ron schreibt:

    Was ich mir auch noch vorstellen könnte, wäre das beim drag & drop eine der anderen php Files einen Fehler erhalten haben. Da müsste aber Marco etwas dazu sagen, wie die Alarm.php getriggert wird. Die von Marco ins Netz gestellten Files funktionieren alle auf jeden Fall.

  59. Ralle schreibt:

    Huhu, so ich hab jetzt alles durch lt. @Ron.
    Danke dafür nochmal.

    Zum Ergebnis:
    Wie oben geschrieben habe bezüglich der zwei Fenster mit arrive.php und leave,php probiert und funktioniert prima. Die Datei im Ordner Status wird auch gelöscht. Da sehe ich kein Problem. Das Relais funktioniert auch prima. Wenn ich in die Console gpio -g write 27 1 eingebe, schaltet das Relais und die Garage geht auf. Meine Einstellungen dazu gpio27. Jetzt überprüfe ich mit gpio readall und siehe da BCM 2 steht auf out. Da ist selsam aber wieso. Die gpio27 steht unverändert auf IN

  60. Flo schreibt:

    Gib mal als Root

    gpio -g mode 27 out

    ein

    Bin mit der Reihenfolge nicht sicher grade 😉

  61. onkeloki schreibt:

    habe eure diskusion nicht ganz verfolgt.
    ggf liegt es daran dass php mit dem falschen user ausgeführt wird. btw php nicht shell_exec ausführen darf?

  62. Ralle schreibt:

    Huhu hatte ich schon gemacht. Dann schaltet auch das Relais. Überprüfe ich das dann mit dem Befehl gpio readall fäält mir auf das nun Gpio2 (BCM 27) auf out geschaltet wurde. Seltsam oder? Liegt da vielleicht der Fehler oder was @onkeloki schreibt vielleicht.

    @onkeloki
    wie kann ich das prüfen, muss ich die Alarm.php mal umstellen? Oder was meinst Du damit?

  63. Ron schreibt:

    @Ralle

    Das letzte Stückchen werden wir auch noch schaffen. nimm doch mal eine ganz andere GPIO. Z.B. GPIO 4 = BCM 23= Pin 16. Also der achte Pin auf der rechten Seite, quasi unter dem 5 Volt Anschluss. Dann Schließt Du eine Led mit 330 Ohm Widerstand gegen Masse an. Vorher kannst Du noch prüfen, ob die LED richtig herum ist, indem Du den Anschluss für Die GPIO auf 3,3 Volt aufsteckst. Am besten ohne SD Karte im Slot. Sie muss dann brennen. Dann Kopierst Du Dir nochmal die Alarm.php und setzt beide Pin’s darin auf „23“.
    Nach dem booten, muss die LED leuchten. Bei jedem trigger, sollte sie dann für eine Sekunde ausgehen.
    Sollte dies nicht funktionieren, kann ich mir von hier nur noch vorstellen, das es an den „Rechtem“ liegt um die GPIO aus php heraus zu schalten.
    Da würde ich am besten mal googlen.

    Hier ist schon mal was, was etwas in die Richtung geht. Es gibt mit Sicherheit noch ganz ausführlichere Artikel.

    https://github.com/agent4788/SHC_Framework/wiki/sudoers-Datei-anpassen

  64. Ralle schreibt:

    Huhu, zuerst mal Jungs Danke für eure Hilfe.

    Ich bin jetzt an dem Punkt „Raspberry pi Funkfernbedienung überbrücken“ weil ich das denke, das ich das Relais vielleicht falsch angeschlossen habe. In dem o.g. Beitrag „Raspberry pi Funkfernbedienung überbrücken“ ist die Fernbedienung am Relais ( von links nach rechts als 1-3 von mir bezeichnet ) an den Schrauben 1 und 2 angeschlossen. ICH habe aber die Schrauben 2 und 3 benutzt. Ist das jetzt falsch? Habe ich deshalb die Probleme.

  65. Flo schreibt:

    Das Relais war für mich auch etwas verwirrend – es ist aber ein Schaltplan aufgedruckt, wenn du den lesen kannst…. ????
    Ich hab mein Relais bereits fest verbaut, kann dir auf die schnelle auch nicht die pins sagen, sorry.

  66. Ron schreibt:

    Ich kenne Dein Relais nicht, aber wenn es so ein blaues auf einer kleinen Platine ist, ist es so, das Du die beiden rechten Anschlüsse nehmen musst.

    nc–()–no nc= normal closed no= normal open Im ausgeschalteten Zustand.

    Mit anderen Worten ein Draht an die Mitte. den anderen rechts, wenn das Relais als Schließer arbeiten soll und wenn es als öffnet arbeiten soll dann links.

  67. Ralle schreibt:

    Moin, habe das Relais jetzt überprüft. Es stand nur auf dem Kopf. War alles korrekt angeschlossen. Hab es totzdem mal falsch porbiert. Aber ging auch nicht. Somit gehe ich jetzt fest davon aus, das ich gpio aus php nicht ausführen kann und das mein Problem ist. Da werde ich mal googeln müssen. Ich hab den Pi 2 Version 1.2b. Könnte vielleicht jemand seine umgeänderte Alarm.php mal senden.

    In einem Beitrag habe ich das hier gelesen:

    $modeon17 = trim(@shell_exec(„/usr/local/bin/gpio -g mode 17 out“));
    legt den GPIO17 als Ausgang fest.
    Das Anschalten erfolgt nun über
    trim(@shell_exec(„/usr/local/bin/gpio -g write 17 1“));
    und das Ausschalten über
    trim(@shell_exec(„/usr/local/bin/gpio -g write 17 0“));.
    „trim” entfernt Whitespaces oder andere ungewünschte Zeichen, und „shell_exec” führt den Befehl dann in der shell aus.

    Wie soll ich das als Anfänger als Alarm.php umsetzen? Gibt es jemanden hier, der fit ist in php programmieren und kann mal auf die schnelle was anpassen?

    Gruß Ralle

  68. Ralle schreibt:

    Huhu,
    wo habt ihr denn die Alarm.php etc liegen, auf dem pi? Meine Dateien liegen auf dem NAS Server öffentlich. Da könnte auch das Problem liegen, das ich die php nicht ausführen kann?

  69. Ron schreibt:

    Na ja, ich habe alle php auf dem Raspi liegen. /var/www/geofancy/

    Die Alarm.php muss m.E. auf dem Raspi liegen, da er ja dort auch die GPIO schalten soll. Ist doch logisch, oder?
    Der Rest könnte wohl auch auf einem anderen Server liegen, dann müsste der „Rest“ aber auch auf die Alarm.php verweisen.

  70. Ron schreibt:

    Nachtrag: Wenn z.B. das ganze auf einem NAS laufen soll, müsstest Du das GPIO Gedöns aus der Alarm.php herausnehmen und ssh Befehle einbauen, die die GPIO per ssh auf dem Raspi schalten. Ob sich der Aufwand lohnt??

  71. Ralle schreibt:

    Huhu,
    Ron danke für deine Geduld 😉

    Ich habe es hinbekommen. JETZT funktioniert es. Schnell noch die Schreibrechte für den status ordner setzen und dann funktioniert das ganze lokal. Dann muss ich nur noch den pi über das Internet erreichbar machen. Mal sehen wie ich das hinbekomme. Über vpn tunnel gehts schon mal. Nochmals vielen Dank an @ALL.
    Klasse Blogseite und sehr gute Hilfe.

    Schönen Sonntag

  72. Ron schreibt:

    Keine Ursache, man lernt ja immer selber mit. Ich habe auf meinem Raspi ohnehin einen Apache laufen. Von außen komme ich mit einer dyndns.tv Adresse drauf. Wenn Du eine Fritzbox hast, sollte es auch mit myFritz gehen. Da ich aber schon jahrelang meine dyndns.tv habe, habe ich mich nicht weiter für myFritz interessiert.

    Wenn Du aber bereits VPN nutzt, musst Du ja bereits irgendeinen Service haben, der die IP auflöst. Du kannst dann im Router ein Port forewarding einstellen und den Webserver auf Port 80 lassen, oder den Port vom Webserver ändern. Jenachdem ob das Dein Router kann.

    Nachtrag: Habe eben gesehen, dass Du im März schon mal geschrieben hast das Du die Dateien auf einem NAS liegen hast. Das war mir vorher nicht mehr bewusst.

    Übrigens, wenn jemand seine php Geschichte auf einem NAS laufen hat und die Alarm.php modifiziert hat, dass sie einen Schaltbefehl an den Raspi sendet, hätte ich da eventuell auch Interesse daran.

    Der Befehl müsste dann wohl so ähnlich anstatt der GPIO eingesetzt werden.

    Bei trigger sende: SSH schalte GPIO pin xx mode out auf high@192.168.xxx.xx (IP des Rasp)
    Beziehungsweise auf low.

  73. Christoph schreibt:

    Hallo Leute ,… ich denke ich habe ein Problem mit meinem Gehirn 😉
    In Teilen der Anleitung wird von einer geofancy.php gesprochen. Ich kann die nirgendwo finden. muss ich mir die selber erstellen ?? Bei mir funktioniert das mit der Device ID nicht, da bekomm ich immer nur so einen langen wirren text retour der kein Device ID enthält. Vielleicht kann einer von euch meine Knopf im Kopf 😉 entwirren.

    Danke Liebe Grüsse

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.