How shakthisachintha/srne-hybrid-inverter-monitor works
This repository monitors and controls SRNE hybrid inverters over Modbus RTU. The active TypeScript workflow connects to the inverter, periodically reads and publishes telemetry through MQTT, and listens for broker commands; command writes are not currently active in the sampled handler. The README describes a separate middle-tier API as the intended client-facing path, but it is not present in the tree. The older Python implementation includes a FastAPI/SSE interface and validated setting endpoints. The graph includes both generations; the planned API wiring is documented rather than implemented.
Main entry points: index.ts Bridge runtime · SrneInverter.ts SRNE client · SRNEinverter.py Python inverter client · main.py FastAPI interface
Components 12
TypeScript bridge
- Bridge runtime
inverter-bridge/index.ts
Inverter protocol
- SRNE client
inverter-bridge/src/Inverters/SRNE/SrneInverter.ts - Register maps
inverter-bridge/src/Inverters/SRNE/types.ts
Legacy Python
- FastAPI interface
python/src/main.py - Python inverter client
python/src/SRNEinverter.py - Python register map
python/src/srnecommands.py - Setting validator
python/src/validator.py
Planned API
- Middle-tier API
Other components
- SRNE inverter
- MQTT broker
- Apps and dashboards
- Legacy inverter
Connections 13
- Bridge runtime → SRNE client: connects and reads
- SRNE client → SRNE inverter: Modbus RTU
- SRNE client → Register maps: uses definitions
- Bridge runtime → MQTT broker: publishes telemetry
- MQTT broker → Bridge runtime: delivers commands
- Bridge runtime → MQTT broker: publishes acknowledgements
- MQTT broker → Middle-tier API: telemetry to API
- Middle-tier API → MQTT broker: relays commands
- Apps and dashboards → Middle-tier API: uses API
- FastAPI interface → Python inverter client: reads and sets
- FastAPI interface → Setting validator: validates settings
- Python inverter client → Python register map: uses definitions
- Python inverter client → Legacy inverter: Modbus RTU