Skip to main content

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

CamperMode web UI

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.json contains 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

carconnectivity_plugin_campermode-0.1.1.tar.gz (98.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file carconnectivity_plugin_campermode-0.1.1.tar.gz.

File metadata

File hashes

Hashes for carconnectivity_plugin_campermode-0.1.1.tar.gz
Algorithm Hash digest
SHA256 68969b629ee6f263d3ecaecc87736aa6790d0aa017efd840f6b3aa12455a2457
MD5 f01d88d2c3edfce8b63ef2dffe8b8765
BLAKE2b-256 c5fac53ef3ccf28f7183df7b14600aa830fccc7c94189092ebafd430697a555e

See more details on using hashes here.

Provenance

The following attestation bundles were made for carconnectivity_plugin_campermode-0.1.1.tar.gz:

Publisher: publish.yml on cryptomilk/CarConnectivity-plugin-campermode

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for carconnectivity_plugin_campermode-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 83efe352ee3a33f9bb81b544d98e4284001702122a470f79f639f1b579dda35d
MD5 e7aeb19c1ab7f881018ab48e79109a34
BLAKE2b-256 99a2d2b4065cfb567f57ebfab29b332e7bc82c90168d290265d0339c923943d9

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page