Flows Domain Model
The Flows platform is organized around several interconnected domains that model the physical and logical aspects of meter data management in microgrids.
Domain Structure
Core Domains
1. Meter Domain
Central to the platform, managing meter configurations, real-time state, and prepayment functionality.
Key Entities:
meter_registry- Master meter configurationmeter_shadows- Real-time meter state mirrormeter_registers- Register-to-meter relationshipsmeter_prepay_balance- Balance tracking over time
2. Data Collection Domain
Handles the continuous flow of consumption data and meter telemetry.
Key Entities:
register_import/export- Energy flow measurementsregister_interval_hh- Half-hourly consumption datameter_voltage- Voltage monitoringmeter_csq- Signal quality tracking
3. Infrastructure Domain
Models the physical and logical topology of the electrical network.
Key Entities:
circuits- Electrical circuit definitionsservice_head_registry- Connection pointsproperties- Physical locationssites_new- Site groupingsescos- Energy service companies
4. Tariffs Domain
Manages pricing structures and meter tariff updates.
Key Entities:
meter_shadows_tariffs- Current and future tariffs- Tariff update workflows
- Prepayment token management
Entity Relationships
Primary Keys and Foreign Keys
The domain model uses UUIDs as primary keys for most entities, providing:
- Globally unique identifiers
- Decoupled ID generation
- Better distribution for indexing
Time-Series Data
Many entities use TimescaleDB hypertables for efficient time-series storage:
register_interval_hh- Partitioned by timestampmeter_voltage- Continuous monitoring datameter_prepay_balance- Balance history
Aggregation Views
The platform provides pre-computed views for common aggregations:
circuit_interval_daily- Daily circuit consumptioncircuit_interval_monthly- Monthly aggregatesmeters_offline_recently- Health monitoring
Data Flow
- Meter Communication → Mediator servers poll meters
- Data Collection → Readings stored in register tables
- Synchronization → meter_shadows updated with latest state
- Aggregation → Views compute circuit and property totals
- API Access → PostgREST exposes data to applications
Design Principles
Event Sourcing
Many operations are logged as events:
meter_event_log- All meter events- Balance changes tracked over time
- Tariff updates maintain history
Digital Twin Pattern
meter_shadows acts as a digital twin of physical meters:
- Mirrors real-time meter state
- Enables offline analysis
- Supports passive monitoring mode
Separation of Concerns
- Physical topology (circuits, service heads) separated from logical grouping (properties, sites)
- Configuration (meter_registry) separated from state (meter_shadows)
- Raw data (register readings) separated from aggregations (interval views)
Next Steps
Explore each domain in detail:
- Meter Domain - Core meter management
- Data Collection - Consumption and telemetry
- Infrastructure - Physical topology
- Tariffs - Pricing and billing support