Antworten
Jan 11, 2018 - 08:22
Ich benutze das im Test Mode.
Habe das in den Automation Manager eingebunden und lasse mir eine Pushnachricht schicken.
Ist aber schon etwas tricky, das einzurichten.
Habe gerade auch erstmal nachgesehen, wie ich das seinerzeit gemacht habe.
Brauchst IFTTT und und die Mediola Web Services dafür.
Habe im Gerätemanager einen Dummy Schalter "Anwesenheit" von Intertechno vom Typ Switch angelegt.
Diesen in die Mediola Cloud übertragen. Darüber wird der Status Anwesenheit ON oder OFF geschaltet.
Die Schaltzustände verarbeite ich im Automation Manager und lasse entsprechende Pushnarichten an iPhone senden.
Der Webhook aus Geofency geht an IFTTT und der leitet ihn weiter an die Mediola Cloud und den hochgeladen Intertechno Schalter.
Für anwesend und abwesend braucht man entsprechend zwei Webhook Einträge. Die schalten dann entsprechend den hochgeladenen Schalter ON oder OFF.
Sehe aber gerade, dass ich seit 08.01. "Applet failed" Meldungen im IFTTT bekomme.
Ist jedenfalls alles eine ziemliche Bastelbude.
Sehr traurig, dass Mediola mal Geofencing offiziell angekündigt hatte und nun meint, dass sowas wie oben beschrieben ist, eine Alternative sei.
Habe das in den Automation Manager eingebunden und lasse mir eine Pushnachricht schicken.
Ist aber schon etwas tricky, das einzurichten.
Habe gerade auch erstmal nachgesehen, wie ich das seinerzeit gemacht habe.
Brauchst IFTTT und und die Mediola Web Services dafür.
Habe im Gerätemanager einen Dummy Schalter "Anwesenheit" von Intertechno vom Typ Switch angelegt.
Diesen in die Mediola Cloud übertragen. Darüber wird der Status Anwesenheit ON oder OFF geschaltet.
Die Schaltzustände verarbeite ich im Automation Manager und lasse entsprechende Pushnarichten an iPhone senden.
Der Webhook aus Geofency geht an IFTTT und der leitet ihn weiter an die Mediola Cloud und den hochgeladen Intertechno Schalter.
Für anwesend und abwesend braucht man entsprechend zwei Webhook Einträge. Die schalten dann entsprechend den hochgeladenen Schalter ON oder OFF.
Sehe aber gerade, dass ich seit 08.01. "Applet failed" Meldungen im IFTTT bekomme.
Ist jedenfalls alles eine ziemliche Bastelbude.
Sehr traurig, dass Mediola mal Geofencing offiziell angekündigt hatte und nun meint, dass sowas wie oben beschrieben ist, eine Alternative sei.
Jan 11, 2018 - 10:19
Das funktioniert bei mir mit einem Webhook und Geofency absolut zuverlässig. Ich selber nutzte dazu SymconMisc. Ich bekomme damit sowohl An und Abwesenheit mit zusätzlich nutzte ich das auch noch in Kombination mit einem iBeacon. Mit dem Variablenstatus kann ich dann in NEO Aktionen oder Makros triggern. Wenn Du Proximity in Geofency ankreuzt hast bekommst Du sogar den Eintrittswinkel und Position vom Zentrum des Geofence mitgeteilt. Proximimity Daten und An/ Abwesenheit lasse ich dann in NEO visualisieren.
Eine Makro bzw. Seitenwechsel löse ich aus indem ich eine Variable auf die Seitenaktion lege, bei Bedarf kann man aber auch per HTTP triggern wenn man den NEO Automation Manager besitzten sollte.
Eine Makro bzw. Seitenwechsel löse ich aus indem ich eine Variable auf die Seitenaktion lege, bei Bedarf kann man aber auch per HTTP triggern wenn man den NEO Automation Manager besitzten sollte.
Jan 11, 2018 - 13:25
Die Aussage, das du im WLAN bist bedeutet nicht, das der Auslöser dieses Webhook auch im WLAN ist. Ich kenne die Software bisher nicht so genau, aber ist das wirklich so, das die App den HTTP-Request abschickt oder doch irgend ein Geofency-Server, mit dem die App kommuniziert und die dann das weitere handhabt?
Dein Mediola-Gateway ist a sicherlich nicht direkt aus dem Internet erreichbar.
Ich hab mir das Teil werade mal geladen und werd mal ein bisschen testen.
Dein Mediola-Gateway ist a sicherlich nicht direkt aus dem Internet erreichbar.
Ich hab mir das Teil werade mal geladen und werd mal ein bisschen testen.
Jan 11, 2018 - 15:58
Ich ein PHP-Script erstellt, das auf meinem lokalen Web.Server läuft.
Der Web-Server bzw. diese spezielle Seite muss aus dem Internet erreichbbar sein - wäre das nicht der Fall, könnte eine "Verlassen" der Hauses nicht mehr gemekdet werden, weil man sicher aus der Reichweite des lokalen Netzwerkes ist, wenn Geofency diesen Zustand erkennt (100m ist der Standardwert),
Auf dem Gateway habe ich eine Variable "Presence_1" vom Typ ONOFF angelegt, ON bedeutet Anwesend, OFF bedeutet abwesend- das ist natürlich nur eine Beispielanwendung. In meinem Fall hat diese die Adresse "22".
Das Script heisst geofency.php, ist auf dem Webserver in dem Unterverzeichnis "mediola" gespeichert und sieht so aus
In der Geofency-App muss als Webhook eingetragen werden:
URL beim Eintritt: https://meine-domain/mediola/geofency.php?dir=in
URL bei Austritt https://meine-domain/mediola/geofency.php?dir=out
POST-Format = JSON
Authentifizierung: das eintragen, was in dem Script als wh_username / wh_passwort abgelegt ist.
So wird die o.g. Variable entsprechend bei Verlassen auf "OFF" gesetzt und bei Ankunft auf "ON".
Die von Geofency gelieferten Daten umfassen folgende Informationen
Für jede weiter Person wäre eine weitere Variable einzurichten und im Script der Variablen device2var zu hinterlegen.
Der Web-Server bzw. diese spezielle Seite muss aus dem Internet erreichbbar sein - wäre das nicht der Fall, könnte eine "Verlassen" der Hauses nicht mehr gemekdet werden, weil man sicher aus der Reichweite des lokalen Netzwerkes ist, wenn Geofency diesen Zustand erkennt (100m ist der Standardwert),
Auf dem Gateway habe ich eine Variable "Presence_1" vom Typ ONOFF angelegt, ON bedeutet Anwesend, OFF bedeutet abwesend- das ist natürlich nur eine Beispielanwendung. In meinem Fall hat diese die Adresse "22".
Das Script heisst geofency.php, ist auf dem Webserver in dem Unterverzeichnis "mediola" gespeichert und sieht so aus
$wh_username = "xxxx"; // Username in Geofency
$wh_password = "xxxx"; // Passwort in Geofency
$gw_password = "xxx"; // Passwort im Gateway / NEO-Server
$gw_hostname = "xxx.xxx.xxx.xxx"; // IP / Name des Gateway / NEO-Server
$gw_port = "80"; // 8080 bei NEO-Sverver
// Liste der Umsetzungen der von Geofency übertragen Device-ID in die Adresse der Variable
$device2var = array (
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" => "22",
);
$progname = basename($_SERVER["SCRIPT_NAME"],'.php');
$auth_user = isset($_SERVER["PHP_AUTH_USER"]) ? $_SERVER["PHP_AUTH_USER"] : "";
$auth_pw = isset($_SERVER["PHP_AUTH_PW"]) ? $_SERVER["PHP_AUTH_PW"] : "";
if ($auth_user != $wh_username || $auth_pw != $wh_password) {
error_log("$progname: unauthorized access: auth_user=$auth_user, auth_pw=$auth_pw\n");
header('WWW-Authenticate: Basic Realm="Geofency WebHook"');
header('HTTP/1.0 401 Unauthorized');
http_response_code(401);
exit(1);
}
$dir = isset($_GET["dir"]) ? $_GET["dir"] : "in";
$data = file_get_contents('php://input');
if ($data == "") {
error_log("no data from \"geofency\"");
echo ("Ungültige Daten");
http_response_code(400);
exit(1);
}
$jdata = json_decode($data,true);
if ($jdata == "") {
error_log("malformed data from \"geofency\"");
echo ("Ungültige Daten");
http_response_code(400);
exit(1);
}
//error_log("$progname: jdata=" . print_r($jdata, true));
$device = $jdata["device"];
$name = $jdata["name"];
if (!$device2var[$device]) {
error_log("device \"$device\" not found");
echo ("Gerät ist nicht registriert");
http_response_code(406);
exit(1);
}
$var = $device2var[$device];
error_log("$progname: device=$device, name=$name, var=$var dir=$dir\n");
$val = $dir == "in" ? "ON" : "OFF";
$url = "http://" . $gw_hostname . ":" . $gw_port . "/cmd?XC_FNC=setVar&auth=" . $gw_password . "&id=" . $var . "&type=ONOFF" . "&value=" . $val;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cdata = curl_exec($ch);
curl_close($ch);
$jcdata = json_decode($cdata,true);
if ($jcdata["XC_ERR"]) {
$err = $jcdata["XC_ERR"]["msg"];
error_log("url=$url, err=$err");
echo ("Fehlerhafte Verarbeitung");
http_response_code(406);
exit(1);
}
exit(0);
?>
In der Geofency-App muss als Webhook eingetragen werden:
URL beim Eintritt: https://meine-domain/mediola/geofency.php?dir=in
URL bei Austritt https://meine-domain/mediola/geofency.php?dir=out
POST-Format = JSON
Authentifizierung: das eintragen, was in dem Script als wh_username / wh_passwort abgelegt ist.
So wird die o.g. Variable entsprechend bei Verlassen auf "OFF" gesetzt und bei Ankunft auf "ON".
Die von Geofency gelieferten Daten umfassen folgende Informationen
[device] => xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[radius] => 100
[longitude] => 7.158469
[id] => xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[address] => ....
[date] => 2018-01-11T19:33:15Z
[latitude] => 51.461008
[entry] => 1
[name] => Zuhause
Für jede weiter Person wäre eine weitere Variable einzurichten und im Script der Variablen device2var zu hinterlegen.
Feb 22, 2018 - 03:39
Ich versuche mich auch gerade mit Geofency und bin auch soweit gekommen, das ich die An und Abwesenheit auf einem Icon in Neo dargestellt bekomme, würde aber gerne damit die An und Abwesenheit schalten des Gateways - meine Cloud Zugriff wenn Abwesend - Local wenn Anwesend.
Leider lässt der AM keine Systemvaribabelen zu und auch keine Makros in "sobald"
Vorschlag von Mediola war ja es über externe Dienste zu machen, dieses Geo - wie bitte soll ich das bewerkstelligen, wenn ich wieder bei Mediola am AM scheitere ?
Wäre es nicht für alle einfacher, Ihr legt das ins Gateway - zumal ja ein externer Server oder Dienst in Anspruch genommen werden muss und im Gateway ist ja echt noch viel Luft nach oben !!
Leider lässt der AM keine Systemvaribabelen zu und auch keine Makros in "sobald"
Vorschlag von Mediola war ja es über externe Dienste zu machen, dieses Geo - wie bitte soll ich das bewerkstelligen, wenn ich wieder bei Mediola am AM scheitere ?
Wäre es nicht für alle einfacher, Ihr legt das ins Gateway - zumal ja ein externer Server oder Dienst in Anspruch genommen werden muss und im Gateway ist ja echt noch viel Luft nach oben !!
Von
Kurzer Nachtrag: Die "Applet failed" Meldungen sind wieder verschwunden. Da hat es möglicherweise Wartungsarbeiten oder ähnliches in der Mediola Cloud gegeben. Mit Blick auf Meltdown und Spectre auch sehr gut denkbar.
Von
ich glaube kaum, das diese beiden gehypten Lücken irgendwas damit zur tun haben. Es sind schon sehr spezielle Situationen, bei denen diese Punkte eine Rolle spielen könnten; die klassischen Lücken und Nachlässigkeit sind ein um Potenzen größeres Risiko. Da kommt man viel leichter und sicherer zum Ziel.
Von
Ich meinte nicht mögliche Angriffe, sondern die Maßnahmen gegen solche Angriffe. Alle möglichen Soft und Hardware Hersteller stellen Patche bereit. Diese werden aktuell überall eingespielt. Cloud Betreiber sind da sicher besonders engagiert.
Neuen Kommentar hinzufügen