# Porsche Connect for Homey
Monitor and control your Porsche EV from Homey Pro. Real-time battery, charging, trips, ABRP integration, webhook/Grafana push, solar charging automation, and the most complete flow card set available for Porsche on any home automation platform.
## What's New in v4.2.x
- **38 triggers / 23 conditions / 30 actions** — the most complete Porsche flow card set available
- **Individual tire pressures** — all four wheels in bar, live
- **Charging details** — current (A), voltage (V), rate (km/min), remaining time
- **GPS coordinates** — latitude/longitude capabilities for location-aware flows
- **Direct charge control** — switch + full rate limiting, SoC auto-stop, session logging
- **ABRP integration** — live SoC/range/charging push to A Better Route Planner
- **Webhook auto-push** — POST vehicle data to any URL on every poll (Node-RED, Home Assistant, Zapier, Make)
- **InfluxDB/Grafana** — direct line protocol push for dashboards
- **Sigenergy/battery integration** — settings ready for cross-app solar+battery flows
- **No-wake polling** — uses stored overview when idle to protect 12V battery
- **Sleep state capability** — know when the car is sleeping
- **Climate target temperature** — live setpoint as a capability
- **Insights history survives re-pair** — historical graphs never lost
- **Security hardening** — rate limits, cooldowns, flow access toggles, log sanitization
- **Settings restructured** — 14 logical groups: Configure vs Monitor
## Capabilities (34 total)
| Capability | Description |
|---|---|
| `ev_charging_state` | Plugged in / charging / paused / out |
| `measure_power` | Live charging power (kW) |
| `measure_battery` | State of charge (%) |
| `target_temperature` | Climate setpoint |
| `meter_odometer` | Total distance (km) |
| `meter_range` | Estimated range (km) |
| `meter_daily_charged` | Energy charged today (kWh) |
| `meter_daily_distance` | Distance driven today (km) |
| `meter_trip_distance` | Last/current trip distance |
| `meter_trip_energy` | Last/current trip energy |
| `meter_trip_efficiency` | Last/current trip efficiency |
| `meter_sporty` | Sporty driving score |
| `measure_tire_pressure_fl/fr/rl/rr` | Individual tire pressures (bar) |
| `measure_charging_current` | Charging current (A) |
| `measure_charging_voltage` | Charging voltage (V) |
| `measure_charging_rate` | Charging rate (km/min) |
| `measure_remaining_charge_time` | Remaining charge time (min) |
| `measure_latitude` / `measure_longitude` | Live GPS coordinates |
| `car_sleeping` | Car sleep state |
| `direct_charge_switch` | Direct charging toggle |
| `measure_climate_target_temp` | Climate target (°C) |
| `alarm_generic.doors` / `alarm_generic.tires` | Door/tire alarms |
| `alarm_frunk` / `alarm_trunk` / `alarm_chargeport` | Lid alarms |
| `locked` | Lock state |
| `charging_switch` | Charging toggle |
## Flow Cards
### Triggers (38)
battery_level_changed, charging_started, charging_stopped, vehicle_charging_complete, door_lock_changed, climate_changed, location_changed, trip_started, trip_completed, co2_milestone, efficiency_poor, efficiency_good, sporty_trip, maintenance_due, charging_session_ended, charging_profile_changed, charging_timer_set, departure_timer_active, charging_target_reached, range_below_threshold, solar_charging_active, plugged_in_changed, vehicle_moved, door_opened, alarm_triggered, tire_warning, window_opened, window_closed, arrived_at_location, left_location, low_battery_critical, tire_pressure_changed, charging_details_changed, car_location_updated, car_sleeping_changed, direct_charge_changed, climate_target_changed, webhook_received
### Conditions (23)
is_charging, is_locked, is_climate_active, is_home, all_doors_closed, tires_ok, battery_above, range_above, is_plugged_in, battery_below, is_efficiency_good, is_sporty_driver, charging_profile_is, timer_is_active, battery_below_number, range_below_number, windows_closed, tire_pressure_ok_individual, is_sleeping, is_direct_charging, charging_power_above, remaining_charge_below, car_at_location
### Actions (30)
lock_vehicle, unlock_vehicle, start_charging, stop_charging, start_climate, stop_climate, honk_flash, flash_lights, refresh_status, save_current_location, reset_trip_stats, export_trip_data, set_charge_target, set_charging_profile, start_climate_temp, enable_polling, disable_polling, set_departure_timer, start_preconditioning, toggle_privacy_mode, push_abrp, set_solar_charging, send_webhook, enable_direct_charge, disable_direct_charge, set_climate_temp, wake_car, force_refresh, set_charge_limit_soc, notify_energy_status
## Flow Examples
**Solar surplus charging (with Sigenergy + SolarEdge):**
```
WHEN: Every 5 minutes
AND: SolarEdge power > 4000W
AND: Sigenergy battery SoC > 90%
AND: Porsche battery below 80%
AND: Car is plugged in
→ Set Solar charging profile
→ Enable direct charging
```
**Stop charging when solar drops:**
```
WHEN: Every 5 minutes
AND: SolarEdge power < 2000W
AND: Direct charging is active
→ Disable direct charging
```
**ABRP live tracking:**
```
Settings → Integrations → ABRP token
(find in ABRP app → Settings → Live Data → Generic → Token)
```
**Grafana/InfluxDB dashboard:**
```
Settings → Integrations → InfluxDB URL
(e.g. http://192.168.1.x:8086/api/v2/write?org=home&bucket=porsche)
```
**Google Calendar pre-conditioning:**
```
WHEN: Calendar event "trip" starts in 30 min
→ Start climate at 21°C
→ Set charge target 90%
```
**Low battery notification:**
```
WHEN: Battery drops below 15%
→ Send Homey notification with energy status
```
**Auto-lock on departure:**
```
WHEN: Car left Home location
→ Lock vehicle
```
## Settings Overview
### Configure
| Group | Key Settings |
|---|---|
| Account & Connection | Email, VIN |
| Security | S-PIN, unlock/direct-charge flow access |
| Polling & Performance | Normal/charging/night intervals |
| Charging Control | Charge limit, Solar profile name, direct charge SoC stop, rate limits |
| Alerts & Notifications | Range alert, tire threshold, maintenance warnings |
| Integrations | ABRP token, Webhook URL, InfluxDB URL, Sigenergy tag |
| Trip & Location | Trip timeout, location tracking, 5 named geofences |
| EV Analytics | Electricity price, battery capacity |
### Monitor (read-only, auto-updated)
Vehicle Status, Today's Stats, Last Charging Session, Last Trip, Maintenance, About
## Setup
1. Install app from Homey App Store or sideload
2. Add device → Porsche Vehicle → enter Porsche Connect email and password
3. Complete CAPTCHA if prompted (first login only)
4. For unlock flows: set S-PIN in Settings → Security
5. For ABRP: paste token in Settings → Integrations
6. For solar flows: ensure "Solar" charging profile exists in Porsche Connect app
## Re-authentication
Token expires after ~20 days of API outages. The app self-heals using stored credentials — no manual action needed. If this fails, tap **Try to Repair** on the device to re-run the login flow without losing any data or history.
## Data Persistence
All data stored in `homey.settings` keyed by VIN:
- Daily stats, trip history (100 trips), charging sessions
- 7 Insights logs with 2000-point local backup each
- Insights history replayed after device re-pair — no data lost
## Integrations
### ABRP (A Better Route Planner)
Pushes SoC, range, charging state, and power every poll. Find token in ABRP → Settings → Live Data → Generic.
### Webhook (Node-RED / Home Assistant / Zapier)
POST to any URL on every poll with full vehicle JSON payload: battery, range, charging state, power, current, GPS, profile, sleep state. Enable charging-only mode to reduce traffic.
### InfluxDB / Grafana
Direct line protocol push: battery, range, charging power, current, and all four tire pressures per poll.
### Sigenergy / Home Battery
Set a Homey Logic variable tag name to use battery SoC in cross-app flows.
## Technical
- Requires Homey Pro (SDK3, Homey ≥ 12.4.5)
- Porsche Connect API: `api.ppa.porsche.com/app`
- OAuth: `identity.porsche.com`
- No-wake polling: `getStoredOverview` when idle, `getCurrentOverview` only when charging/moving
- Outage protection: token refresh suppressed for 2h after 3+ consecutive timeouts
- All flow trigger cards are device-scoped (`getDeviceTriggerCard`)
## Privacy & Security
- Credentials stored in Homey device store (encrypted by Homey)
- Tokens never logged
- Webhook URLs logged as domain-only (no API keys in logs)
- Vehicle API responses not logged raw
- Unlock via flows disabled by default (enable in Security settings)
## Supported Vehicles
All Porsche Connect-enabled vehicles. Tested on Taycan 4S Sport Turismo.
Trip statistics API used where available (varies by market/model); local odometer-based tracking as universal fallback.
Leggi di più ›