Je nám líto, váš prohlížeč nepodporuje JavaScript!
Přihlásit se

Příjem dat z měřičů IAMMETER na vlastním serveru

Příjem dat z měřičů IAMMETER na vlastním serveru

Wi-Fi měřiče energie IAMMETER mohou odesílat naměřená data přímo na server, MQTT broker nebo datovou platformu spravovanou zákazníkem. Vývojáři a systémoví integrátoři si tak mohou postavit vlastní systém EMS, BMS, IoT službu, databázi nebo monitorovací dashboard, aniž by jako cíl dat museli používat IAMMETER-Cloud.

Tento průvodce přistupuje k integraci ze strany přijímacího serveru:

  • spustit testovací přijímač;
  • zachytit první datový blok (payload) z měřiče;
  • identifikovat měřič a měřicí kanály;
  • normalizovat a uložit data;
  • odhadnout objem příchozích dat;
  • připravit přijímač pro produkční nasazení.
IAMMETER meter
      │
      │ HTTP/HTTPS, MQTT/MQTTS or TCP/TLS
      ▼
Customer ingestion service
      │
      ├── Raw-payload log
      ├── Time-series or relational database
      ├── EMS / BMS / ERP
      └── Dashboard, report and alarm services

Informace o možnostech firmwaru měřiče a formátech adres najdete v Průvodci lokálním API a otevřeným rozhraním IAMMETER. Při volbě architektury viz Vývoj vlastního systému monitorování energie.

1. Volba architektury přijímače

Měřič může odesílat svá měření pomocí několika přenosových protokolů. Přijímací systém by si měl zvolit jeden primární způsob příjmu dat.

Transport Komponenta přijímače Vhodné pro
HTTP / HTTPS Webový koncový bod REST backendy a nejjednodušší první integraci
MQTT / MQTTS MQTT broker a odběratel Stávající IoT platformy a zprávové kanály
TCP / TLS Síťový posluchač (socket) Vyhrazené sběrače a služby s vlastním protokolem

HTTP je obvykle nejjednodušší způsob, jak prozkoumat první datový blok, protože oficiální testovací přijímač lze spustit pomocí malého příkladu v Node.js. MQTT je silnou volbou, pokud je broker již součástí systému. TCP/TLS poskytuje integraci na nižší úrovni přes socket, ale vyžaduje více práce na straně přijímače.

Bezpečné přenosové protokoly a formáty s vlastními porty jsou popsány v aktuálním průvodci firmwarem, a nejsou zde znovu opakovány.

2. Rychlý start: Příjem prvního datového bloku přes HTTP

IAMMETER poskytuje oficiální příklad HTTP přijímače v Node.js pro testování integrace.

2.1 Spuštění testovacího přijímače

Stáhněte si příklad z:

Spusťte:

node Server.js

Příklad naslouchá na portu 8000. Když přijde požadavek, provede následující:

  • shromáždí tělo HTTP požadavku;
  • vypíše URL požadavku;
  • vypíše nahrané tělo;
  • vrátí HTTP stav 200 s malou odpovědí JSON o úspěchu.

Příklad je záměrně minimalistický. Neposkytuje autentizaci, trvalé ukládání, validaci, omezování rychlosti ani produkční zabezpečení.

2.2 Zpřístupnění přijímače

Před konfigurací měřiče ověřte, že:

  • server naslouchá na očekávaném rozhraní a portu;
  • firewall povoluje připojení;
  • měřič dokáže přeložit název domény, pokud se doména používá;
  • funguje případná cesta přes NAT, reverzní proxy nebo VPN;
  • výsledná URL dosáhne zamýšlené aplikační trasy.

Pro test v rámci LAN mohou měřič a přijímač používat stejnou lokální síť bez přístupu k internetu. Pro vzdálený přijímač musí lokalita mít trasu k serveru.

2.3 Nastavení měřiče na přijímač

V aktuálním webovém rozhraní měřiče vyberte režim běhu HTTP a zadejte cíl, například:

{server-address}:8000/upload

Konfigurace přijímacího HTTP koncového bodu v aktuálním webovém rozhraní IAMMETER

Koncové body HTTPS mohou používat výchozí port nebo vlastní port. Aktuální pravidla pro adresy, včetně https://host:port, jsou popsána v části firmwaru HTTP/HTTPS.

Po uložení nastavení zkontrolujte v konzoli přijímače cestu požadavku a nahraný JSON. Tento první surový datový blok si ponechte jako testovací vzorek pro pozdější testy parseru a databáze.

3. Porozumění příchozím datům IAMMETER

IAMMETER používá u všech podporovaných přenosových protokolů konzistentní základní strukturu měření ve formátu JSON. Přenosový protokol mění způsob doručení datového bloku, ale model měření zůstává stejný.

Datový blok obvykle obsahuje pole na úrovni zařízení, například:

  • SN — sériové číslo měřiče používané k identifikaci zařízení;
  • version — verze firmwaru měřiče;
  • method — metoda zprávy nebo typ datového bloku;
  • Data nebo Datas — pole s měřeními.

Data se používá pro jeden měřicí kanál. Datas obsahuje více měřicích polí u vícekanálového nebo třífázového měřiče.

Příklad struktury jednokanálového měřiče:

{
  "method": "uploadsn",
  "mac": "B0F8932A295C",
  "version": "i.75.98.71y",
  "server": "em",
  "SN": "12345678",
  "Data": [228.91, 1.61, 225, 15066.47, 0]
}

Nepoužívejte pevně stanovený počet polí pro všechny měřiče. Počet kanálů a dostupných polí závisí na modelu měřiče a zapnutých funkcích měření.

Při implementaci parseru použijte závaznou definici:

3.1 Zpracování specifické pro daný model

Zpracování specifické pro daný model udržujte oddělené od přenosového přijímače.

Například měřiče WEM3046T a WEM3046TE měří sekundární výstup 5 A externího proudového transformátoru. Jejich hodnoty musí být přepočteny příslušným převodním poměrem CT, aby bylo získáno měření na primární straně. To je charakteristika měřiče a CT, nikoli rozdíl mezi HTTP, MQTT nebo TCP.

Praktické datové potrubí proto odděluje:

  1. dekódování přenosu;
  2. validaci JSON;
  3. identifikaci měřiče a kanálů;
  4. přepočet nebo normalizaci podle modelu;
  5. ukládání a obchodní výpočty.

4. Návrh datového modelu pro příjem dat

Ukládejte dostatek informací k tomu, aby bylo možné původní měření reprodukovat a diagnostikovat.

Užitečný minimální model zahrnuje:

Field Purpose
Meter SN Přiřazuje datový blok k registrovanému zařízení
Channel or phase index Rozlišuje jednofázová, rozdělená (split-phase) a třífázová data
Server receive time Poskytuje konzistentní časové razítko příjmu
Voltage Elektrické měření
Current Elektrické měření
Active power Vstup pro výpočet okamžitého odběru/dodávky nebo zátěže
Import kWh Kumulovaná přijatá energie
Export kWh Kumulovaná dodaná energie
Firmware version Podporuje řešení problémů a kompatibilitu parseru
Raw payload Umožňuje přehrání, audit a opravy parseru

Další pole, jako je frekvence, účiník a jalové veličiny, by měla být ukládána, pokud je vybraný model a konfigurace poskytují.

4.1 Uchovávejte surová a normalizovaná data odděleně

U produkčních systémů zvažte uchovávání:

  • neměnného nebo krátkodobě uchovávaného záznamu surových příchozích dat;
  • normalizovaných hodnot na úrovni kanálů používaných aplikací;
  • agregovaných hodinových, denních a měsíčních hodnot.

Díky tomu lze snáze opravit logiku parseru nebo převodního poměru CT, aniž by došlo ke ztrátě původního datového bloku.

4.2 S časem příjmu na serveru zacházejte opatrně

Zaznamenejte čas, kdy server datový blok přijal. Pokud obchodní systém používá také časové razítko zařízení nebo zdroje, ukládejte obě hodnoty zvlášť, nikoli místo jedné druhou.

Síťové zpoždění, opětovná připojení a zpracování ve frontě mohou způsobit, že se čas příjmu bude lišit od času měření. Před produkčním nasazením definujte, které časové razítko budou používat grafy, fakturace a alarmy.

5. Implementace dalších typů přijímačů

5.1 Přijímač MQTT nebo MQTTS

Pro příjem dat přes MQTT poskytuje systém zákazníka:

  • dostupný MQTT broker;
  • pravidla autentizace a řízení přístupu;
  • službu odběratele;
  • validaci a trvalé ukládání datových bloků;
  • sledování stavu brokera a odběratele.

IAMMETER publikuje data v reálném čase pod tématem zařízení, například:

device/{SN}/realtime

Pro konfiguraci brokera, přihlašovací údaje, témata a aspekty MQTTS použijte samostatného průvodce:

Funkce MQTT Discovery v Home Assistant není pro běžnou integraci mezi zákazníkem a serverem vyžadována.

5.2 Přijímač TCP

IAMMETER poskytuje minimální TCP posluchač v Node.js:

Příklad naslouchá na portu 8000 a vypisuje přijatá data. Produkční TCP přijímač musí navíc zajistit:

  • správu životního cyklu připojení;
  • ukládání do vyrovnávací paměti a validaci datových bloků;
  • bezpečné zpracování částečných nebo sloučených částí dat ze socketu;
  • identifikaci zařízení;
  • trvalé ukládání a zpracování chyb;
  • monitorování a řízené limity zdrojů.

Nepředpokládejte, že jedna událost data ze socketu vždy odpovídá jedné kompletní aplikační zprávě.

5.3 Přijímač TLS

Oficiální příklad TLS ukazuje posluchač TLS se serverovým klíčem a certifikátem:

Před produkčním nasazením nahraďte demonstrační certifikáty a nastavení schválenou konfigurací certifikátů, správy klíčů a zabezpečení vaší organizace. Přijímač by měl zaznamenávat selhání TLS odděleně od selhání validace datových bloků.

Formáty adres na straně měřiče pro TCP a TLS jsou popsány v průvodci rozhraním firmwaru.

6. Plánování intervalu nahrávání a kapacity serveru

Aktuální firmware podporuje interval nahrávání k třetí straně až 2 sekundy. Krátký interval je užitečný pouze tehdy, když přijímací systém, úložiště a aplikace potřebují vyšší rozlišení.

Přibližný počet záznamů vygenerovaných jedním měřičem:

Interval nahrávání Záznamů na měřič za den 100 měřičů za den 1 000 měřičů za den
60 sekund 1,440 144,000 1,440,000
10 sekund 8,640 864,000 8,640,000
2 sekundy 43,200 4,320,000 43,200,000

Tato čísla představují události nahrávání, nikoli nutně řádky databáze. Třífázový datový blok může být normalizován do několika záznamů kanálů a indexy, uchovávání surových dat nebo replikované úložiště zvyšují skutečný objem databáze.

Plánování kapacity by mělo zahrnovat:

  • špičkový počet souběžných připojení;
  • počet požadavků nebo zpráv za sekundu;
  • náklady na zpracování JSON;
  • násobení řádků na úrovni kanálů;
  • databázové indexy a uchovávání dat;
  • dashboardy a agregační dotazy;
  • logy, opakované pokusy a úložiště nepodařených zpráv (dead-letter);
  • provoz zálohování a replikace.

Pro řízení nebo automatizaci v rozsahu jedné sekundy v rámci stejné LAN zvažte Modbus TCP místo vzdáleného datového potrubí pro nahrávání.

7. Zajištění spolehlivosti a kvality dat

Produkční přijímač by měl počítat se selháními sítě i aplikace.

7.1 Validace každého datového bloku

Ověřujte minimálně:

  • syntaxi JSON;
  • povinná identifikační pole;
  • očekávanou strukturu polí;
  • číselné typy a rozumné rozsahy;
  • podporované mapování modelů nebo kanálů;
  • varianty polí závislé na firmwaru.

Poškozené datové bloky udržujte v řízené diagnostické cestě, aby nemohly blokovat platná zařízení.

7.2 Počítejte s duplicitními a chybějícími nahrávkami

Nepředpokládejte, že každý interval vytvoří přesně jeden trvale uložený záznam. Přerušení sítě, chování při opětovném připojení, opakované pokusy serveru nebo zpracování aplikací mohou způsobit chybějící nebo opakované události příjmu dat.

Definujte, jak bude obchodní systém:

  • detekovat duplicitní záznamy;
  • identifikovat mezery;
  • rozlišit tichý měřič od nefunkčního přijímače;
  • vyhnout se výpočtu energie slepým sčítáním kumulativních registrů kWh;
  • sladit kumulovanou energii po přerušení.

7.3 Sledujte celou datovou cestu

Sledujte více než jen webový proces nebo proces socketu. Užitečné signály zahrnují:

  • čas posledního datového bloku u každého měřiče;
  • počet neplatných datových bloků;
  • dobu odezvy přijímače a míru chyb;
  • aktivní připojení TCP/TLS;
  • zpoždění odběratele MQTT;
  • latenci zápisu do databáze;
  • hloubku fronty;
  • využití disku a úlohy uchovávání dat.

8. Zabezpečení přijímacího systému

Pro přijímač přístupný z internetu:

  • preferujte šifrovaný přenos podporovaný vaším nasazením;
  • pokud je to možné, omezte vystavené porty a síťové zdroje;
  • používejte autentizaci MQTT a autorizaci témat;
  • chraňte HTTP koncové body pomocí okolní síťové nebo aplikační bezpečnostní architektury;
  • bezpečně spravujte TLS certifikáty a soukromé klíče;
  • nezapisujte přihlašovací údaje ani kompletní citlivé datové bloky do aplikačních logů;
  • omezte rychlost a izolujte poškozený nebo zneužívající provoz;
  • udržujte operační systém, běhové prostředí a závislosti aktualizované.

Před výběrem bezpečnostního návrhu si projděte aktuální chování firmwaru pro MQTTS, TLS a HTTPS v průvodci firmwarem a otevřeným rozhraním.

9. Kontrolní seznam pro produkční nasazení

Měřič a síť

  • Verze firmwaru zaznamenána a ověřena
  • Sériové číslo měřiče (SN) přiřazeno ke správné lokalitě a kanálům
  • Cílová adresa a port ověřeny
  • Cesta přes DNS, firewall, NAT nebo VPN otestována
  • Požadovaný interval nahrávání potvrzen

Přijímač

  • Surový datový blok zachycen u každého modelu měřiče v rozsahu nasazení
  • Testy parseru vytvořeny z reálných datových vzorků
  • Zpracovány jednokanálové i vícekanálové datové bloky
  • Ověřeno zpracování převodního poměru CT u WEM3046T/E tam, kde je relevantní
  • Poškozené a nepodporované datové bloky bezpečně izolovány
  • Přijímač vrací nebo udržuje chování očekávané zvoleným přenosovým protokolem

Úložiště a provoz

  • Pravidla pro časová razítka zdokumentována
  • Pravidla pro duplicitní a chybějící data zdokumentována
  • Kapacita databáze vypočtena pro počet zařízení a interval
  • Povoleny logy, metriky a upozornění na poslední kontakt u každého měřiče
  • Otestováno uchovávání, zálohování a obnova
  • Zkontrolovány certifikáty, přihlašovací údaje a pravidla přístupu
  • Otestováno přerušení sítě a restart přijímače

10. Související dokumentace

11. Historické snímky konfigurace na straně měřiče

Původní verze tohoto dokumentu se zaměřovala na konfiguraci staršího firmwaru měřičů. Tyto snímky jsou zachovány pouze pro uživatele, kteří identifikují stávající instalaci. Pro nové integrace použijte aktuální webové rozhraní a nejnovější firmware.

Historická stránka TCP

Historická konfigurace TCP serveru IAMMETER

Historická stránka TLS

Historická konfigurace TLS serveru IAMMETER

Historická stránka HTTP/HTTPS

Historická konfigurace HTTP/HTTPS serveru IAMMETER

Starší dokumentace firmwaru také používala lokální konfigurační metodu /api/uploadinterval a uváděla minimum šest sekund. Aktuální firmware zobrazuje interval ve webovém rozhraní a podporuje zdokumentované minimum 2 sekundy.

Poslední aktualizace: 16. července 2026

Nahoru