Hardware Integration · BESSAI v2.16.0

Tu hardware,
inteligente en 30 minutos

7 perfiles certificados en producción. Si tu inversor o BMS no está en la lista, puedes añadirlo siguiendo BEP-0100 — el proceso toma menos de 30 minutos si tienes el manual del dispositivo.

Ver Hardware Registry ↓ Añadir mi hardware ↓ Soporte técnico →

Hardware Registry v2.16.0

Perfiles certificados en producción y laboratorio

Cada perfil viene con tests automatizados en hardware-ci.yml que corren cada martes a las 05:00 UTC contra un simulador de ese hardware específico.

Marca / Modelo Tipo Protocolo principal Estado Driver versión Tests
Huawei SUN2000 Inversor BESS híbrido Modbus TCP Producción v2.0 47 tests
SMA Sunny Tripower Inversor BESS SunSpec 124 Testeado v1.8 38 tests
Victron MultiPlus Inversor/cargador Modbus RTU Testeado v1.6 31 tests
Fronius Symo Inversor PV+BESS SunSpec Testeado v1.5 29 tests
SolarEdge StorEdge Inversor con storage SunSpec M124 Testeado v1.4 26 tests
BYD Battery Box BMS / batería LFP CAN 500 kbaud Testeado v1.7 33 tests
Tesla Powerwall 3 BESS residencial REST + OAuth2 Testeado v1.3 22 tests
ABB REFUsol Inversor utilitario IEC 61850 Planificado BEP-0202
Schneider Electric BESS C&I SCADA Modbus Planificado BEP-0202
¿Tu equipo aquí? Cualquier inversor/BMS Modbus / CAN / REST Contribuir BEP-0100 Tutorial ↓

Stack de Protocolos

Todos los estándares industriales soportados

Modbus TCP Puerto 502

El protocolo más utilizado en inversores industriales. BESSAI implementa Function Codes 3, 6 y 16 con registro map por perfil. Timeout configurable, reconexión automática.

Huawei SUN2000 · SMA · Victron · SolarEdge

IEC 61850 GOOSE + MMS

Estándar de automatización de subestaciones. Implementación con IED mapping, SCL file import y soporte para reporting. Compatible con sistemas SCADA de distribuidoras.

ABB REFUsol · Schneider (planificados)

IEEE 2030.5 SEP 2.0 / DER

10 endpoints implementados con TLS 1.2+ y mTLS. Compatible con sistemas de gestión de distribuidoras (DER Management Systems). NTSyCS CEN Chile conforme.

Todos los perfiles · Rate limit SR 7.1

CAN bus 500 kbaud · SocketCAN

Para BMS con interfaz CAN: BYD Battery Box. Usa SocketCAN de Linux con archivos .dbc para el parsing de mensajes. Configurable por perfil.

BYD Battery Box


BEP-0100 · Guía de contribución

Añade tu hardware en 7 pasos

No necesitas conocer el proyecto en profundidad. El template y los tests te guían. Si tienes el manual del dispositivo, en menos de 30 minutos tienes el perfil listo para review.

1
Fork + clone del repositorio
git clone https://github.com/TU_USER/open-bess-edge && pip install -e ".[dev]"
2
Copiar el template de perfil
cp src/drivers/hardware_profiles/template.py src/drivers/hardware_profiles/tu_inversor.py
3
Implementar los 3 métodos requeridos
read_state() — leer SOC, potencia, temperatura
write_setpoint(kw) — enviar setpoint
validate_connection() — verificar conectividad
4
Añadir tests (mínimo 5)
tests/drivers/test_tu_inversor.py — usa el mock client incluido en el template
5
Documentar el perfil
docs/hardware/tu_inversor.md — specs, registro map, notas de configuración
6
Abrir Pull Request
hardware-ci.yml corre automáticamente tus tests contra el simulador. Si pasa → review en 48-72h
7
Merge → tu marca en el Hardware Registry
Tu perfil aparece en este registro y en el README oficial. Tu contribución queda en el historial del proyecto para siempre.

TEMPLATE — src/drivers/hardware_profiles/template.py

# SPDX-License-Identifier: Apache-2.0
from src.drivers.base import HardwareProfile

class TuInversorProfile(HardwareProfile):
    protocol = "modbus_tcp"
    brand = "TuMarca"
    model = "TuModelo"

    def read_state(self) -> BESSState:
        # Lee SOC, potencia, temperatura
        ...

    def write_setpoint(self, kw: float) -> bool:
        # Envía setpoint al hardware
        ...

    def validate_connection(self) -> bool:
        # Verifica que el hardware responde
        ...

FAQ TÉCNICO

¿Cómo pruebo sin el hardware físico?

El simulador integrado replica el comportamiento del hardware. Usa make simulate PROFILE=tu_inversor.

¿Qué pasa si el protocolo no es Modbus?

El driver base es agnóstico al protocolo. Implementa la interfaz usando el cliente que necesites (CAN, REST, etc.).

¿Cuánto tarda el review del PR?

48-72h hábiles si los tests pasan. Si hay preguntas técnicas, las respondemos en el PR mismo.

¿Tu hardware no está en la lista?

El octavo perfil puede ser el tuyo. Ayúdanos a hacer BESSAI compatible con más equipos.

BEP-0100 — Especificación completa ↗ Soporte técnico → Discord