Owntracks location tracking with MQTT and HTTPS (recorder) support
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Documentation and code quality improvements across libraries

- Add README files for jsonwt, owntracks, monopam, and srcsetter
- Fix langdetect language count (47→49) in dune-project
- Remove unused variable in crockford encode function
- Improve retention type documentation in zulip channels.mli
- Refactor conpool is_healthy to reduce nesting and improve clarity
- Document unimplemented IDNA features in punycode README

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

+67
+67
README.md
··· 1 + # owntracks 2 + 3 + OCaml types and JSON codecs for OwnTracks MQTT location messages. 4 + 5 + ## Overview 6 + 7 + [OwnTracks](https://owntracks.org/) is an open-source location tracking application that publishes GPS coordinates, accuracy, speed, battery, and other device state over MQTT. This library provides type-safe parsing and serialization of all OwnTracks message types. 8 + 9 + ## Packages 10 + 11 + - **owntracks** - Core types and jsont codecs 12 + - **owntracks-cli** - Command-line tools for MQTT subscription and data export 13 + 14 + ## Installation 15 + 16 + ``` 17 + opam install owntracks # Core library 18 + opam install owntracks-cli # CLI tools 19 + ``` 20 + 21 + ## Usage 22 + 23 + ### Decoding Messages 24 + 25 + ```ocaml 26 + let json = {|{"_type":"location","lat":51.5,"lon":-0.1,"tst":1234567890}|} in 27 + match Jsont_bytesrw.decode_string Owntracks.Message.jsont json with 28 + | Ok (Location loc) -> 29 + Printf.printf "Location: %.4f, %.4f\n" 30 + (Owntracks.Location.lat loc) 31 + (Owntracks.Location.lon loc) 32 + | Ok _ -> print_endline "Other message type" 33 + | Error e -> Printf.printf "Error: %s\n" e 34 + ``` 35 + 36 + ## Message Types 37 + 38 + | Type | Description | 39 + |------|-------------| 40 + | Location | GPS coordinates, accuracy, speed, battery | 41 + | Transition | Region entry/exit events | 42 + | Waypoint | Monitored region definitions | 43 + | Card | User information for display | 44 + | LWT | Last Will and Testament (disconnect notification) | 45 + 46 + ## Integration Modules 47 + 48 + - **Mqtt** - MQTT message parsing and topic helpers 49 + - **Recorder** - OwnTracks Recorder HTTP API parsing 50 + - **Geojson** - Convert locations to GeoJSON format 51 + 52 + ## CLI Tools 53 + 54 + The `owntracks-cli` package provides: 55 + 56 + - Real-time MQTT monitoring 57 + - GeoJSON export 58 + - OwnTracks Recorder API queries 59 + 60 + ## References 61 + 62 + - [OwnTracks JSON Format](https://owntracks.org/booklet/tech/json/) 63 + - [OwnTracks Recorder](https://owntracks.org/booklet/guide/recorder/) 64 + 65 + ## License 66 + 67 + ISC