A self-hosted system for tracking cats using LoRaWAN GPS trackers, with automatic zone-based behavior and a Home Assistant dashboard.
LoRa (RF) Semtech UDP
Cat Trackers ──────────────► RAK7268 ──────────────► Packet Multiplexer
(Browan Tabs) Gateway │ │
▼ ▼
Gateway Bridge TTN
│
│ MQTT (raw)
▼
MQTT Broker (Mosquitto, TLS)
│
▼
ChirpStack
│
│ MQTT (parsed JSON)
▼
Home Assistant
│
┌────────────┼────────────┐
▼ ▼ ▼
Map / Dashboard Zones Notifications
Automations
| Component | Description | Details |
|---|---|---|
| Browan Tabs GPS Tracker | Modified LoRaWAN pet trackers with upgraded battery and custom 3D-printed case | Browan_Tabs.md |
| LoRaWAN Stack | RAK7268 gateway, packet multiplexer, gateway bridge, and ChirpStack v4 in Docker Compose | LoRaWAN.md |
| MQTT Broker | Eclipse Mosquitto with TLS client certificate authentication | MQTT.md |
| Home Assistant | MQTT sensors, device trackers, zone automations, and downlink control | Homeassistant.md |
-
Trackers — Browan Tabs GPS trackers (with 1600 mAh battery mod) send periodic location updates over LoRaWAN. Update intervals are configurable via downlink commands.
-
Gateway & LoRaWAN — A RAK7268 gateway receives the LoRa packets and forwards them via Semtech UDP to a packet multiplexer, which fans out to ChirpStack (local) and TTN (community seed). ChirpStack handles all LoRaWAN protocol logic and decodes payloads using a custom codec.
-
MQTT — Mosquitto acts as the central message bus. Raw gateway data flows in, decoded device data flows out — all secured with TLS.
-
Home Assistant — Subscribes to decoded MQTT data, exposing each tracker as a location sensor and device tracker. Trackers are mapped to cats via
input_selecthelpers (swappable for battery changes). Zone-based automations adjust tracking intervals and send notifications automatically.
├── Browan_Tabs.md # Tracker hardware, battery mod, custom case, ChirpStack config
├── Homeassistant.md # HA sensors, device trackers, automations
├── LoRaWAN.md # ChirpStack stack architecture and Docker Compose setup
├── MQTT.md # Mosquitto broker configuration
├── LoRaWAN/ # Docker Compose and config files for the LoRaWAN stack
│ ├── docker-compose.yml
│ ├── chirpstack/
│ ├── gateway-bridge/
│ └── packet-multiplexer/
├── homeassistant/ # HA-related config and screenshots
│ └── encode_tabs_payload.py
└── tacker/ # Tracker payload codec and hardware photos
└── decoder.js