Search

PythonReactSEOPDF
OpenClaw

owntracks-location

Real-time phone location tracking via OwnTracks HTTP webhook receiver with named places and distance-based queries. Use when: (1) user asks "where am I?", (2) storing named locations (home, gym, work), (3) querying nearby places by distance, (4) checking location history. Requires: OwnTracks app on phone, Tailscale or LAN connectivity, Node.js 22+, better-sqlite3.

globalcaos0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install globalcaos/owntracks-location

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

OwnTracks Location

Real-time location awareness via OwnTracks → HTTP webhook → SQLite.

Architecture

Phone (OwnTracks) → HTTP POST → server.mjs (port 18793) → SQLite + latest.json
Agent queries → places.mjs CLI or curl http://localhost:18793/latest

Setup

1. Start the receiver
node scripts/server.mjs
# Default port: 18793. Override: OWNTRACKS_PORT=9999
# Data dir override: OWNTRACKS_DATA=/path/to/data

Recommended: install as user systemd service for persistence.

mkdir -p ~/.config/systemd/user
cat << 'EOF' > ~/.config/systemd/user/owntracks-receiver.service
[Unit]
Description=OwnTracks Location Receiver
After=network.target

[Service]
Type=simple
Environment=OWNTRACKS_PORT=18793
Environment=OWNTRACKS_DATA=<SKILL_DIR>/scripts/data
ExecStart=/usr/local/bin/node <SKILL_DIR>/scripts/server.mjs
Restart=always
RestartSec=5

[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now owntracks-receiver

Replace <SKILL_DIR> with the absolute path to this skill directory.

2. Configure OwnTracks on phone
  1. Install OwnTracks from F-Droid or Play Store
  2. Open → Menu → Preferences → Mode → HTTP
  3. URL: http://<host-tailscale-ip>:18793/owntracks
  4. Tap 📤 on the map to send a test ping

Phone must reach the receiver (same LAN or Tailscale).

3. Verify
curl http://localhost:18793/latest
# Should return JSON with lat, lon, acc, batt, etc.

Places CLI

Named locations with haversine distance queries.

# Add a place
node scripts/places.mjs add "Home" 41.3200 1.8900 home "Olivella"
node scripts/places.mjs add "Gym" 41.2229 1.7385 gym "Aqua Sport, Vilanova"

# Where am I? (reads OwnTracks latest + finds nearest named place)
node scripts/places.mjs where

# Find nearby places from arbitrary coordinates
node scripts/places.mjs nearest 41.22 1.74 5 500

# Search by name/category/notes
node scripts/places.mjs search "gym"

# List all
node scripts/places.mjs l...

Source information

Source
github
Repository
openclaw/skills
Path
skills/globalcaos/owntracks-location
Version
—
Commit
282e901e6b36fb5eaed1934bb84884fa9afe3840
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# OwnTracks Location

Real-time location awareness via OwnTracks → HTTP webhook → SQLite.

## Architecture

```
Phone (OwnTracks) → HTTP POST → server.mjs (port 18793) → SQLite + latest.json
Agent queries → places.mjs CLI or curl http://localhost:18793/latest
```

## Setup

### 1. Start the receiver

```bash
node scripts/server.mjs
# Default port: 18793. Override: OWNTRACKS_PORT=9999
# Data dir override: OWNTRACKS_DATA=/path/to/data
```

Recommended: install as user systemd service for persistence.

```bash
mkdir -p ~/.config/systemd/user
cat << 'EOF' > ~/.config/systemd/user/owntracks-receiver.service
[Unit]
Description=OwnTracks Location Receiver
After=network.target

[Service]
Type=simple
Environment=OWNTRACKS_PORT=18793
Environment=OWNTRACKS_DATA=<SKILL_DIR>/scripts/data
ExecStart=/usr/local/bin/node <SKILL_DIR>/scripts/server.mjs
Restart=always
RestartSec=5

[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now owntracks-receiver
```

Replace `<SKILL_DIR>` with the absolute path to this skill directory.

### 2. Configure OwnTracks on phone

1. Install OwnTracks from F-Droid or Play Store
2. Open → Menu → Preferences → Mode → **HTTP**
3. URL: `http://<host-tailscale-ip>:18793/owntracks`
4. Tap 📤 on the map to send a test ping

Phone must reach the receiver (same LAN or Tailscale).

### 3. Verify

```bash
curl http://localhost:18793/latest
# Should return JSON with lat, lon, acc, batt, etc.
```

## Places CLI

Named locations with haversine distance queries.

```bash
# Add a place
node scripts/places.mjs add "Home" 41.3200 1.8900 home "Olivella"
node scripts/places.mjs add "Gym" 41.2229 1.7385 gym "Aqua Sport, Vilanova"

# Where am I? (reads OwnTracks latest + finds nearest named place)
node scripts/places.mjs where

# Find nearby places from arbitrary coordinates
node scripts/places.mjs nearest 41.22 1.74 5 500

# Search by name/category/notes
node scripts/places.mjs search "gym"

# List all
node scripts/places.mjs l...

Related skills

OpenClaw

ai-maestro

23blocks-os

AI Agent Orchestrator with Skills System - Give AI Agents superpowers: memory search, code graph queries, agent-to-agent messaging. Manage Claude, Codex or any AI Agent from one dashboard. Move Agents between c...

OpenClaw

registry-broker-skills

hashgraph-online

AI agent skills for the Universal Registry - search, chat, and register 72,000+ agents across 14+ protocols. Works with Claude, Codex, Cursor, OpenClaw, and any AI assistant.

OpenClaw

skills-manager

rito-w

A cross-platform skills manager for AI IDEs. Search marketplace, download locally, and install to Claude, Cursor, Windsurf, and more with one click.