Veritabanı Şeması
PostgreSQL 15 + TimescaleDB. 60+ tablo (67+ model: 60 core + 7 zigbee), UUID primary key, timestamp mixin.
Multi-Tenant & RBAC
| Tablo | Açıklama | Önemli Kolonlar |
|---|---|---|
| tenants | Organizasyon | name, slug(UNIQUE), is_active, settings(JSONB), lat/lng |
| users | Kullanıcı | tenant_id, email, password_hash, is_superuser, locale, timezone. UNIQUE(tenant_id, email) |
| roles | Rol tanımı | tenant_id, name. UNIQUE(tenant_id, name) |
| user_roles | Rol atama | user_id, role_id. UNIQUE(user_id, role_id) |
| role_permissions | İzin tanımı | role_id, permission. UNIQUE(role_id, permission) |
Coğrafi Hiyerarşi
| Tablo | Açıklama | Önemli Kolonlar |
|---|---|---|
| regions | Bölge | tenant_id, name, tariff_type(ticarethane/sanayi/mesken/aydinlatma/tarimsal) |
| subregions | Alt bölge | tenant_id, region_id, lat, lng, area_m2, floor_number, building_name, capacity_kw |
| sidebars | Sidebar menü | subregion_id, name, sort_order |
Gateway'ler
| Tablo | Açıklama | Önemli Kolonlar |
|---|---|---|
| gateways | Modbus TCP/MQTT gateway | tenant_id, connection_type(ip_based/mqtt_based), ip_address, port, protocol, device_id |
| mqtt_gateways | ESP32 MQTT gateway | device_id(UNIQUE, MAC), owner_tenant_id(nullable), firmware_version, config_version |
Cihazlar ve Ölçümler
| Tablo | Açıklama | Özel |
|---|---|---|
| devices | Tüm cihazlar | gateway_id OR mqtt_gateway_id (CHECK), device_source, hierarchy_level, can_switch, device_role |
| device_measurements | Ölçüm verileri | HYPERTABLE, PK(device_id, time), 70+ kolon |
| device_transformer_config | CT/PT config | device_id(1:1), voltage_ratio, current_ratio |
| device_connection_logs | Bağlantı logu | success, error_message, response_time_ms |
Zigbee Entegrasyonu
| Tablo | Açıklama | Özel |
|---|---|---|
| pending_zigbee_claims | Claim token havuzu | claim_token(8-char UNIQUE), expires_at |
| zigbee_gateways | Zigbee2MQTT gateway | coordinator_ieee(UNIQUE), zigbee2mqtt_version |
| zigbee_devices | Zigbee cihazlar | ieee_address, device_type(ENUM), battery_level |
| zigbee_energy_measurements | Enerji verileri | HYPERTABLE, power_w, voltage_v, energy_kwh |
| zigbee_sensor_measurements | Sensör verileri | HYPERTABLE, value_numeric/boolean/string |
Alarmlar
| Tablo | Açıklama | Önemli Kolonlar |
|---|---|---|
| alarm_policies | Alarm kuralı | alarm_type, threshold_value, notification_channels(JSONB) |
| alarms | Tetiklenen alarm | severity(critical/high/medium/low), status(open/acked/snoozed/closed) |
| alarm_events | Audit trail | event_type, actor_id, at |
Enerji Tarifeleri
| Tablo | Açıklama |
|---|---|
| suppliers | Elektrik tedarikçisi |
| tariffs | Tarife planı (SINGLE/TOU, AG/OG/EBY) |
| tariff_rate_components | Oran bileşeni (TEK/GUN/PUANT/GECE) |
OTA & Firmware
| Tablo | Açıklama |
|---|---|
| gateway_firmware | Firmware versiyonları (stable/beta, is_latest) |
| gateway_ota_history | OTA geçmişi (pending→in_progress→completed/failed) |
| batch_ota_jobs | Batch OTA işleri |
| device_firmware_status | Güncel firmware durumu |
| ota_update_logs | OTA audit trail |
| device_templates | Cihaz register map şablonları |
| gateway_attached_devices | Gateway bağlı Modbus cihazları |
| gateway_config | Desired/reported config sync |
SLD & LOTO
| Tablo | Açıklama |
|---|---|
| assets | Fiziksel varlık (breaker, transformer, panel...) |
| asset_connections | Varlık bağlantıları (topoloji) |
| sld_views / sld_nodes / sld_edges | Tek Hat Şeması |
| loto_points | İzolasyon noktaları |
| loto_sessions | LOTO oturumları (draft→approved→applied→released) |
| loto_steps / loto_locks / loto_events | LOTO adımları ve kilitler |
Pre-computed Tablolar
| Tablo | Açıklama |
|---|---|
| reactive_ratio_daily | Günlük reaktif oran |
| reactive_ratio_monthly | Aylık reaktif oran |
| daily_energy_summaries | Günlük enerji delta (inverter + analizör) |
| device_bms_identity | BMS batarya kimlik bilgisi |
| audit_log | Tüm CRUD işlemleri audit trail |