Skip to content

aveao/pebble-hvv

Repository files navigation

HVV Departures for Pebble

A Pebble smartwatch app that displays real-time HVV (Hamburger Verkehrsverbund) transit departures. Shows nearby stops via GPS and lets you save favorite stations for quick access.

Station list (Pebble Time)    Hamburg Hbf departures (Pebble Time)    Berliner Tor departures (Pebble Time)

Station list (Pebble Time 2)    Hamburg Hbf departures (Pebble Time 2)

And yeah, it is developed with Claude Code.

Privacy policy: Out of the box the app sends a small amount of data (watch serial, IP, plus the station name or GPS coordinates of the request you make) to a shared proxy that forwards to HVV. Nothing is sold, and there is no third-party analytics (outside of what Cloudflare Workers provides). See PRIVACY.md for the full breakdown of what's collected, what's logged, and your GDPR rights. This is in place as requesting an API key is a lengthy process, and I'm only allowed to share timetable information and not the API key itself.

Features

  • Nearby stops — automatically finds the 3 closest stops using your phone's GPS
  • Favorite stops — configure up to 5 favorite stations via the phone settings page
  • Real-time departures — shows line, destination, and minutes until departure with auto-refresh every 30 seconds
  • Line-colored badges — S-Bahn and U-Bahn lines use their official HVV colors with distinct shapes per transport type:
    • U-Bahn: square
    • S-Bahn: circle
    • Bus: hexagon
    • Ferry: trapezoid
  • All rectangular Pebble platforms — supports aplite, basalt, diorite, and emery (color and B&W)

Setup

1. Get GTI API credentials

The app uses the Geofox Thin Interface (GTI) API provided by HVV. To get API credentials:

  1. Visit gti.geofox.de
  2. Apply for API access
  3. You will receive a username and password

Without credentials, the app shows demo data so you can preview the UI.

2. Build and install

Requires the Pebble SDK.

pebble build
pebble install --phone <PHONE_IP>

3. Configure

Open the Pebble app on your phone, go to the HVV Departures settings, and enter:

  • Favorite stops — station names as shown on hvv.de (e.g. "Jungfernstieg", "Hauptbahnhof")
  • GTI Username and GTI Password — your API credentials

How it works

  1. The app opens to a station list showing nearby stops (via GPS) and your favorites
  2. Select a station to view its departures
  3. Departures auto-refresh every 30 seconds
  4. Press back to return to the station list

Development

pebble build                              # Build for all platforms
pebble install --emulator basalt          # Install to emulator
pebble screenshot --emulator basalt       # Take a screenshot
pebble logs --emulator basalt             # View JS and C logs

The emulator uses Hamburg Hbf as a fake GPS location for testing.

Architecture

  • Watch (C): Station list window, departure scroll view, programmatic transit icons, AppMessage communication
  • Phone (JS): GTI API calls with HMAC-SHA1 auth, GPS location, Clay configuration page
  • Config: Clay framework for favorite stops and API credentials

About

Unofficial Hamburger Verkehrsverbund Departures app for Pebble

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors