UserPushAtHome

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • UserPushAtHome

      Microgamer hat eine neue Datei hinzugefügt:


      Erweiterung, welche eine BenutzerZuHause-Funktionalität über eine Ajax-Schnittstelle ermöglicht. Darüber kann man manuell Geräte als Anwesend (und Abwesend) markieren.

      Zip hier runterladen und dann in das SHC-Hauptverzeichnis (/var/www/shc) vom Master kopieren. Dort die Zip entpacken und über das Terminal

      Shell-Script

      1. php install.php
      eingeben. Nun wird automatisch die neue Funktion installiert und kann sofort benutzt werden. Falls jemand einen anderen Installationspfad haben sollte, muss er vorher in beiden Dateien eine Änderung vornehmen.
      In der pushuserathomeajax.class.php muss in Zeile 20 der Pfad geändert werden und das gleiche gilt auch für die userathomeupdatetask.class.php. Dort muss der Pfad in Zeile 77 geändert werden.
    • Gell, und das haben wir ganz allein hingekommen ;)
      So langsam hab ich auch das Kinzept verstanden, das du dahinter verwendest. Hab ein bisschen gebraucht, bis ich dahinter gekommen bin ;) Aber das ist ja mit Java dann wieder vorbei. Vielleicht verstehe ich das aber auch.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
    • Habe nach Anleitung installiert und bekomme folgende Meldungen. Nutze Jessie light.


      Source Code

      1. pi@SHCMasterFlur:/var/www/shc/userpushhome $ php install.php
      2. Installiere...
      3. PHP Warning: copy(./shc/data/commands/all/pushuserathomeajax.class.php): failed to open stream: No such file or directory in /var/www/shc/userpushhome/install.php on line 294
      4. PHP Warning: unlink(./shc/lib/sheduler/tasks/userathomeupdatetask.class.php): No such file or directory in /var/www/shc/userpushhome/install.php on line 296
      5. PHP Warning: copy(./shc/lib/sheduler/tasts/userathomeupdatetask.class.php): failed to open stream: No such file or directory in /var/www/shc/userpushhome/install.php on line 297
      6. Installation erfolgreich!
      7. pi@SHCMasterFlur:/var/www/shc/userpushhome $
      Sind die Meldungen normal?
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • Normal sind die Meldungen sicherlich nicht, ich habe das Installationscript nicht geschrieben. Ich nehme auch mal an, dass die Installation nicht erfolgreich war.

      Ich kann dir aber sagen, wie es sein müsste:

      1. von der Datei /var/www/shc/shc/lib/sheduler/tasks/userathomeupdatetask.class.php eine kopie machen (z.B. usersathomeupdatetask.class.save)

      2. die neue userathomeupdatetask.class.php von der Installationsquelle nach /var/www/shc/shc/lib/sheduler/tasks/ kopieren.

      3. die Datei pushuserathomeajax.class.php von der Installationsquelle nach /var/www/shc/shc/data/commands/all/ kopieren.

      Danach müsste das ganze wie folgt funktionieren.

      Source Code

      1. http://ip-adresse/shc/install.php?app=shc&a&ajax=pushuserathome&auh=0&ip=<ip des Users>&user=<user>&password=<password>

      uah = 0 : User wird auf Nicht zu Hause gesetzt
      uah = 1 : User wird auf Zu Hause gesetzt
      uah = 2 : aktueller Status wird abgefragt.

      Die Antwort kommt immer als JSON-File, dessen Inhalt ich hier auch noch mal erläutern kann, wenn gewünscht.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
    • Danke Dieter für die schnelle Antwort. Dann warte ich erst einmal ab.

      Es scheint aber nichts vom SHC zerschossen worden sein. User at home funktioniert weiterhin.

      Was allerdings interessant ist, dass bevor ich mein Iphone überhaupt angefasst habe, es at home im SHC angezeigt wurde. Es kann natürlich ein Zufall sein, dass kurz vorher irgendeine Pushmitteilung kam und es aufgeweckt hat. (Email, SMS, Pushbullet etc.)

      Nach Deiner Definition verstehe ich das so, das mittels script der Befehl geschickt werden muss um den "user at home" zu setzen. Wobei man das dann wunderbar mit Geofancy dann nutzen kann.
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • UserPushAtHome

      Ja, damit liegst du genau richtig. Man kann damit den Status "manuell" setzen. Er bleibt dann solange in den Status, bis man ihn "manuell" wieder ändert.
      Ist der Status aber auf "User nicht zu Hause" funktioniert er natürlich weiterhin wie gewohnt.

      Man kann diese neue Möglichkeit auf verschiedene Weise nutzen. So könnte man z.B. Zwei Links als Button auf den Homescreen legen, um zeitweilig trotz verlassen des Hauses den Status "zu Hause" aufrecht zu erhalten.
      Weiterhin können so diejenigen, die Geofancy nicht nutzen (wollen), ihren Status per Hand schalten. Eine Funktion, die auch dann in die App einbaue.

      Und Last but not least will ich dann noch die App per Geolocation in die Lage bringen, den zuHause-Status selbstständig zu setzen, sprich das Betreten und Verlassen automatisch zu erkennen. Und auch dazu würde ich diese Funktion benötigen, da die bekannten Probleme, die das IPhone mit der bisherigen zuHause-Funktion hat, sich nicht ändern lassen.

      Was das Installationsscript angeht, so denke ich nicht, dass sich was zerschossen hat. Allerdings scheint das Script nicht vollständig betriebssicher zu sein, so dass ich jedem, bis das behoben ist, raten würde es manuell zu installieren. Das ist ja auch wirklich einfach.


      Gesendet von iPhone mit Tapatalk
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
    • Source Code

      1. wget http://<ip-adresse-shc>/shc/index.php?a&ajax=pushuserathome&uah=<status>&ip=<ip-adresse-user>&user=<username>&password=<passwort>
      z.B.

      status = 0: user nicht zuhause
      status = 1: user zu hause
      status = 2: status abfragen

      die Abfrage liefert einen JSON-String mit dem Ergebnis zurück. Das ist natürlich nur für die Konsole nicht unbedingt perfekt. Da könnte man ggf. noch einen Parameter einbauen, der die Rückmeldung unterdrückt.
      Gruß Dieter
      --------------
      Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
    • Kommt da immer was zurück? Der Status interessiert mich weniger, nur am Rande. Ich möchte einen Befehl entweder direkt in ein PHP Skript einbauen, oder mittels Ereignis ein Skript triggern, welches mir native den Status setzt.

      Noch was: läuft das dann parallel zu der jetzigen Methode via Ping?
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.
    • rmjspa wrote:

      Noch was: läuft das dann parallel zu der jetzigen Methode via Ping?
      Was passiert, wenn über den userathomeupdatetask z. B "User at home" gesetzt wird, sich das Iphone aber ausbucht, oder umgekehrt?
      SHC Master B2+ WLAN sowie 1 Slave B2+, 2 Slave B+ und 2 Slave Raspi B. 5x Pi Cam; Imac mit OSX El Capitan; Iphone 6 plus; Ipad mini; Lenovo Android Tablet.