A lightweight Go sidecar that monitors TeslaMate MQTT topics and sends push notification events to the HedgieMate relay server. Designed to run alongside your TeslaMate Docker stack.
Add the notifier to your existing TeslaMate docker-compose.yml:
services:
hedgiemate-notifier:
image: hedgiemate/notifier:latest
restart: unless-stopped
depends_on:
- mosquitto
environment:
HEDGIEMATE_USER_TOKEN: "hm_your_token_here"
MQTT_HOST: "mosquitto"
MQTT_PORT: "1883"
CAR_IDS: "1"
LOG_LEVEL: "info"
Then run:
docker compose up -d hedgiemate-notifier
docker run -d \
--name hedgiemate-notifier \
--restart unless-stopped \
-e HEDGIEMATE_USER_TOKEN="hm_your_token_here" \
-e MQTT_HOST="your-mqtt-host" \
-e MQTT_PORT="1883" \
-e CAR_IDS="1" \
hedgiemate/notifier:latest
go build -o hedgiemate-notifier .
HEDGIEMATE_USER_TOKEN=hm_xxx MQTT_HOST=localhost ./hedgiemate-notifier
All configuration is via environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
HEDGIEMATE_USER_TOKEN | Yes | - | Your linking token from the HedgieMate iOS app (hm_xxx) |
MQTT_HOST | Yes | - | MQTT broker hostname |
MQTT_PORT | No | 1883 | MQTT broker port |
MQTT_USERNAME | No | - | MQTT authentication username |
MQTT_PASSWORD | No | - | MQTT authentication password |
MQTT_CLIENT_ID | No | hedgiemate-notifier | MQTT client ID |
CAR_IDS | No | 1 | Comma-separated car IDs to monitor |
RELAY_URL | No | https://push.hedgiemate.com | Relay server URL |
BATTERY_LOW_THRESHOLD | No | 20 | Battery low notification threshold (%) |
BATTERY_HIGH_THRESHOLD | No | 90 | Battery full notification threshold (%) |
LOG_LEVEL | No | info | Log level: debug, info, warn, error |
| Event | Trigger |
|---|---|
drive_started | Vehicle state transitions to "driving" |
drive_ended | Vehicle state transitions from "driving" |
charging_started | Charging state transitions to "Charging" |
charging_completed | Charging state transitions to "Complete" |
charging_interrupted | Charging stops unexpectedly (not "Complete") |
battery_low | Battery drops below threshold (once per session) |
battery_full | Battery rises above threshold (once per session) |
charger_connected | Charger plugged in |
charger_disconnected | Charger unplugged |
software_update | New software update available |
geofence_entered | Vehicle enters a geofence |
geofence_exited | Vehicle exits a geofence |
vehicle_asleep | Vehicle goes to sleep |
vehicle_woke | Vehicle wakes up |
sentry_recording | Sentry Mode starts recording (center_display_state == 7) |
live_activity_update | Periodic charging data for Live Activities (30s/60s) |
Monitor multiple vehicles by setting CAR_IDS to a comma-separated list:
CAR_IDS=1,2,3
Each car has its own independent state machine.
MQTT Broker ──> MQTT Client ──> State Machine ──> Event Emitter ──> Relay Server ──> APNs ──> iOS
(per car) (5s debounce) (HMAC signed)
See the GitHub Releases page for release notes, or CHANGELOG.md in the repo.
Disclaimer: This project is an unofficial community tool and is not affiliated with, endorsed by, or supported by the official TeslaMate project.
New: Sentry Mode recording notification
Full Changelog: https://github.com/LukStankovic/hedgiemate-notifier/compare/v1.4.7...v1.5.0
Content type
Image
Digest
sha256:3d7e3778b…
Size
6.7 MB
Last updated
3 months ago
docker pull hedgiemate/notifier