Skip to main content

Power & Energy Infrastructure

Project description

Arthexis Constellation

Coverage OCPP 1.6 Coverage

Purpose

Arthexis Constellation is a narrative-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.
      • --constellation – 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.

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." --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.28.tar.gz (601.4 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.28-py3-none-any.whl (532.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: arthexis-0.1.28.tar.gz
  • Upload date:
  • Size: 601.4 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.28.tar.gz
Algorithm Hash digest
SHA256 63d77a0997b1f1d002a1a526b5394a7c5da62267a2dd5962f24f5b0ca50f6a0d
MD5 55ec8f3732cd7d4809600ee2a272e57d
BLAKE2b-256 ba4d8e7631c98a2e3fc8beb106391e5307981418f7e3c204dfc1ad7702136626

See more details on using hashes here.

File details

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

File metadata

  • Download URL: arthexis-0.1.28-py3-none-any.whl
  • Upload date:
  • Size: 532.8 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.28-py3-none-any.whl
Algorithm Hash digest
SHA256 bd096a18656330e8e331c26ced31f831abbb543545ae657091a2967c63951c66
MD5 2622b208c903da2e41af0f91bd486fff
BLAKE2b-256 d309d118543f978dce570e9ae47ddc092603f40c50624ead9c2366d5c518a043

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