blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
Vitajte na mojom blogu
deadawp



Integrácia Watmonitora do Power BI
pridal deadawp 20.6. 2026 o 20:18 (naposledy upravené 21.6. 2026 o 18:27)

Watmonitor je webové rozhranie určené na On-premise nasadenie na hosting - lokálny / platený. Umožňuje vizualizovať výšku hladiny (vody, paliva...), výšku sypkých materiálov (štrk, osivo, pelety) a pod., ktoré posielajú senzorové uzly na báze open-source hardvéru (Arduino, ESP32, ESP8266, Rpi), alebo industriálne senzorové riešenia. V záujme o univerzálnu možnosť integrácie s platformami disponuje Watmonitor aj JSON endpointom, ktorý poskytuje posledné dáta z databázy - json_output.php.

V minulosti sme si už ukázali možnosti integrácie s využitím platforiem ThingsBoard, ThingSpeak, či Ubidots, prípadne Node-RED ako middleware. Dnes si tieto možnosti rozšírime o softvér Power BI, pričom na demonštráciu využijeme jeho Desktop verziu, hoci je obmedzená a tiež aj cloudové rozhranie Power BI pre použitie inak nedostupných funkcionalít. Poďme na to.

Základná integrácia
Po otvorení Power BI Desktop v zostavách klikneme na "Získať údaje z iných zdrojov". V možnostiach nájdeme aj JSON, avšak táto možnosť sa vzťahuje iba na lokálne uložený súbor v počítači. Nakoľko sa budú dáta získavať z JSON Endpointu Watmonitora, ktorého inštancia beží online, vyberieme možnosť "Web". Do vstupného poľa zadáme URL adresu smerujúcu na súbor json_output.php pod Watmonitorom.

Ukážkové dáta JSON endpointu:
{
"name": "Vrt",
"value": 329,
"depth": 400,
"percentage": 82.3,
"volume": 1653.73,
"time": "20. Jun 18:48",
"time_now": "20. Jun 19:05"
}

Vysvetlivky:

  • name = názov studne / id senzorového uzla - identifikátor
  • value = aktuálna hodnota hladiny vody od dna studne
  • depth = hĺbka studne
  • percentage = percentuálne naplnenie studne value voči depth
  • volume = objem studne / nádrže v litroch
  • time = lokálny čas záznamu v časovej zóne webservera
  • time_now = aktuálny čas požiadavky na server v časovej zóne webservera





Potvrdením sa vykoná request na cieľovú adresu a podľa typu dát zobrazí tieto dáta. Nakoľko máme JSON dáta, dôjde k ich automatického vyparsovaniu v Power Query Editore, ktorý sa automaticky otvorí, teda Power BI tieto dáta automaticky rozpozná a roztriedi. Následne v ľavom hornom rohu klikneme na "Zavrieť a použiť". Po zatvorení uvidíme tieto dáta v pravej časti pod nadpisom "Údaje" spolu s indikátorom dátového typu - text, číslo, dátum/čas. Názov dátovej entity odpovedá názvu JSON kľúča zo štruktúry. Prakticky sme týmto dosiahli dataset, ktorý vieme využívať ako zdrojové dáta pre prvky dashboardu. Veľmi podobný princíp, ako používa ThingsBoard.



Držaním príslušného JSON kľúča a jeho presunutím do časti Dashboardu získate automaticky vizualizáciu danej hodnoty stĺpcovým grafom pre rýchly začiatok. Prípadne si môžete zvoliť manuálne typ grafu pri nadpise "Vizualizácie", ktorý do dashboardu vložíte a následne naň presunitie JSON kľúč, čím sa do neho dáta natiahnu, resp. aj samotná referencia, keďže pri zmene dát ich vie tiež vizualizovať. Power BI automaticky nastavuje u hodnôt rozpätia grafu (minimálne u gauge) na dvojnásobok načítanej hodnoty.

Pre úpravu rozsahu kliknite na graf, následne sa zobrazí okno s konfiguráciou parametrov, kde viete pridať do maximálnej hodnoty údaj. V našom prípade využijeme depth, čo reprezentuje hĺbku studne a teda maximálnu merateľnú hodnotu hladiny vody v nádrži, či studni. Rovnako tak môžeme agregovať výstup a vizualizovať priemernú, či maximálnu hodnotu miesto okamžitej. Okamžitá hodnota, ktorú to vizualizuje máva príznak súčet, avšak vizualizuje to jednu poslednú hodnotu bez prepočtov.

Ak chceme, aby Power BI načítal aktuálne údaje v tejto vizualizácii, môžeme kliknúť v horných záložkách na "Obnoviť" a následne Údaje v hornej časti. V prípade, že do Watmonitora v medzičase dorazili nové dáta od IoT senzorového uzla, uvidíme aktuálne dáta.

Cez možnosť "Publikovať" v záložkách môžete túto zostavu publikovať na cloud Power BI, kde existuje funkcia obnovy stránky a môžete tak dosiahnuť auto refresh každých 5 minút. Pre využitie cloudu potrebujete školské, alebo firemné konto (prípadne postačuje aj také, ktoré máte k webhostingu, kde je skrátka emailová adresa mimo tradičných - gmail.com a pod.). S osobným kontom sa nie je možné prihlásiť do cloudovej verzie a nebudete tak mať k dispozícii všetky možnosti, ktorými Power BI disponuje. Ak vám takáto funkcionalita postačuje, môžete s osobným kontom integráciu v tomto bode ukončiť.

Publikácia na cloude Power BI
Táto časť vyžaduje prihlásenie do cloudu Power BI. Pri kliknutí na možnosť Publikovať v rozhraní Power BI Desktop sa vám zobrazí dialógové okno s prihlásením do Microsoft konta. Zadáte email, heslo a prepojíte si všetky / iba túto aplikáciu s cloudom a nastavíte publikáciu na pracovný priestor. Existujúci Power BI projekt (zostava) vo formáte .pbix sa nahrá na cloud, o čom vás dialógové okno informuje.

Po prihlásení do cloudovej verzie v prehliadači môžete v záložkách vo vertikálnom menu prejsť na "Pracovné priestory" --> "Môj pracovný priestor", čo bolo v mojom prípade umiestnenie, kde som nahrával existujúcu zostavu z Power BI Desktop. Ak ste medzičasom projekt publikovali, uvidíte ho v tejto časti, nájdete tu zostavu a tiež sémantický model. Po rozkliknutí podľa názvu môžete vidieť identické dáta ako v prípade Desktop verzie.



V ďalšom kroku sa pokúsim dospieť k automatickej aktualizácii údajov, aby sme v zostave mali posledné dáta. Power BI má niekoľko možností ako nato, mnohé sú však limitované. V mojom pracovnom priestore si môžeme zobraziť nastavenia sémantického modelu kliknutím na 3 bodky.

Zvolíme možnosť "Nastavenia" a v časti Obnoviť si vieme nastaviť Dennú, alebo Týždennú obnovu. V prípade dennej obnovy je tu obmedzenie na maximálne nastavenie 8-ich časov. Teda prakticky synchronizácia dát bude možné iba každé 3 hodiny, pokiaľ chceme zachovať obnovu v 24 hodinovej perióde, prípadne môžeme dosiahnuť častejšiu obnovu, ak je týchto 8 časov zaradených v určitej časti dňa. Taktiež tu môžeme vybrať aj konkrétnu časovú zónu.

Táto možnosť je vhodná pre používateľov, ktorým postačuje orientačný prehľad výšky hladiny vody v studni / výšky sypkých materiálov v nádržiach, silách, ktorý bude dostupný v zostave Power BI. Väčšiu početnosť obnovy dát môžete získať inovovaním na vyššiu verziu balíka Power BI. Premium verzia umožňuje 48 obnovení za 24 hodín, čím získate obnovenie každých 30 minút.

Ak by sme chceli dosiahnuť častejšie obnovanie údajov, máme viacero možností ako nato, avšak budeme vytvárať novú zostavu. Môžeme využiť Power Automate ako nástroj rady Microsoft Power Platform, kde patrí aj Power BI (pre pull integráciu, teda bude vykonávať GET request na Watmonitor a následný POST request na Power BI), prípadne môžeme využiť aj cURL volanie z Watmonitora (pre push integráciu, teda bude vykonávať POST request na Power BI). Výsledný spôsob integrácie je identický, ktorý na strane Power BI predstavuje vytvorenie a nastavenie Streaming Datasetu.

V cloud Power BI využijeme môj pracovný priestor, zvolíme vytvorenie novej položky. Zvolíme si "Množina údajov streamovania". Zvolíme zdroj údajov API a následne si navolíme všetky JSON parametre (kľúče), ktoré chceme využiť a priradíme k nim aj dátový typ. Nakoľko vieme, ako vyzerá ukážkový JSON payload, je to jednoduché. Nemusíte zadávať všetky JSON parametre. Môžete použiť iba tie, ktoré chcete vizualizovať.



Po úspešnom vytvorení streamovanej množiny sa vám zobrazí URL adresa pre PUSH dát, teda tento URL použijete pre Watmonitor a cURL push dát, či v Power Automate.  V tejto časti nezabudnite zakliknúť aj "Analýzu historických údajov", inak neuvidíte možnosti, ktoré sa popisujú v ďalšom kroku ohľadom vytvorenia zostavy.

Po tomto kroku prejdeme na pracovný priestor, kde uvidíme sémantický model, ktorý sme si práve vytvorili. Po podržaní myši nad ikonou uvidíte aj jeho typ "množina údajov streamovania". Odošleme skúšobné dáta na endpoint a následne klikneme na 3 bodky pri zázname s touto množinou a klikneme na "Vytvoriť zostavu". Po otvorení uvidíme v pravej časti Údaje, kde je tabuľka RealTimeData, ktorá obsahuje dáta, ktoré sme poslali a vieme ich priradiť k jednotlivým prvom zostavy - grafy a pod. Z pohľadu limitov to bude fungovať dobre, keďže limit je 120 požiadaviek za hodinu, čo pri štandardnom volaní raz za 5 minút nepresiahnete, keďže využijete iba 10% tejto kapacity.

Ak by ste chceli vašu inštanciu Watmonitora integrovať napríklad s platformou ThingsBoard, či Ubidots pre vizualizáciu dát, či rozšírenú automatizáciu, môžete využiť predpripravené integrácie: 
https://github.com/martinius96/hladinomer-studna-scripty/tree/master/examples/Tools_Integrations/

Základná integrácia Watmonitora do Power BI z prvej časti, ktorá je nastavená na verejné inštanciu Watmonitora https://hladinomer.eu/json_output.php: 
https://github.com/martinius96/hladinomer-studna-scripty/blob/master/examples/Tools_Integrations/Power%20BI/powerbi.pbix

 



Prístupov 125
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
Integrácia Watmonitora do Power BI
[ 20.6.2026] (príspevkov 0)
PTUS 1 A1 vs PTUS 1 B2
[ 30.5.2026] (príspevkov 0)
Ako monitorovať hladinu vody v IBC konta...
[ 4.5.2026] (príspevkov 0)
MQTT-to-HTTPS router cez ThingsBoard
[ 5.4.2026] (príspevkov 0)
Zvuková analýza videa II. - benzín, LPG
[ 2.4.2026] (príspevkov 0)
AR Watmonitor s triggerom cez NFC / RFID...
[ 31.3.2026] (príspevkov 0)
Zvuková analýza videa - 101 vs 95 oktán ...
[ 11.3.2026] (príspevkov 0)
Watmonitor LiTe - open-source do vrecka
[ 9.2.2026] (príspevkov 0)
TTN LoRaWAN brána / LoRaWAN node za 8€
[ 31.1.2026] (príspevkov 0)
Zväčšenie fotografie = strata kvality?
[ 25.12.2025] (príspevkov 0)