https://github.com/marcinwitnik/nowoczesny-dom-firebird-sql
Projekt struktury danych inteligentnego domu jednorodzinnego w Firebird SQL
https://github.com/marcinwitnik/nowoczesny-dom-firebird-sql
alarm-system battery-storage database database-design ems energy-management erd firebirdsql home-automation iot photovoltaics relational-databases smart-home sql
Last synced: 6 days ago
JSON representation
Projekt struktury danych inteligentnego domu jednorodzinnego w Firebird SQL
- Host: GitHub
- URL: https://github.com/marcinwitnik/nowoczesny-dom-firebird-sql
- Owner: marcinwitnik
- License: mit
- Created: 2026-03-09T09:53:19.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-09T10:10:03.000Z (3 months ago)
- Last Synced: 2026-03-09T14:32:07.783Z (3 months ago)
- Topics: alarm-system, battery-storage, database, database-design, ems, energy-management, erd, firebirdsql, home-automation, iot, photovoltaics, relational-databases, smart-home, sql
- Homepage:
- Size: 1.21 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Struktura Danych Nowoczesnego Domu Jednorodzinnego w Firebird SQL
Projekt przedstawia kompletną relacyjną strukturę danych dla nowoczesnego, inteligentnego domu jednorodzinnego, zaprojektowaną z myślą o zarządzaniu energią, komfortem, bezpieczeństwem oraz automatyką budynkową. System obejmuje m.in. obsługę urządzeń, czujników, pomieszczeń, fotowoltaiki, magazynu energii, taryf, reguł decyzyjnych oraz danych historycznych i prognostycznych.
Modelowany obiekt to parterowy dom jednorodzinny z garażem w bryle, zamieszkały przez 4 osoby, o powierzchni około 100 m², zlokalizowany w Tomaszowie Bolesławieckim. Projekt został przygotowany jako koncepcyjno–inżynierski model danych pod przyszłą implementację systemu EMS (*Energy Management System*).
---
##
Technologie i środowisko
- **Baza danych:** [](https://firebirdsql.org/)
- **Środowisko projektowe:** [](https://www.ibexpert.net/)
- **Język zapytań:** [](https://en.wikipedia.org/wiki/SQL)
- **Model danych:** [](https://pl.wikipedia.org/wiki/Relacyjny_model_danych)
- **Podejście projektowe:**
- [](https://pl.wikipedia.org/wiki/Normalizacja_bazy_danych) – uporządkowanie struktury tabel i ograniczenie redundancji
- [](https://en.wikipedia.org/wiki/Foreign_key) – zachowanie spójności relacyjnej między encjami
- [](#) – realistyczny model danych przygotowany pod wdrożenie EMS
---
##
Główne założenia projektu
Projekt został zaprojektowany tak, aby system mógł:
- monitorować zużycie energii elektrycznej w domu,
- rejestrować dane z czujników środowiskowych i bezpieczeństwa,
- obsługiwać instalację fotowoltaiczną oraz magazyn energii,
- zarządzać ogrzewaniem, CWU, chłodzeniem i buforami cieplnymi,
- uwzględniać dynamiczne ceny energii i taryfy,
- przechowywać prognozy pogody i prognozy produkcji PV,
- definiować scenariusze, harmonogramy i reguły działania,
- analizować historię decyzji systemu automatyki.
---
Funkcje programu / struktury danych (kliknij, aby rozwinąć)
---
DOM – główna encja projektu (kliknij, aby rozwinąć)
Tabela nadrzędna całego systemu. Opisuje konkretny budynek i stanowi punkt odniesienia dla większości pozostałych tabel. Przechowuje podstawowe informacje o domu, takie jak nazwa, lokalizacja, współrzędne GPS, powierzchnia, liczba mieszkańców oraz moc przyłączeniowa.
---
BATERIA – konfiguracja magazynu energii (kliknij, aby rozwinąć)
Tabela opisuje magazyn energii elektrycznej zainstalowany w domu. Zawiera dane techniczne baterii, takie jak pojemność, maksymalna moc ładowania i rozładowania, zakres SoC, sprawność oraz domyślną strategię pracy.
---
STAN_BATERII – bieżący i historyczny stan baterii (kliknij, aby rozwinąć)
Przechowuje historyczne i aktualne stany pracy magazynu energii. Zawiera poziom naładowania, moce ładowania i rozładowania, źródło ładowania oraz tryb pracy baterii w czasie.
---
BILANS_ENERGII – zagregowany bilans energetyczny domu (kliknij, aby rozwinąć)
Tabela analityczna służąca do zapisu bilansu energetycznego w czasie. Pozwala określić, ile energii pobrano z sieci, oddano do sieci, wyprodukowano z PV, przekazano do baterii oraz jaki był całkowity koszt energii.
---
BUFOR_CIEPLA – konfiguracja magazynu ciepła (kliknij, aby rozwinąć)
Opisuje bufory ciepła wykorzystywane w domu, np. bufor CO, CWU lub podłogówki. Zawiera informacje o typie bufora, pojemności, temperaturach granicznych i możliwości wcześniejszego nagrzewania.
---
BUFOR_CIEPLA_POMIAR – pomiary temperatury i energii bufora (kliknij, aby rozwinąć)
Tabela przechowuje historyczne pomiary stanu bufora ciepła. Rejestruje temperaturę oraz szacowaną ilość zgromadzonej energii cieplnej.
---
TARYFA_STATYCZNA – definicje taryf energetycznych (kliknij, aby rozwinąć)
Tabela słownikowa zawierająca rodzaje taryf energetycznych, np. G11, G12 lub taryfę dynamiczną. Oddziela definicję taryfy od konkretnych cen godzinowych.
---
CENA_ENERGII_GODZINOWA – godzinowe ceny energii (kliknij, aby rozwinąć)
Przechowuje ceny zakupu i sprzedaży energii dla konkretnej taryfy, daty i godziny. Tabela jest kluczowa dla optymalizacji kosztów pracy urządzeń oraz strategii ładowania baterii.
---
CWU_POMIAR – parametry ciepłej wody użytkowej (kliknij, aby rozwinąć)
Służy do rejestrowania temperatury i zużycia ciepłej wody użytkowej. Pozwala analizować komfort domowników oraz zapotrzebowanie energetyczne systemu CWU.
---
REGULA – logika decyzyjna systemu (kliknij, aby rozwinąć)
Tabela przechowuje reguły sterujące inteligentnym domem. Definiuje warunki logiczne, akcje do wykonania oraz aktywność danej reguły.
---
HISTORIA_DECYZJI – historia decyzji automatyki (kliknij, aby rozwinąć)
Rejestruje decyzje podejmowane przez system na podstawie reguł. Umożliwia analizę działania automatyki, audyt oraz debugowanie zachowania systemu.
---
INSTALACJA_PV – konfiguracja instalacji fotowoltaicznej (kliknij, aby rozwinąć)
Opisuje parametry techniczne instalacji PV, takie jak moc, liczba paneli, orientacja, kąt nachylenia, model falownika oraz data uruchomienia.
---
PRODUKCJA_PV – rzeczywiste pomiary produkcji PV (kliknij, aby rozwinąć)
Przechowuje dane historyczne dotyczące pracy instalacji fotowoltaicznej. Rejestruje chwilową moc DC i AC oraz energię dzienną i całkowitą.
---
PROGNOZA_PV – prognozowana produkcja energii z PV (kliknij, aby rozwinąć)
Tabela zawiera prognozowaną moc i energię produkowaną przez instalację fotowoltaiczną. Umożliwia planowanie pracy urządzeń i optymalizację autokonsumpcji.
---
LICZNIK_GLOWNY – konfiguracja głównego licznika energii (kliknij, aby rozwinąć)
Opisuje główny licznik energii elektrycznej domu. Przechowuje dane identyfikacyjne, moc przyłączeniową oraz typ taryfy.
---
ZUZYCIE_DOMU – zużycie energii całego budynku (kliknij, aby rozwinąć)
Tabela rejestruje rzeczywiste zużycie energii elektrycznej przez cały dom. Zawiera dane o mocy chwilowej, imporcie i eksporcie energii.
---
PROGNOZA_POGODY – dane prognostyczne pogody (kliknij, aby rozwinąć)
Przechowuje prognozowane warunki pogodowe dla domu, m.in. temperaturę, wilgotność, zachmurzenie, wiatr, opady i nasłonecznienie. Dane te są wykorzystywane np. do prognoz PV i sterowania ogrzewaniem.
---
DOMOWNIK – użytkownicy domu (kliknij, aby rozwinąć)
Opisuje mieszkańców domu i ich podstawowe cechy, takie jak imię, wiek i typ domownika. Tabela wspiera modelowanie obecności, komfortu i profilu zużycia energii.
---
POMIESZCZENIE – opis pomieszczeń domu (kliknij, aby rozwinąć)
Przechowuje informacje o wszystkich pomieszczeniach w budynku. Obejmuje nazwę, typ, powierzchnię, wysokość, kubaturę, klasę izolacji oraz priorytet komfortu.
---
OKNO_KOMFORTU – warunki komfortu w czasie (kliknij, aby rozwinąć)
Definiuje przedziały czasowe oraz dopuszczalne zakresy temperatury i wilgotności w konkretnych pomieszczeniach. Wykorzystywane do sterowania komfortem cieplnym.
---
OGRZEWANIE_CONFIG – konfiguracja systemu ogrzewania (kliknij, aby rozwinąć)
Opisuje logiczną konfigurację źródeł ogrzewania w domu, np. pompy ciepła i grzałki elektrycznej. Stanowi podstawę dla dalszego sterowania systemem grzewczym.
---
URZADZENIE – urządzenia działające w domu (kliknij, aby rozwinąć)
Centralna tabela opisująca wszystkie urządzenia w systemie, np. AGD, urządzenia grzewcze, wykonawcze i energochłonne. Zawiera parametry techniczne, sposób sterowania, interfejs komunikacyjny i priorytety działania.
---
GRUPA_URZADZEN – grupowanie urządzeń (kliknij, aby rozwinąć)
Tabela służy do logicznego grupowania urządzeń w kategorie, np. AGD, ogrzewanie czy oświetlenie. Ułatwia raportowanie i sterowanie całymi grupami.
---
TYP_URZADZENIA – słownik typów urządzeń (kliknij, aby rozwinąć)
Przechowuje klasyfikację urządzeń według ich funkcji i charakteru pracy. Ułatwia rozszerzanie systemu oraz porządkowanie danych.
---
ZUZYCIE_URZADZENIA – zużycie energii przez urządzenia (kliknij, aby rozwinąć)
Tabela zawiera zagregowane dane o zużyciu energii przez poszczególne urządzenia w określonych przedziałach czasu. Umożliwia analizę energochłonności sprzętu.
---
URZADZENIE_PARAMETR – parametry konfiguracyjne urządzeń (kliknij, aby rozwinąć)
Tabela typu key–value przechowująca dodatkowe parametry urządzeń, które są zmienne, opcjonalne lub zależne od modelu. Pozwala elastycznie rozszerzać konfigurację urządzeń.
---
PLAN_STEROWANIA – zaplanowane akcje dla urządzeń (kliknij, aby rozwinąć)
Przechowuje konkretne zaplanowane działania sterujące dla urządzeń: moment startu, stopu, preferowane źródło energii oraz szacowany koszt wykonania.
---
HARMONOGRAM_URZADZENIA – powtarzalne zasady pracy urządzeń (kliknij, aby rozwinąć)
Tabela opisuje cykliczne harmonogramy działania urządzeń w wybranych dniach tygodnia i godzinach. Może uwzględniać np. minimalny poziom naładowania baterii.
---
SCENARIUSZ_DNIA – scenariusze funkcjonowania domu (kliknij, aby rozwinąć)
Definiuje gotowe tryby działania domu, np. dzień roboczy, weekend lub nieobecność. Scenariusze wpływają na urządzenia, reguły i harmonogramy.
---
SCENARIUSZ_OBECNOSC – model obecności domowników (kliknij, aby rozwinąć)
Opisuje przedziały czasowe obecności lub nieobecności mieszkańców w ramach konkretnego scenariusza dnia. Dane te wpływają na komfort, bezpieczeństwo i oszczędność energii.
---
CZUJNIK – konfiguracja czujników (kliknij, aby rozwinąć)
Centralna tabela warstwy pomiarowej. Opisuje wszystkie czujniki w systemie: środowiskowe, energetyczne i bezpieczeństwa, wraz z ich lokalizacją, jednostką i interfejsem komunikacji.
---
ODCZYT_CZUJNIKA – historyczne odczyty z czujników (kliknij, aby rozwinąć)
Przechowuje właściwe dane pomiarowe zbierane z czujników w czasie. Umożliwia analizę zmian parametrów środowiskowych, bezpieczeństwa i zużycia energii.
---
TYP_CZUJNIKA – słownik rodzajów czujników (kliknij, aby rozwinąć)
Tabela definiuje typy czujników, np. temperatura, ruch, zalanie czy dym. Zapewnia spójność opisu i interpretacji danych pomiarowych.
---
STREFA_ALARMOWA – logiczne strefy systemu alarmowego (kliknij, aby rozwinąć)
Opisuje podział domu na strefy alarmowe, np. garaż, parter czy ogród. Ułatwia grupowanie zdarzeń oraz konfigurację systemu bezpieczeństwa.
---
STREFA_CZUJNIK – przypisanie czujników do stref alarmowych (kliknij, aby rozwinąć)
Tabela łącznikowa przypisująca konkretne czujniki do wybranych stref alarmowych. Dzięki niej system wie, które sensory należą do której strefy.
---
ZDARZENIE_ALARMOWE – historia zdarzeń alarmowych (kliknij, aby rozwinąć)
Przechowuje log zdarzeń alarmowych wykrytych w domu. Rejestruje czas, strefę, czujnik, typ zdarzenia, status obsługi i dodatkowy opis.
---
##
Cechy projektu
- modularna i czytelna struktura relacyjna,
- logiczne powiązania między encjami,
- przygotowanie pod EMS i automatykę domową,
- możliwość rozbudowy o nowe urządzenia, czujniki i scenariusze,
- obsługa danych historycznych oraz prognostycznych,
- możliwość dalszej implementacji algorytmów optymalizacyjnych.
---
##
Przykładowe obszary modelu danych
Projekt obejmuje między innymi:
- zarządzanie domem i jego parametrami,
- zarządzanie pomieszczeniami i komfortem,
- rejestrację danych z czujników,
- sterowanie urządzeniami,
- bilans energetyczny,
- fotowoltaikę i magazyn energii,
- system alarmowy,
- scenariusze i reguły automatyki,
- prognozy pogody i prognozy PV.
---
Podgląd projektu domu (kliknij, aby rozwinąć)
Poniżej znajdują się materiały graficzne powiązane z projektem:
### Schemat relacyjny bazy danych

### Rzut i wizualizacja przykładowego nowoczesnego domu
