Skip to main content

Power & Energy Infrastructure

Project description

Arthexis Constellation

Coverage OCPP 1.6 Coverage

Purpose

Arthexis Constellation is a story-driven Django-based software suite that centralizes tools for managing electric vehicle charging infrastructure and orchestrating energy-related products and services.

Current Features

  • Compatible with the Open Charge Point Protocol (OCPP) 1.6 central system. Supported actions are summarized below.

    Charge point → CSMS

    Action 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.
    MeterValues Persist periodic energy and power readings while a transaction is active.
    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 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.
    DataTransfer Send vendor-specific commands and log the charge point response.
    GetConfiguration Poll the device for the current values of tracked configuration keys.
    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).
    UpdateFirmware Deliver firmware packages to chargers with secure download tokens and track installation responses.

    OCPP 1.6 roadmap. The following catalogue actions are in our backlog: ChangeConfiguration, ClearCache, ClearChargingProfile, GetCompositeSchedule, GetDiagnostics, SetChargingProfile, UnlockConnector.

  • Charge point reservations with automated connector assignment, energy account and RFID linkage, EVCS confirmation tracking, and control-center cancellation support.

  • API integration with Odoo, syncing:

    • Employee credentials via res.users
    • Product catalog lookups via product.product
  • Runs on Windows 11 and Ubuntu 22.04 LTS

  • Tested for the Raspberry Pi 4 Model B

Project under rapid active and open development.

Role Architecture

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

Quick Guide

1. Clone

2. Start and stop

Terminal nodes can start directly with the scripts below without installing; Control, Satellite, and Watchtower roles require installation first. Both approaches listen on http://localhost:8888/ by default.

  • 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).
  • Shell

3. Install and upgrade

  • Linux:

    • Run ./install.sh with a node role flag:
      • --terminal – default when unspecified and recommended if you're unsure. Terminal nodes can also use the start/stop scripts above without installing.
      • --control – prepares the single-device testing appliance.
      • --satellite – configures the edge data acquisition node.
      • --watchtower – enables the multi-user orchestration stack.
    • Use ./install.sh --help to list every available flag if you need to customize the node beyond the role defaults.
    • Upgrade with ./upgrade.sh.
    • Consult the Install & Lifecycle Scripts Manual for complete flag descriptions and operational notes.
    • Review the Upgrade Guide for manual steps required after releases that stop automating specific migrations.
  • Windows:

    • Run install.bat to install (Terminal role) and upgrade.bat to upgrade.
    • Installation is not required to start in Terminal mode (the default).

4. Administration

Visit http://localhost:8888/admin/ for the Django admin and http://localhost:8888/admindocs/ for the admindocs. Use --port with the start scripts or installer when you need to expose a different port. Review the Install & Administration Guide in the cookbooks directory for end-to-end deployment steps.

Sigils

Sigils are bracketed tokens such as [ENV.SMTP_PASSWORD] that Arthexis expands at runtime. They make it possible to reference configuration secrets, system metadata, or records stored in other apps without duplicating values across the project.

Syntax at a glance

  • [PREFIX.KEY] — returns a field or attribute. Hyphens and casing are normalized automatically.
  • [PREFIX=IDENTIFIER.FIELD] — selects a specific record by primary key or any unique field.
  • [PREFIX:FIELD=VALUE.ATTRIBUTE] — filters by a custom field instead of the primary key.
  • [PREFIX.FIELD=[OTHER.SIGIL]] — nests sigils so the value after = resolves before the outer token.
  • [PREFIX] — for entity prefixes, returns the serialized object in JSON; for configuration prefixes, resolves to an empty string when the key is missing.

The platform ships with three configuration prefixes:

  • ENV reads environment variables.
  • CONF reads Django settings.
  • SYS exposes computed system information such as build metadata.

Additional prefixes are defined through Sigil Roots, which map a short code (for example ROLE, ODOO, or USER) to a Django model. You can review them from Admin → Sigil Builder (/admin/sigil-builder/), where a test console is also available.

Unknown prefixes remain in place (e.g. [UNKNOWN.VALUE]) and are logged.

Support

Contact us at tecnologia@gelectriic.com or visit our web page for professional services and commercial support.

Project Guidelines

  • AGENTS – operating handbook for repository workflows, testing, and release management.
  • DESIGN – visual, UX, and branding guidance that all interfaces must follow.

About Me

"What, you want to know about me too? Well, I enjoy developing software, role-playing games, long walks on the beach and a fourth secret thing above all else." --Arthexis

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

arthexis-0.1.30.tar.gz (628.3 kB view details)

Uploaded Source

Built Distribution

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

arthexis-0.1.30-py3-none-any.whl (558.9 kB view details)

Uploaded Python 3

File details

Details for the file arthexis-0.1.30.tar.gz.

File metadata

  • Download URL: arthexis-0.1.30.tar.gz
  • Upload date:
  • Size: 628.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for arthexis-0.1.30.tar.gz
Algorithm Hash digest
SHA256 253109af445692150c2aa5f1da18b21632598ddd1554b7d9881d188ce0398c0a
MD5 1f023195b31358f3d3f77a8fc8398757
BLAKE2b-256 1fd3df75ed9343d73a1eb2c48a3157fdc0d239b8a081d5b31e420e2197421f48

See more details on using hashes here.

File details

Details for the file arthexis-0.1.30-py3-none-any.whl.

File metadata

  • Download URL: arthexis-0.1.30-py3-none-any.whl
  • Upload date:
  • Size: 558.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.2

File hashes

Hashes for arthexis-0.1.30-py3-none-any.whl
Algorithm Hash digest
SHA256 dde65c40039d25fb51a83d786471a91e02ae0db8a15a514d560ac3dbe9c6ec11
MD5 ddcb2c02c76d48f3e8fc5613940a9747
BLAKE2b-256 af819dffad3a38b42e07034aa6fcb1bbccd273b8a95af12419a09d3a6f313908

See more details on using hashes here.

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