Arthexis Constellation is a Django-based software suite that centralizes tools for managing electric vehicle charging infrastructure and orchestrating energy-related products and services.
Visit our Changelog Report to browse past and future features and other updates.
-
Compatible with the Open Charge Point Protocol (OCPP) 1.6 by default, while allowing Charging Stations to upgrade to newer protocols if they support them.
Charge point → CSMS
Action 1.6 2.0.1 2.1 What we do Authorize✅ ✅ ✅ Validate RFID or token authorization requests before a session starts. BootNotification✅ ✅ ✅ Register the charge point and update identity, firmware, and status details. DataTransfer✅ ✅ ✅ Accept vendor-specific payloads and record the results. DiagnosticsStatusNotification✅ — — Track the progress of diagnostic uploads kicked off from the back office. FirmwareStatusNotification✅ ✅ ✅ Track firmware update lifecycle events from charge points. Heartbeat✅ ✅ ✅ Keep the websocket session alive and update last-seen timestamps. LogStatusNotification— ✅ ✅ Report log upload progress from the charge point for diagnostics oversight. MeterValues✅ ✅ ✅ Persist periodic energy and power readings while a transaction is active. SecurityEventNotification— ✅ ✅ Record charge point security events for audit trails. StartTransaction✅ — — Create charging sessions with initial meter values and identification data. StatusNotification✅ ✅ ✅ Reflect connector availability and fault states in real time. StopTransaction✅ — — Close charging sessions, capturing closing meter values and stop reasons. CSMS → Charge point
Action 1.6 2.0.1 2.1 What we do CancelReservation✅ ✅ ✅ Withdraw pending reservations and release connectors directly from the control center. ChangeAvailability✅ ✅ ✅ Switch connectors or the whole station between operative and inoperative states. ChangeConfiguration✅ — — Update supported charger settings and persist applied values in the control center. ClearCache✅ ✅ ✅ Flush local authorization caches to force fresh lookups from the CSMS. DataTransfer✅ ✅ ✅ Send vendor-specific commands and log the charge point response. GetConfiguration✅ — — Poll the device for the current values of tracked configuration keys. GetDiagnostics✅ — — Request a diagnostics archive upload to a signed URL for troubleshooting. GetLocalListVersion✅ ✅ ✅ Retrieve the current RFID whitelist version and synchronize entries reported by the charge point. RemoteStartTransaction✅ — — Initiate a charging session remotely for an identified customer or token. RemoteStopTransaction✅ — — Terminate active charging sessions from the control center. ReserveNow✅ ✅ ✅ Reserve connectors for upcoming sessions with automatic connector selection and confirmation tracking. Reset✅ ✅ ✅ Request a soft or hard reboot to recover from faults. SendLocalList✅ ✅ ✅ Publish released and approved RFIDs as the charge point's local authorization list. TriggerMessage✅ ✅ ✅ Ask the device to send an immediate update (for example status or diagnostics). UnlockConnector✅ ✅ ✅ Release stuck connectors without on-site intervention. UpdateFirmware✅ ✅ ✅ Deliver firmware packages to chargers with secure download tokens and track installation responses.
Arthexis Constellation ships in four node roles tailored to different deployment scenarios.
| Role | Description & Common Features |
|---|---|
| Terminal | Single-User Research & Development Features: GUI Toast |
| Control | Single-Device Testing & Special Task Appliances Features: AP Public Wi-Fi, Celery Queue, GUI Toast, LCD Screen, NGINX Server, RFID Scanner |
| Satellite | Multi-Device Edge, Network & Data Acquisition Features: AP Router, Celery Queue, NGINX Server, RFID Scanner |
| Watchtower | Multi-User Cloud & Orchestration Features: Celery Queue, NGINX Server |
- Linux: open a terminal and run
git clone https://github.com/arthexis/arthexis.git. - Windows: open PowerShell or Git Bash and run the same command.
For preloaded environments without Git remotes configured, see the remotes note in the Install & Lifecycle Scripts Manual.
Terminal nodes can start directly with the scripts below without installing; Control, Satellite, and Watchtower roles require installation first. Both approaches listen on localhost:8888 by default.
For local bootstrapping, run ./install.sh --terminal to install with defaults, start the server with ./start.sh (optionally passing --reload or --celery), and execute a quick smoke test with pytest -k smoke. Override the role, port, reload, Celery, and test selection with the script flags when needed.
-
VS Code
- Open the folder and go to the Run and Debug panel (
Ctrl+Shift+D). - Select the Run Server (or Debug Server) configuration.
- Press the green start button. Stop the server with the red square button (
Shift+F5).
- Open the folder and go to the Run and Debug panel (
-
Shell
- Linux: run
./start.shand stop with./stop.sh. - Windows: run
start.batand stop withstop.bat.
- Linux: run
-
Linux:
- Run
./install.sh --terminalto bootstrap a default Terminal node (pass--control,--satellite, or--watchtoweras needed). Override the port with--port 8888(the default fallback) and control Celery with--celeryor--no-celery. Use./install.sh --helpto see every available option. - Use
./upgrade.shwith--stable(weekly) or--latest/-l/--unstable(daily) to follow the preferred release cadence. - Consult the Install & Lifecycle Scripts Manual for complete flag descriptions and operational notes.
- Review the Auto-Upgrade Flow for how delegated upgrades run and how to observe them.
- Run
-
Windows:
- Run
install.batto install (Terminal role) andupgrade.batto upgrade. - To run as a background service, install NSSM and use
service.bat install --name arthexis(add--portif needed). - Installation is not required to start in Terminal mode (the default).
- Run
Upgrade channels (opt-in during install/upgrade or with scripts/delegated-upgrade.sh):
| Channel | Check cadence | Purpose | Opt-in flag |
|---|---|---|---|
| Stable | Weekly (Thu before 5:00 AM) | Tracks release revisions with automated weekly checks. | --stable (default) |
| Latest | Daily (same hour) | Follows the newest mainline revisions with daily checks. | --latest / -l or --unstable |
| Manual | None (manual upgrades only) | Disables the automatic upgrade loop for full operator control. | Run upgrades on demand without specifying a channel flag. |
- Access the Django admin at
localhost:8888/admin/to review and manage live data. Use--portwith the start scripts or installer when you need to expose a different port. - Browse the admindocs at
localhost:8888/admindocs/for API documentation that is generated from your models. - Follow the Install & Administration Guide for deployment, lifecycle tasks, and operational runbooks.
- Onboard and service chargers with the EVCS Connectivity & Maintenance Cookbook.
- Configure payment gateways with the Payment Processors Cookbook.
- Reference the Sigils Cookbook when configuring tokenized settings across environments.
- Understand seed fixtures and per-user files with Managing Local Node Data.
- Manage exports, imports, and audit trails with the User Data Cookbook.
- Plan feature rollout strategies using the Node Features Cookbook.
- Curate shortcuts for power users through the Favorites Cookbook.
- Connect Slack workspaces through the Slack Bot Onboarding Cookbook.
Arthexis Constellation is still under very active development and new features are added every day.
If you decide to use our suite for your energy projects, you may contact us at [email protected] or visit our web page for professional services and commercial support.




