Browse curated developer references below with quick summaries to help you choose the right guide.
Folder · Browse documents in archive.
Folder · Browse documents in development.
Folder · Browse documents in examples.
Folder · Browse documents in feature.
Folder · Browse documents in integrations.
Folder · Browse documents in internal.
Folder · Browse documents in legal.
Folder · Browse documents in operations.
Folder · Browse documents in performance.
Folder · Browse documents in services.
This document describes how nodes upgrade themselves through Celery, how the delegated systemd unit is launched, and what to check if something fails. - `./env-refresh.sh` has been run so `/usr/local/bin/watch-upgrade`…
The helper script at `scripts/benchmark-suite.sh` runs the full install, start, and upgrade workflows while recording elapsed time for each stage. ```bash ./scripts/benchmark-suite.sh
This guide shows how to wire a DS3231 real-time clock (RTC) module to a Raspberry Pi and verify that it is detected over I2C. | RTC pin | Raspberry Pi pin | Name | | --- | --- | --- |
- `CustomerAccount` tracks balances in currency and kW, and currently derives kW balance from `EnergyCredit` records plus consumed kW from charger transactions. Credits are tallied through `CustomerAccount.credits_kw`,…
Resolving Detached HEAD Merge Conflicts ======================================= If you find yourself detached from a branch with unfinished merge conflicts, use
This guide configures this device as a self-hosted deployment target for the GitHub environment named `canary`. - Workflow: `.github/workflows/deploy-canary.yml`
This site aggregates operator guides, architecture notes, and development references for the Arthexis software suite. In Arthexis terminology, the **suite** is the collection of applications, while the **Constellation**…
Arthexis supports 16x2 LCD panels connected over I²C, including the common PCF8574/PCF8574A backpacks and Waveshare modules based on the AiP31068L controller. The LCD service chooses the correct driver at startup, and…
This domain centralizes how Arthexis selects log destinations and routes output from Django, Celery, and supporting scripts. * `select_log_dir` chooses the first writable candidate from `ARTHEXIS_LOG_DIR`, the…
The current Open Charge Point Protocol (OCPP) 1.6 feature set is fully implemented across the project’s defined scope. - **Overall coverage:** 28 of 28 operations supported (**100%**). - **CSMS to CP:** 19 of 19…
This note summarizes how the CSMS signals successful charger connections and how to interpret captures when nothing reaches the application logs. * When a charger handshake succeeds, the CSMS accepts the socket and…
This document explains the charge point (CP) status values the Arthexis system expects, how each status is recorded, and how those statuses are interpreted for availability and UI presentation. Charge points report…
The historical `apps.recipes` runtime has been fully retired. - Executable code stored in database rows turned routine administration into ad-hoc programming. - The recipe admin and `recipe` management command exposed a…
- **Deprecation/removal:** The legacy `apps.camera` compatibility package has been removed from the distributed package. External integrations should stop importing `apps.camera` and migrate to maintained app modules in…
Top-level application routes must be declared in `apps/<app>/routes.py` by exporting `ROOT_URLPATTERNS`. ```python
When launching `manage.py runserver` through VS Code's Python debugger on Windows, the console often shows each line twice. This happens because `manage.py` starts **two processes** whenever Django's autoreloader is
This project standardizes staff authorization around five canonical security groups while still allowing security groups and avatars to model ownership for user-facing records. `Ownable` in `apps/core/models/ownable.py`…
The following steps describe what happens during a normal suite startup, covering both the manual entry point and the main service launcher. Environment refreshes are not triggered automatically during start; they are…
The Suite Services Report (Admin → System → Suite Services Report) summarizes the systemd units that can run an Arthexis node. It shows live unit status when `systemctl` is available and also lists **reference…
Upgrades should remain predictable and as stable as possible. When errors are reported, the goal is to diagnose and remediate the underlying data or migration issues rather than altering the upgrade workflow itself. The…
This guide outlines a safe, Ubuntu-only approach for **physically powering off** a USB camera by switching power at the USB port. The most reliable method is to use a hub that supports per-port power control and the…
Folder:
cookbooks/
·
Up one level
The container entrypoint supports role presets through `ARTHEXIS_ROLE_PRESET`. - Supported values: `terminal` (default), `control`, `satellite`, `watchtower` (alias: `constellation`, for backward…
This cookbook walks through the end-to-end workflow for onboarding an electric vehicle charging station (EVCS) to Arthexis Constellation and keeping it healthy afterwards. Use it as a runbook any time a new charger must…
Create quick-access shortcuts for frequently used admin models and views. - [Access points](#access-points) - [Adding a favorite](#adding-a-favorite)
This guide explains how to install, operate, upgrade, and remove an Arthexis node using the provided shell (`*.sh`) and batch (`*.bat`) scripts. Follow the sections in order when preparing a new system. - [1.…
This guide helps troubleshoot LCD panels that briefly show the start message and then turn off until firmware upgrade or reboot completes. The LCD service now force-resets the controller whenever it restarts to clear…
This note proposes incremental linting improvements that increase signal without creating large one-off cleanup projects. Current Ruff usage is focused on parser/runtime failures
This guide explains how Arthexis automatically loads bundled fixtures on each node and how those seed records relate to user-generated data stored on disk. - The maintenance task in…
Coordinate capabilities across nodes by managing `nodes.NodeFeature` records in the Django admin. - [Accessing node features](#accessing-node-features) - [Reviewing feature metadata](#reviewing-feature-metadata)
This cookbook captures the backlog of Open Charge Point Protocol (OCPP) features that the Constellation team intends to deliver next. Each entry highlights the scenario we want to enable once the call is implemented so…
This cookbook documents how Arthexis Constellation connects to Odoo so teams can manage identity and catalog data from a single source of truth. - An Odoo instance with API access enabled and user credentials that can…
Broken links in the cookbooks have been repaired to match the current `apps/` layout: - **Favorites** now points to `apps/sites/templates/...` and `apps/locals/admin.py`. - **Node features** references…
Configure OpenPay, PayPal, and Stripe credentials for charging workflows. - [Access points](#access-points) - [OpenPay setup](#openpay-setup)
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…
This runbook guides administrators through creating a Slack app for Arthexis Constellation, wiring the workspace credentials into the suite, and validating that message broadcasts and slash commands work end-to-end. -…
Manage user-generated fixtures from the Django admin to keep audit trails, share reproducible scenarios, and seed fresh environments with known records. - [Access points](#access-points) - [Exploring user data…