Skip to content

Roadmap and Vision

Dominique Lasserre edited this page Dec 23, 2024 · 18 revisions

Vision

  • User Interface (GUI): Develop an intuitive and visually appealing interface to replace the current Node-RED setup.
  • Middleware Integration: Enable seamless coupling with platforms like Home Assistant or similar solutions to simplify device connections and management.
  • Ready-to-Use Images: Offer pre-configured Docker images and long-term solutions with pre-installed hardware for easy deployment.
  • Device Anbindung (Integration): Standardize and expand support for various devices and protocols to ensure scalability and flexibility.

Roadmap

Milestone 1.0.0

  • Stable /v1 API (backwards compatibility for future changes, or bump to /vN)

Milestone 0.1.0

First release packages, almost stable API, user + dev documentation.

  • API
    • translate endpoints
    • Prepare for stable API
      • Support for multiple devices (API only)
      • All components optional (where applicable) (API only)
    • Drop unused endpoints
  • Documentation
    • Documented Workflow for HA(/OpenHab) integration + evcc
    • Documentation about general system usage on README (not for development, forward to contributing.md)
      • hardware requirements (pi)
      • platforms specifics? (linux/windows/mac)
      • setup guide with python package
      • setup guide with docker image
    • Swagger API-docs with examples, more detailed
    • Review contributions guide for new developers (where to start, setup, how to test, PR process)
  • CI/CD
    • Release process
      • PyPi Packaging
      • Dockerhub image (PR #xxx)
      • Publish documentation on ReadTheDocs
  • Others
    • Get feature/config-overhaul merged
    • Prepare for stable config
      • nested config for convenience/readability (pydantic.SettingsModel)

Config change TODOs

  • refactor ems into new class layout
  • optimize doesn't change global config state (PR #xxx)
  • load balancer fasthtml/fastapi (PR #xxx)
  • tests don't affect dev/user config (PR #xxx)
  • hardcoded pvforecast attributes
  • mypy works with pre-commit but still has a few issues on venv execution
  • float <-> int changes of individual
  • missing API documentation of all the new pydantic models (description fields), documentation/examples about usage

To-Do's unsorted

  • translate German code to English
    1. inverter (done #xxx)
    2. battery (done #xxx)
    3. ems (partially #xxx)
    4. devices
  • improve optimization by reducing generations needed (partially #xxx)
  • fix pdf generation, parts of graphs do intersect (done #xxx)
  • PDF shows actual dates/time (x-axis)
  • PDF from old run still accessible (maybe optimize returns id and that id can be taken for pdf endpoint or latest without id, last n ids or last n days are preserved)
  • Tests:
    • all endpoint are tested for deployed server (docker-compose)
  • HA/OpenHab interface (e.g. MQTT)
  • MR workflow required? (approvals who, how many, when to use feature branch, when to use main)
  • User management (access control, e.g. config change, prediction update, read-only etc.)
    • Database
  • GUI
    • Dashboard
    • Update predictions
    • Update optimization
    • Update config
    • Mobile support
  • Middleware (take inspiration from evcc)
    • MQTT
    • HA-Addon
    • OpenHab-Addon
  • Extendable interface (documentation how to add new device with its own mutation/optimization into system)
  • Support for multiple devices
    • pv/inverter
    • ev
    • batteries
    • household devices
  • All components optional (where applicable)
  • Systems runs out-of-the-box without config changes (maybe in GUI setup wizard)
  • stochastic optimization (encounter variance)