FlexMeasures is a Flask-based energy flexibility management platform that ingests time-series sensor data, forecasts future values, schedules flexible assets (batteries, heat pumps, industrial processes) using linear optimization, and reports on performance. It provides a REST API (v3.0), a web UI with interactive charts, a CLI for data management, and background job queues (RQ) for forecasting, scheduling, and automation. The architecture is a multi-tenant web application with PostgreSQL, Redis, and optional Sentry monitoring. It features a plugin system for custom data generators (forecasters, schedulers, reporters) and automation handlers. The codebase is well-tested with extensive unit and integration tests, and follows modern Python practices (type hints, Marshmallow schemas, Click CLI).
Scaphandre is a Rust-based CLI tool for monitoring electric power and energy consumption of hosts and processes. It reads RAPL (Running Average Power Limit) energy counters from Linux sysfs or Windows MSR, computes per-process power attribution using CPU usage ratios, and exports metrics via multiple backends: Prometheus (HTTP scrape or push gateway), JSON, stdout, Riemann, Warp10, and QEMU for virtual machines. The architecture is modular, built on `Sensor` and `Exporter` traits, allowing easy extension. It is packaged for Docker, Kubernetes (Helm chart), Linux (RPM/DEB), and Windows (installer with custom driver). The project is production-ready, actively maintained, and backed by extensive documentation and CI/CD pipelines. It is intended for infrastructure sustainability monitoring and carbon footprint tracking.
This repository is a Home Assistant custom integration for communicating with Solarman Stick Loggers to monitor and control solar inverters. It uses Modbus TCP/RTU to read/write inverter registers, exposing the data as Home Assistant entities (sensors, switches, etc.). The integration includes a device discovery mechanism via UDP broadcast, a configuration flow for setup, and a coordinator for periodic data updates. It also provides services for arbitrary Modbus register operations. The inverter definitions are stored in YAML files that specify the register mappings and sensor configurations for various inverter models.