A sample rule in order to tack iPhone position with GpsTracker :
gpslogger.rules
val String gpsLoggerUrl = 'http://127.0.0.1:8080/gpstracker/gpslogger'
val String gpsLoggerData = '{
"_type":"location",
"lat":%LAT,
"lon":%LON,
"tid":"GL",
"acc":%ACC,
"batt":%BATT,
"tst":%TIMESTAMP
}'
event handling :
rule "iPhone Location update"
when
Item iPhone_Location received update
then
val PointType phone_location = iPhone_Location.state as PointType
val Number epoch = now.getMillis() / 1000
var int battery = (iPhone_BatteryLevel.state as DecimalType).intValue
var String data = gpsLoggerData.replace("%LAT",phone_location.getLatitude().toString())
.replace("%LON",phone_location.getLongitude().toString())
.replace("%ACC",iPhone_LocationAccuracy.state.toString())
.replace("%BATT",String.valueOf(battery))
.replace("%TIMESTAMP",epoch.toString())
sendHttpPostRequest(gpsLoggerUrl, "application/json", data)
end