Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
Souhrn tématu
Projekt MyPower.cz prošel kompletní přepisem a modernizací vizualizace dat z Micrologu a MQTT zařízení. Nová verze využívá InfluxDB pro rychlé ukládání časových řad a Grafanu pro interaktivní grafy s možností vlastních výpočtů. Vývojář hledá dobrovolníky s Arduino Microlog nebo MQTT zařízeními k testování a ladění nového webového rozhraní, které je nyní otevřené a HW nezávislé.
-
lzahradil
- Site Admin
- Příspěvky: 1058
- Registrován: ned srp 12, 2012 1:18 am
- Reputace: 390
- Lokalita: blízko Plzně
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5840
- Kapacita baterie [kWh]: 28
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: CZ
Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
Solárníci,
protože mi sem tam někdo napíše dotaz ohledně projektu Microlog, rozhodl jsem se ho neposlat do záhuby, ale naopak ho oživit a rozšířit o nové funkce.
Původní serverová část, která přijímala data z Arduin / PHP micrologu apod., je už letitá. Psaná kdysi pro PHP 5 a na PHP 8 se jí nechce běžet ani po usilovném přemlouvání. Navíc ten starý kód brzdí další věci ve vývoji, které mám již dlouho připravené ale nejdou sem nasadit, protože je Microlog provázaný i s hlavní stránkou. Takže mi nezbylo nic jiného než to (trochu formou „reverzního inženýrství“
) napsat celé znovu od nuly.
Funkčně by to mělo dělat to, co má (zatím jsem testoval hlavně „PHP verzi“), ale rád bych ověřil i Arduino variantu, protože tu ji pár lidí pořád používá.
Hledám dobrovolníky na pomoc
Má někdo nadbytečné Arduino s LAN, do kterého by nahrál Microlog a nastavil ho tak, aby aspoň odesílalo data (klidně i prázdné hodnoty)? Potřebuju ověřit, že to korektně chodí i s touhle variantou, než to překlopím na původní adresu, aby se data ze stávajících elektráren posílala do nového rozhraní.
Kdo pouziva phpmicrolog knihovnu, tomu mohu poskytnout verzi, která bude zasílat data jak do původního tak do nového.
Když už jsem to přepisoval, udělal jsem to moderněji:
data se už necpou do MySQL (je to pomalé a zbytečně náročné),
grafy se už nepřipravují přes rrdtools (server zbytečně nerenderuje všechny obrázky pořád dokola i když se na ně nikdo nechce podívat),
jako časosběr je použitá TS databáze InfluxDB (na časové řady ideální a velmi rychlá),
jako tvůrce grafů se na pozadí skrze API rozhraní ukrývá Grafana – takže různé typy grafů, zoomování, filtrování podle času/datumu, atd.
A aby to nezůstalo jen u „openfvelog/Microlog“:
doplnil jsem možnost posílat data i přes MQTT – takže není problém sledovat zařízení typu Tasmota, ESPHome a další, případně přeposílat vybrané topicy třeba z lokálního Home Assistanta (pokud někdo chce sdílet data z elektrárny a nechce řešit přístup do své sítě),
a hlavně: grafy a hodnoty v grafech si může každý nastavovat sám, včetně výpočtových hodnot pro statistiky (ty ještě musím dodělat), přes webové rozhraní.
Testování:
Všechno už běží a prvním testerům jsem dal přístup schválně bez vysvětlování. Chci zjistit, jestli je to web rozhraní co jsem psal pro API dostatečně intuitivní, co je potřeba předělat / doladit / doplnit a co případně napsat do nápovědy. Pár věcí už jsem díky tomu odhalil.
Pokud máte Arduino Microlog, PHP Microlog, nebo jakékoliv MQTT zařízení a chtěli byste se zapojit jako testeři, ozvěte se do soukromé zprávy.
A jen pro info: pokud vás bude v první vlně hodně, mám právo si vybrat, koho do testování zařadím
(ať ty nápady, připomínky… nebo hejty zvládnu ukočírovat a ideálně hned odladit).
Veřejná část která jen zobrazuje je připravena "zatím" ve vývojové verzi zde (pro Frenkyho elektrárnu): https://grafy.mypower.cz/doubravicka/
Díky!
protože mi sem tam někdo napíše dotaz ohledně projektu Microlog, rozhodl jsem se ho neposlat do záhuby, ale naopak ho oživit a rozšířit o nové funkce.
Původní serverová část, která přijímala data z Arduin / PHP micrologu apod., je už letitá. Psaná kdysi pro PHP 5 a na PHP 8 se jí nechce běžet ani po usilovném přemlouvání. Navíc ten starý kód brzdí další věci ve vývoji, které mám již dlouho připravené ale nejdou sem nasadit, protože je Microlog provázaný i s hlavní stránkou. Takže mi nezbylo nic jiného než to (trochu formou „reverzního inženýrství“
Funkčně by to mělo dělat to, co má (zatím jsem testoval hlavně „PHP verzi“), ale rád bych ověřil i Arduino variantu, protože tu ji pár lidí pořád používá.
Hledám dobrovolníky na pomoc
Má někdo nadbytečné Arduino s LAN, do kterého by nahrál Microlog a nastavil ho tak, aby aspoň odesílalo data (klidně i prázdné hodnoty)? Potřebuju ověřit, že to korektně chodí i s touhle variantou, než to překlopím na původní adresu, aby se data ze stávajících elektráren posílala do nového rozhraní.
Kdo pouziva phpmicrolog knihovnu, tomu mohu poskytnout verzi, která bude zasílat data jak do původního tak do nového.
Když už jsem to přepisoval, udělal jsem to moderněji:
data se už necpou do MySQL (je to pomalé a zbytečně náročné),
grafy se už nepřipravují přes rrdtools (server zbytečně nerenderuje všechny obrázky pořád dokola i když se na ně nikdo nechce podívat),
jako časosběr je použitá TS databáze InfluxDB (na časové řady ideální a velmi rychlá),
jako tvůrce grafů se na pozadí skrze API rozhraní ukrývá Grafana – takže různé typy grafů, zoomování, filtrování podle času/datumu, atd.
A aby to nezůstalo jen u „openfvelog/Microlog“:
doplnil jsem možnost posílat data i přes MQTT – takže není problém sledovat zařízení typu Tasmota, ESPHome a další, případně přeposílat vybrané topicy třeba z lokálního Home Assistanta (pokud někdo chce sdílet data z elektrárny a nechce řešit přístup do své sítě),
a hlavně: grafy a hodnoty v grafech si může každý nastavovat sám, včetně výpočtových hodnot pro statistiky (ty ještě musím dodělat), přes webové rozhraní.
Testování:
Všechno už běží a prvním testerům jsem dal přístup schválně bez vysvětlování. Chci zjistit, jestli je to web rozhraní co jsem psal pro API dostatečně intuitivní, co je potřeba předělat / doladit / doplnit a co případně napsat do nápovědy. Pár věcí už jsem díky tomu odhalil.
Pokud máte Arduino Microlog, PHP Microlog, nebo jakékoliv MQTT zařízení a chtěli byste se zapojit jako testeři, ozvěte se do soukromé zprávy.
A jen pro info: pokud vás bude v první vlně hodně, mám právo si vybrat, koho do testování zařadím
Veřejná část která jen zobrazuje je připravena "zatím" ve vývojové verzi zde (pro Frenkyho elektrárnu): https://grafy.mypower.cz/doubravicka/
Díky!
FVE 5,84kWp [Axpert 5048MK - LiFePO4 580Ah@48V (zatím) | 3x Axpert MSXE 2400W - NiCd 800Ah@24V]
-
lzahradil
- Site Admin
- Příspěvky: 1058
- Registrován: ned srp 12, 2012 1:18 am
- Reputace: 390
- Lokalita: blízko Plzně
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5840
- Kapacita baterie [kWh]: 28
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: CZ
Re: Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
A další tester to zvládl komplet naklikat sám a viditelně ten základ funguje.
FVE 5,84kWp [Axpert 5048MK - LiFePO4 580Ah@48V (zatím) | 3x Axpert MSXE 2400W - NiCd 800Ah@24V]
- TomHC
- Příspěvky: 3652
- Registrován: pát lis 11, 2022 8:14 am
- Reputace: 791
- Lokalita: Hlohovec, SR
- Systémové napětí: 48V
- Výkon panelů [Wp]: 8820
- Kapacita baterie [kWh]: 30
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Hlohovec, SR
Re: Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
Chýba mi v tom GUI možnosť ukázať connection detaily pre mqtt neskôr ako ihneď po vytvorení.
Ešte musím prísť na to, ako budem posielať dáta cez MQTT. Asi cez mqtt klienta na db serveri...
Ešte musím prísť na to, ako budem posielať dáta cez MQTT. Asi cez mqtt klienta na db serveri...
2x MUST PH1800 5.5kW, 9kWp V+J+Z, 600 Ah LiFePO4 s BMS JBD 200A, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
-
Mex
- Příspěvky: 1850
- Registrován: pát zář 29, 2023 4:12 am
- Reputace: 341
- Lokalita: Brno
- Systémové napětí: >48V
Re: Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
Sorry, jestli se ptám blbě a přehlídl jsem to.
Ale nevidím nikde specifikaci, jak má fungovat interface přes MQTT.
Je k tomu někde nějaký popis, případně příklad?
Cesta přes otevřené MQTT mně připadá perspektivnější, protože je HW i systémově nezávislá.
A je možné snadno fungování ladit a ověřit univerzálními nezávislými nástroji.
Díky.
Ale nevidím nikde specifikaci, jak má fungovat interface přes MQTT.
Je k tomu někde nějaký popis, případně příklad?
Cesta přes otevřené MQTT mně připadá perspektivnější, protože je HW i systémově nezávislá.
A je možné snadno fungování ladit a ověřit univerzálními nezávislými nástroji.
Díky.
-
lzahradil
- Site Admin
- Příspěvky: 1058
- Registrován: ned srp 12, 2012 1:18 am
- Reputace: 390
- Lokalita: blízko Plzně
- Systémové napětí: 48V
- Výkon panelů [Wp]: 5840
- Kapacita baterie [kWh]: 28
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: CZ
Re: Vizualizace dat na MyPower.cz - Microlog, MQTT - Nová verze - testování
MQTT část je koncipovaná jako otevřená a HW-nezávislá.
Data odesíláš na MQTT broker buď v JSON formátu (ten je doporučovaný, protože umožňuje odeslat více hodnot v rámci jednoho časového intervalu), nebo jako samostatné topicy.
Rozhraní data rozebere na jednotlivé metriky, které si pak přiřadíš do grafů nebo s nimi dále pracuješ.
Nad metrikami je možné vytvářet i virtuální výpočtové metriky. Pokud ti tedy chodí například napětí a proud, můžeš si vytvořit metriku „výkon“, definovat vztah U * I a navázat ji na příslušné vstupní metriky.
Příklad JSON varianty:
nebo jednotlivé topicy:
<device_id> je libovolný identifikátor zařízení (např. axpert, teplomer_obyvak apod.).
Dokumentace teprve vznikne až bude rozhraní doladěné. Zatím je stále ve vývoji a některé věci se ještě mohou měnit na základě zkušeností z testování.
Až se to ustálí, sepíšu kompletní specifikaci (topic strukturu, doporučené formáty, příklady použití atd.). Ale základ je již teď přímo v GUI.
Snad jsem tě s odpovědí uspokojil
Data odesíláš na MQTT broker buď v JSON formátu (ten je doporučovaný, protože umožňuje odeslat více hodnot v rámci jednoho časového intervalu), nebo jako samostatné topicy.
Rozhraní data rozebere na jednotlivé metriky, které si pak přiřadíš do grafů nebo s nimi dále pracuješ.
Nad metrikami je možné vytvářet i virtuální výpočtové metriky. Pokud ti tedy chodí například napětí a proud, můžeš si vytvořit metriku „výkon“, definovat vztah U * I a navázat ji na příslušné vstupní metriky.
Příklad JSON varianty:
Kód: Vybrat vše
topic: u/u1/<device_id>/metrics
payload:
{
"voltage": 52.4,
"current": 18.2,
"power": 945
}Kód: Vybrat vše
u/u1/<device_id>/voltage
u/u1/<device_id>/current
u/u1/<device_id>/powerDokumentace teprve vznikne až bude rozhraní doladěné. Zatím je stále ve vývoji a některé věci se ještě mohou měnit na základě zkušeností z testování.
Až se to ustálí, sepíšu kompletní specifikaci (topic strukturu, doporučené formáty, příklady použití atd.). Ale základ je již teď přímo v GUI.
Snad jsem tě s odpovědí uspokojil
FVE 5,84kWp [Axpert 5048MK - LiFePO4 580Ah@48V (zatím) | 3x Axpert MSXE 2400W - NiCd 800Ah@24V]
-
Mex
- Příspěvky: 1850
- Registrován: pát zář 29, 2023 4:12 am
- Reputace: 341
- Lokalita: Brno
- Systémové napětí: >48V
Kdo je online
Uživatelé prohlížející si toto fórum: Claudebot [Bot] a 1 host
