Oprostite, vaš brskalnik ne podpira JavaScripta!
Prijava

MQTT nadzor porabe energije z Dockerjem: napredna nastavitev IAMMETER-Docker

MQTT nadzor porabe energije z Dockerjem in napredna konfiguracija

Ko osnovni strežnik IAMMETER-Docker že deluje, ga lahko razširite v lokalni MQTT strežnik za nadzor porabe energije, uporabite MySQL za večje nabore podatkov, posredujete podatke o sončni energiji v PVOutput in sprejemate združljive meritve tretjih oseb.

Ta vodnik zajema napredne podatkovne poti in možnosti shranjevanja. Za namestitev, trajne nosilce podatkov (persistent volumes), prvo prijavo, nastavitev števca, varnostno kopiranje in nadgradnje vsebnikov začnite z Samostojno gostovan nadzor porabe energije z Dockerjem.

IAMMETER meter / compatible device / custom application
                         │
             ┌───────────┼───────────┐
             │           │           │
            HTTP        MQTT       REST API
             │           │           │
             └───────────┼───────────┘
                         ▼
                  IAMMETER-Docker
                         │
       ┌─────────────────┼─────────────────┐
       ▼                 ▼                 ▼
 SQLite / MySQL     MQTT subscribers     PVOutput

Uporabite samo vmesnike, ki jih projekt potrebuje. Preprosta lokalna namestitev za nadzor ne potrebuje MySQL, zunanjih MQTT odjemalcev ali posredovanja podatkov.

1. Preden omogočite napredne funkcije

Preverite, da je osnovna namestitev stabilna:

  • vsebnik IAMMETER-Docker deluje;
  • /app/data je preslikan na trajno shrambo;
  • gostitelj Dockerja ima stabilen naslov LAN;
  • časovni pas spletišča je pravilen;
  • deluje vsaj en števec ali testni vir podatkov;
  • privzeta gesla so bila spremenjena;
  • obstaja ažurna varnostna kopija.

Privzeta namestitev izpostavlja:

  • 5050 za spletno aplikacijo in API;
  • 1883 za MQTT.

Nobena od teh vrat ne sme biti objavljena neposredno na internet. Kadar je oddaljen dostop nujen, uporabite požarni zid, VPN ali drugo nadzorovano plast dostopa.

2. Izberite SQLite ali MySQL

IAMMETER-Docker uporablja SQLite za preprosto privzeto namestitev in podpira MySQL za namestitve z večjim naborom podatkov.

Podatkovna baza Najboljša za Prednosti Upoštevajte
SQLite Dom, test in manjše lokalne namestitve Ni ločene podatkovne storitve; preprosta začetna nastavitev Podatkovna baza ostane vezana na nosilec aplikacije
MySQL Večje ali dolgotrajnejše namestitve Ločena podatkovna storitev in boljša primernost za rastoče nabore podatkov Zahteva namestitev baze, poverilnice, varnostno kopiranje in vzdrževanje

Ne preklopite na MySQL samo zato, ker je na voljo. Uporabite ga, kadar pričakovana količina podatkov, obdobje hrambe ali zahteve za upravljanje baze upravičujejo dodatno storitev.

2.1 Najprej pripravite MySQL

Preden izberete MySQL v IAMMETER-Docker:

  1. namestite dosegljiv strežnik MySQL;
  2. ustvarite namensko podatkovno bazo in uporabnika;
  3. omejite uporabnika na zahtevano podatkovno bazo;
  4. preverite omrežni dostop iz vsebnika IAMMETER-Docker;
  5. nastavite redno varnostno kopiranje baze;
  6. varno zabeležite gostitelja baze, vrata, ime in poverilnice.

Nato vnesite nastavitve povezave MySQL v IAMMETER-Docker in potrdite, da se nove meritve shranjujejo.

Nastavitev MySQL v IAMMETER-Docker

Pred spremembo načina podatkovne baze varnostno kopirajte obstoječe podatke IAMMETER-Docker. Po spremembi preverite zgodovinske podatke in nove prenose.

3. Uporaba IAMMETER-Docker kot MQTT strežnika za nadzor porabe energije

IAMMETER-Docker vključuje podporo za MQTT v dveh različnih smereh:

  1. Objavljanje v IAMMETER-Docker: števec ali združljiva aplikacija pošilja meritve Docker strežniku.
  2. Naročanje pri IAMMETER-Docker: Node-RED, lastna storitev ali drug MQTT odjemalec prejema meritve v realnem času od strežnika.

Ti poti uporabljata enak vzorec teme, vendar različne načine overjanja.

3.1 MQTT tema

Dokumentirana tema v realnem času je:

device/<SN>/realtime

Zamenjajte <SN> s serijsko številko, registrirano v IAMMETER-Docker. SN v MQTT temi in konfiguraciji odjemalca se mora ujemati s števcem, ustvarjenim v lokalni platformi.

3.2 Objavljanje podatkov o energiji v IAMMETER-Docker

Za napravo ali aplikacijo, ki objavlja:

Nastavitev Vrednost
Broker Naslov IP ali ime gostitelja strežnika IAMMETER-Docker
Vrata privzeto 1883
Overjanje ID odjemalca
ID odjemalca SN števca, registriran v IAMMETER-Docker
Tema device/<SN>/realtime
Vsebina (payload) Format podatkov za nalaganje, ki ga podpira IAMMETER

Objavljanje podatkov o energiji v IAMMETER-Docker prek MQTT

Pred uporabo dejanskih podatkov:

  1. registrirajte SN v IAMMETER-Docker;
  2. objavite en testni payload;
  3. preverite polja napetosti, toka, moči in energije;
  4. potrdite število faz ali kanalov;
  5. preverite enote in smer delovne moči;
  6. šele nato omogočite neprekinjeno objavljanje.

3.3 Naročanje na podatke o energiji v realnem času

Za MQTT naročnika:

Nastavitev Vrednost
Broker Naslov strežnika IAMMETER-Docker
Vrata privzeto 1883
Overjanje Uporabniško ime in geslo IAMMETER-Docker
Tema device/<SN>/realtime

Naročanje na podatke IAMMETER-Docker v realnem času

Tipični naročniki vključujejo:

  • avtomatizacijske tokove Node-RED;
  • lokalno storitev za obdelavo podatkov;
  • MQTT odjemalec za odpravljanje napak;
  • prehod, ki posreduje izbrane meritve;
  • lastno nadzorno ploščo ali storitev za opozarjanje.

Če je Node-RED glavna aplikacija in zgodovinsko shranjevanje v IAMMETER-Docker ni potrebno, se lahko števec poveže z Node-RED neposredno prek MQTT, Modbus TCP ali svojega lokalnega API-ja. Primerjajte možnosti v vodniku za energetski števec Node-RED.

4. Testiranje in odpravljanje napak MQTT

Začnite z enim samim števcem in natančno temo, ne s širokim nadomestnim naročanjem (wildcard).

Ko se podatki ne prikažejo, preverite naslednje:

  • vrata 1883 so preslikana iz vsebnika;
  • odjemalec lahko doseže gostitelja Dockerja prek LAN;
  • SN obstaja v IAMMETER-Docker;
  • MQTT ID odjemalca in tema uporabljata isti SN;
  • tema je device/<SN>/realtime s pričakovano rabo velikih in malih črk;
  • načina overjanja za objavljanje in naročanje nista zamenjana;
  • JSON payload ustreza podprtemu vrstnemu redu polj in enotam;
  • drug MQTT odjemalec ne prekine seje z uporabo istega ID-ja odjemalca.

Za zanesljive tokove:

  • uporabite edinstven ID odjemalca za vsakega naročnika;
  • obravnavajte ponovne povezave in podvojena sporočila;
  • preverite payload, preden ga zapišete v podatkovno bazo;
  • z vsako shranjeno meritvijo zabeležite izvorni SN;
  • uporabite omrežno izolacijo, namesto da nešifrirana MQTT vrata javno izpostavite.

5. Posredovanje podatkov o sončni energiji v PVOutput

PVOutput je storitev tretje osebe za deljenje in primerjavo podatkov o proizvodnji sončne energije in porabi. IAMMETER-Docker lahko posreduje podatke o lokaciji (site) v PVOutput.

To možnost uporabite, kadar IAMMETER-Docker ostane lokalni zbirni strežnik, PVOutput pa je potreben za javno ali zunanje poročanje o sončni energiji.

Preden omogočite posredovanje:

  1. ustvarite ali izberite pravilen PVOutput sistem;
  2. pridobite potrebne PVOutput poverilnice;
  3. potrdite, da sta kanala Grid in Inverter v IAMMETER-Docker pravilno dodeljena;
  4. preverite časovni pas lokacije;
  5. omogočite posredovanje samo za predvideno lokacijo;
  6. po prvem celotnem dnevu primerjajte dnevno vsoto v obeh sistemih.

Posredovanje podatkov o sončni energiji iz IAMMETER-Docker v PVOutput

Posredovanje v PVOutput zahteva dostop do interneta z gostitelja Dockerja. Ločeno je od lokalnega nadzora: začasna napaka pri povezavi s PVOutput ne sme preprečiti števcu, da bi še naprej nalagal podatke na lokalni strežnik.

6. Sprejem podatkov iz združljive naprave Tasmota

IAMMETER-Docker vključuje dokumentiran MQTT potek dela za napravo z merilno zmogljivostjo, ki poganja Tasmota. Izvirni primer je uporabljal Sonoff POW R2.

To je pot združljivosti za podprte energetske vsebine, ne trditev, da vsaka naprava ali predloga Tasmota ustvarja enako strukturo meritev. Pred uvedbo preizkusite dejansko napravo in vdelano programsko opremo.

Uporabite naslednjo MQTT strukturo Tasmota:

Nastavitev Vrednost
Host Naslov IP IAMMETER-Docker
Vrata MQTT vrata IAMMETER-Docker, običajno 1883
Client SN, registriran v IAMMETER-Docker
User Pustite prazno za ta dokumentiran potek objavljanja
Password Pustite prazno za ta dokumentiran potek objavljanja
Topic SN, registriran v IAMMETER-Docker
Full Topic device/%topic%/%prefix%/

Nastavitev združljivega števca Tasmota za IAMMETER-Docker

Po konfiguraciji preverite vsako prijavljeno vrednost v IAMMETER-Docker, vključno z napetostjo, tokom, delovno močjo, energijo in faktorjem moči, kadar ga naprava podpira.

Podatki o elektriki Tasmota v IAMMETER-Docker

7. Uporaba REST API-ja IAMMETER-Docker

IAMMETER-Docker izpostavlja interaktivno dokumentacijo API-ja na lokalnem strežniku:

http://<docker-host-ip>:5050/docs

REST API lahko uporabite za:

  • nalaganje podprtih meritev iz lastnega prehoda;
  • poizvedovanje podatkov za zasebno nadzorno ploščo;
  • povezovanje lokalne aplikacije s samostojno gostovanim strežnikom;
  • testiranje payloadov pred avtomatizacijo integracije.

Dostop do API-ja ohranite v zaupanja vrednem omrežju. Če se mora zunanji sistem povezati na daljavo, postavite storitev za ustrezen varen dostopni sloj, namesto da vrata aplikacije izpostavite brez zaščite.

Za razvijalce, ki gradijo popoln sprejemnik ali lastno platformo namesto uporabe IAMMETER-Docker, glejte Razvijte svoj sistem za nadzor porabe energije.

8. Kombiniranje lokalne shrambe in oblačnih storitev

Samostojno gostovanje ne pomeni, da mora biti vsaka zunanja storitev onemogočena. IAMMETER-Docker je lahko lokalni sistem zapisov, medtem ko so izbrani podatki posredovani drugam.

Arhitektura Lokalni podatki Odvisnost od interneta Najboljša za
Samo lokalno IAMMETER-Docker Ni potrebna po namestitvi Zasebnost, lokacije brez povezave in LAN nadzorne plošče
Lokalno + IAMMETER-Cloud IAMMETER-Docker in IAMMETER-Cloud Potrebna za posredovanje Lokalna kopija ter poročila in oddaljeni dostop IAMMETER-Cloud
Lokalno + PVOutput IAMMETER-Docker in PVOutput Potrebna za posredovanje Uporabniki sončne energije, ki uporabljajo PVOutput
Lokalno + MQTT naročnik IAMMETER-Docker in shramba po izbiri naročnika Ni potrebna z lokalnim naročnikom Node-RED, avtomatizacija in lastna obdelava

Omogočite samo cilje, ki imajo jasen namen. Več ciljev pomeni več poverilnic, omrežnih odvisnosti in poti za odpravljanje napak.

9. Kontrolni seznam za napredno namestitev

  • Osnovno zbiranje IAMMETER-Docker je že stabilno.
  • Preverjeni so trajni podatki in varnostne kopije baze.
  • MySQL se uporablja le, kadar so operativni stroški upravičeni.
  • MQTT vrata 1883 so dosegljiva samo iz zaupanja vrednih omrežij.
  • Vsak MQTT odjemalec uporablja ustrezen in edinstven ID odjemalca.
  • SN števca, tema in registrirana naprava se ujemajo.
  • Enote payloada, število faz in smer moči so bili preizkušeni.
  • Napake pri posredovanju PVOutput ali v oblak ne prekinejo lokalnega zbiranja.
  • Združljivost Tasmota je potrjena z dejansko napravo in vdelano programsko opremo.
  • Spremembe so preizkušene na enem števcu, preden se uporabijo v večji namestitvi.

10. Zgodovina različic in opombe o starejših različicah

Zgornji razdelki opisujejo trenutno dokumentirane poteke dela IAMMETER-Docker. Izvirna stran je bila napisana okoli V1.8 in V1.9; naslednja zgodovina je ohranjena za uporabnike, ki vzdržujejo starejše namestitve.

V2.4

V2.3

  • Odpravljena težava pri nalaganju v PVOutput.

V2.2

  • Dodani dnevniki (logi) za napake pri posredovanju v IAMMETER-Cloud.

V2.1

V1.9

  • Dodana podpora za MySQL.
  • Dodana možnost po meri za sliko vsake lokacije (Place).

IAMMETER-Docker V1.9

V1.8

  • Dodano MQTT nalaganje v IAMMETER-Docker.
  • Dodano naročanje na podatke v realnem času prek MQTT.
  • Dodano neposredno posredovanje v PVOutput.
  • Dodan dokumentiran potek merjenja Tasmota/Sonoff.

11. Povezani viri

Nazadnje posodobljeno: 17. julij 2026.

Na vrh