Standortbestimmung für Android mit Tasker

Danke für die Unterstützung!!

Funktioniert soweit mit 2 Androiden sehr gut :smiley: :smiley:

Nur ab und zu erhalte ich auf dem Handy einen SocketTimeout Error im Tasker,

Jemand 'ne Idee wie ich das wegbekomme?

Jürgen

Erhöhe doch mal den timeout im http post — Nachtrag: Das bringt nix.

Mach das Häkchen bei continue task after error.

Gesendet von meinem NEXT mit Tapatalk 2

Da kommt dann sowas bei rauss:

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Cookie: 
User-Agent: Tasker/1.3u1 (Android/4.0.4)
Host: vips:9988
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 36

loc=07.14932677%2C05.53813966

Hallo,
wie habt Ihr das zerlegt um an die Daten zu kommen, ich stehe da momentan auf dem Schlauch. ALso alles nach Content-Length: 36, wobei die 36 sich ändern kann.

Gruß Uwe

Hallo,

ich habe es jetzt so gemacht. Ich kann in einmal mehre Sachen (ARRAY) übertragen und auswerten.

<?
// Senden von Androide -> IPS als HTTP-Post (Format) Inhalts Typ -> (text/*).
// Data Format -> 	$Type1, Wert1, Wert2 usw.
//          		$Type2, Wert1, Wert2 usw.
//------------------------------------------------------------------------------

If($_IPS['SENDER'] == "RegisterVariable"){
$Data_String             = $_IPS['VALUE'];

$Data                        = substr($Data_String, strpos($Data_String, '$'));
$Data_ARRAY_Gesamt = explode('$', $Data);
$Data_ARRAY_Gesamt = str_replace(" ,", "", $Data_ARRAY_Gesamt);
$Data_ARRAY_Gesamt = array_filter($Data_ARRAY_Gesamt);
$Data_ARRAY_Gesamt = array_splice($Data_ARRAY_Gesamt,0);																						
foreach($Data_ARRAY_Gesamt as $key => $wert){
	$Data_ARRAY = explode(",", $Data_ARRAY_Gesamt[$key]);
	$Data_ARRAY = str_replace(" ", "", $Data_ARRAY);
	$Type            = $Data_ARRAY[0];

	Switch ($Type){
		case "Profile":
                      setValue(10916, $Data_ARRAY[1]);
			break;

		case "Info":
			print $Data_ARRAY[1];
			print $Data_ARRAY[2];
		   break;
	}
}
}


?>

Gruß Uwe

Hallo

Momentan habe ich das Problem das nicht immer alle gesendeten Daten von Tasker per Httpost in IPS ankommen.
Ich sende alle 15min an IPS, aber es kommt jeden Tag mehrmals vor das 1-2 Stunden in IPS nichts ankommt.

Warum weiß ich nicht, könnt Ihr mir einen Tip geben.

Gruß Uwe

Funzt wunderbar :slight_smile: Cooles Script.

Hallo zusammen,

kann mir jemand eine Tip geben, wie ich die gewonnenen LatLon Werte nun in einer Google oder OSM Karte einbinden und im Webfront anzeigen lassen kann?

Grüße,
Doc

Zum Beispiel so:

$longitude = *******;  
$latitude = *********;
$htmlbox = 12345; // Variable einer String Variable mit Variablenprofil "~HTMLBox"

$KartenMode = "t=s&amp";    // Straßen-Ansicht
//$KartenMode = "t=h&amp";    // SAT-Ansicht
$zoom = 14;
$koordinaten = $latitude.",".$longitude;

SetValue($htmlbox,"<iframe width=\"100%\" height=\"340\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" src=\"https://maps.google.de/?q=$koordinaten&ie=UTF8&$KartenMode;z=$zoom&ll=$koordinaten&output=embed\"></iframe><br /><small><a href=\"https://maps.google.de/?q=$koordinaten&ie=UTF8&t=m&z=$zoom&ll=$koordinaten&source=embed\" </a></small>");

Und die HTMLBox-Variable ins WebFront verlinken. Gegebenenfalls noch die WIDTH und HEIGHT auf dein WebFront anpassen. Fertig :slight_smile:

Grüße,
Chris

Danke dir.
Werde ich gleich mal testen.
Wenn wir schon dabei sind, kann ich auch mehrere Koordinaten auf ein Karte bringen?

Grüße,
Doc

Das Thema hatten wir im „FinyMyIphone“ Thread auch kürzlich…da wurde an diese Stelle verlinkt >> Tonis Bastelkeller - Wo ist mein Android? [Updated] - Seite 3

Aber 2 Geräte ist so eine Sache, wenn die weit auseinander sind, dann zoomt die Karte ewig weit raus…also vlt. lieber pro Gerät eine Karte…

-Chris-

Mir ist noch nicht ganz klar, wo ich das

&markers=color:blue%7Clabel:A%7C'.$pos1.'&markers=color:green%7Clabel:J%7C'.$pos2.'

in dein Script mit einbauen muss.
Grund ist, das bei deinem Script eine „bewegliche“ Karte erzeugt wird und nicht nur ein Bild.
Mit fehlt es da etwas an HTML …

Grüße,
Doc

Ich behaupte mal, dass das in meiner Variante gar nicht funktioniert. Da wirst du die statische Map aus dem verlinkten Beispiel mit den 2 Markern verwenden müssen. Aber 100% kann dir das nur die Google API Doku sagen, da hab ich auch nicht so den Durchblick…

…kann den ganzen Google API Kram eh nicht leiden :mad:

Vielleicht hat aber jemand anderes das schon umgesetzt und kann dir helfen.

MfG,
Chris

Danke dir.
Habe das nun mit getrennten Karten realisiert.

Jetzt muss ich nur nochmal schauen, wie man den Koordinaten rechnen kann.
Ich würde gerne hier einmal Zonen bestimmen, die ausgewertet werden können (ich weiss, Apps machen das schon)
und zweitens würde ich den Zoom der Karte noch dynamisch gestallten wollen in Abhängigkeit von der Entfernung zum Wohnort.

Grüße,
Doc

Zoom der Karte noch dynamisch gestallten

kannst du ja nach Postleitzahl.

Und in meiner Variante :

$zoom = x;
$ausgabe = '<img src="http://maps.googleapis.com/maps/api/staticmap?center='.$karte.'&zoom=$zoom&size=600x300&maptype=roadmap
&markers=color:blue%7Clabel:A%7C'.$pos1.'&markers=color:green%7Clabel:J%7C'.$pos2.'
&sensor=false" />';  

@Doc: Ich glaube man kann das ZOOM auch weglassen?! Alternativ könntest du deine Home-Koordinaten festlegen und je nachdem ob LAT/LONG > entfernt als z.B. 0.5, dann mach Zoom 13, wenn weiter entfernt als 1.0, dann mach Zoom 12, usw…

Oder du schaust dir nochmal die Variante von SmartHomeSchweiz an.

MfG,
Chris

Ich habe die Berechnung von Entfernungen und „Zäunen“ jetzt so gelöst (Angabe in km).

// Zuhause
$Longitude = x.xxxxxx;
$Latitude = xx.xxxxxxx;
$Radius = 0.15;
if ((acos(sin($Longitude=deg2rad($Longitude))*sin($lon=deg2rad($lon))+cos($Longitude)*cos($lon)*cos(deg2rad($lat) - deg2rad($Latitude)))*(6378.137)) < $Radius) $Standort = "Zuhause";

$lon, $lat sind die aktuellen Koordinaten und die anderen das „Ziel“.

Damit werde ich jetzt auch noch die Anpassung für den Zoom machen, je nachdem, wie weit ich vom Home entfernt bin.

Weiss jemand, wie ich die Marker noch beschriften kann oder evtl. die Farbe ändern?

Grüße,
Doc

Hi!

Hast du den Teil hier verwendet? > &markers=color:blue%7Clabel:A%7C’.$pos1.’&markers=color:green%7Clabel:J%7C’.$pos2.’
Dann würde ich mal behaupten COLOR:**** ist die Farbe und LABEL:**** ist die Beschriftung!? :smiley:

Oder wie hast du grad was umgesetzt?

EDIT: Wenn Beitrag 53 noch aktuell ist, dann hast du meine Version mit einem Marker und da ist mir keine Möglichkeit bekannt das anzupassen, weil das ja der default Marker von Google MAPS ist…

Grüße,
Chris

Jepp, habe deine Version der statischen vorgezogen.

Dachte, da könnte man im HTML-Code evtl. auch den Marker irgendwie beeinflussen.

Doc

Ich habe mal Tante Google gefragt, die sagt mir folgendes:

Google Maps API V3 – Marker Bild ändern | woesbeginnt
http://www.xml-ecke.de/?p=542

Und die offizielle Google API Doku sagt:
Overlays - Google Maps JavaScript API Version 3 — Google Developers
Overlays - Google Maps JavaScript API Version 3 — Google Developers
Simple icons - Google Maps JavaScript API v3 — Google Developers

Mehr kann ich dir leider nicht helfen, wegen zu wenig Plan meinerseits :smiley:

Grüße,
Chris

ja, bin auch gerade am googlen.
Scheint aber doch aufwendiger zu sein.

Doc