CarConnectivity plugin for overnight climatisation cycling (camper mode)
Project description
carconnectivity-plugin-campermode
A CarConnectivity plugin providing a mobile-friendly web UI for overnight car climatisation cycling - periodic heating/cooling with battery safety and timer scheduling (camper mode).
Features
- Periodic climatisation cycles (configurable duration and pause between cycles)
- Battery safety: auto-stop below configurable threshold
- Timer scheduling for automatic activation
- Mobile-first web UI at a dedicated port
- VW seat/zone heating disabled during cycles to minimise battery consumption (window heating, front/rear seat zones, steering wheel, mirror, rear window, windscreen)
Prerequisites
- CarConnectivity installed and configured with a connector (only tested with VW so far)
- Python 3.10 or later
Installation
pip install carconnectivity-plugin-campermode
Accessing the web UI
Once CarConnectivity is running, open your browser at:
http://<host>:<port>
where host and port match the values in your configuration (default:
http://localhost:4001). If authentication is configured, you will be prompted
to log in.
Configuration
Add to your carconnectivity.json (comments shown for documentation — remove
them from the actual file as JSON does not support comments).
Note:
carconnectivity.jsoncontains credentials and should be readable only by the user running the service:chmod 600 carconnectivity.json
{
"type": "campermode",
"config": {
// ── Web UI ───────────────────────────────────────────────────────────
// Network interface the web server listens on.
// "0.0.0.0" = all interfaces; "127.0.0.1" = localhost only.
"host": "0.0.0.0",
// TCP port for the web UI. Default: 4001.
"port": 4001,
// ── Authentication ───────────────────────────────────────────────────
// Single-user login. Both keys must be present to enable auth.
// When omitted the UI is accessible without a password.
"username": "admin",
"password": "secret",
// Multi-user alternative to username/password above.
// "users": [
// { "username": "alice", "password": "hunter2" },
// { "username": "bob", "password": "s3cr3t" }
// ],
// ── HTTPS ────────────────────────────────────────────────────────────
// Set to true to enable TLS. Without certificate paths below, a
// temporary self-signed certificate is generated automatically.
// "https": true,
// Provide your own certificate/key pair instead of the auto-generated one.
// "ssl_certificate_file": "/etc/ssl/certs/campermode.crt",
// "ssl_certificate_key_file": "/etc/ssl/private/campermode.key",
// ── Session security ─────────────────────────────────────────────────
// Flask session secret key. Set this to a long random string in
// production; if omitted a new key is generated on every restart,
// which invalidates all active browser sessions.
// Generate with: openssl rand -hex 32
// "secret_key": "change-me-to-a-long-random-string",
// ── Vehicle targeting ────────────────────────────────────────────────
// VIN of the vehicle to control. When omitted the first vehicle
// found in the garage is used automatically.
// "vin": "WVWZZZ1JZXXXXXXXX",
// ── Persistence ──────────────────────────────────────────────────────
// Path to the JSON file where climatisation settings and timers are
// stored. Default: "campermode.json" (relative to the working directory).
// "data_file": "/var/lib/carconnectivity/campermode.json"
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file carconnectivity_plugin_campermode-0.1.1.tar.gz.
File metadata
- Download URL: carconnectivity_plugin_campermode-0.1.1.tar.gz
- Upload date:
- Size: 98.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68969b629ee6f263d3ecaecc87736aa6790d0aa017efd840f6b3aa12455a2457
|
|
| MD5 |
f01d88d2c3edfce8b63ef2dffe8b8765
|
|
| BLAKE2b-256 |
c5fac53ef3ccf28f7183df7b14600aa830fccc7c94189092ebafd430697a555e
|
Provenance
The following attestation bundles were made for carconnectivity_plugin_campermode-0.1.1.tar.gz:
Publisher:
publish.yml on cryptomilk/CarConnectivity-plugin-campermode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
carconnectivity_plugin_campermode-0.1.1.tar.gz -
Subject digest:
68969b629ee6f263d3ecaecc87736aa6790d0aa017efd840f6b3aa12455a2457 - Sigstore transparency entry: 1193964067
- Sigstore integration time:
-
Permalink:
cryptomilk/CarConnectivity-plugin-campermode@5cbdd3eeef54ff62e065e3009756dcb71a4b0819 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cryptomilk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5cbdd3eeef54ff62e065e3009756dcb71a4b0819 -
Trigger Event:
push
-
Statement type:
File details
Details for the file carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl.
File metadata
- Download URL: carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl
- Upload date:
- Size: 34.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83efe352ee3a33f9bb81b544d98e4284001702122a470f79f639f1b579dda35d
|
|
| MD5 |
e7aeb19c1ab7f881018ab48e79109a34
|
|
| BLAKE2b-256 |
99a2d2b4065cfb567f57ebfab29b332e7bc82c90168d290265d0339c923943d9
|
Provenance
The following attestation bundles were made for carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on cryptomilk/CarConnectivity-plugin-campermode
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl -
Subject digest:
83efe352ee3a33f9bb81b544d98e4284001702122a470f79f639f1b579dda35d - Sigstore transparency entry: 1193964089
- Sigstore integration time:
-
Permalink:
cryptomilk/CarConnectivity-plugin-campermode@5cbdd3eeef54ff62e065e3009756dcb71a4b0819 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/cryptomilk
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5cbdd3eeef54ff62e065e3009756dcb71a4b0819 -
Trigger Event:
push
-
Statement type: