Valitettavasti selaimesi ei tue JavaScriptiä!
Kirjaudu sisään

Docker MQTT -energianseuranta: IAMMETER-Dockerin edistynyt määritys

Docker MQTT -energianseuranta ja edistynyt määritys

Kun IAMMETER-Docker-palvelimen perusasennus on käynnissä, se voidaan laajentaa paikalliseksi MQTT-energianseurantapalvelimeksi, käyttää MySQL:ää suurempia tietomääriä varten, välittää aurinkodataa PVOutputiin ja vastaanottaa yhteensopivien kolmannen osapuolen mittauslaitteiden dataa.

Tämä opas käsittelee edistyneitä datapolkuja ja tallennusvaihtoehtoja. Asennuksesta, pysyvistä taltioista, ensimmäisestä kirjautumisesta, mittarin määrityksestä, varmuuskopioinnista ja säiliön päivityksistä löydät ohjeet aloitusoppaasta Itse isännöity energianseuranta Dockerilla.

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

Käytä vain niitä rajapintoja, joita projektisi tarvitsee. Yksinkertainen paikallinen seuranta-asennus ei tarvitse MySQL:ää, ulkoisia MQTT-asiakkaita eikä datan välitystä.

1. Ennen edistyneiden ominaisuuksien käyttöönottoa

Varmista, että perusasennus on vakaa:

  • IAMMETER-Docker-säiliö on käynnissä;
  • /app/data on liitetty pysyvään tallennustilaan;
  • Docker-isäntäkoneella on vakaa lähiverkon (LAN) osoite;
  • sivuston aikavyöhyke on oikein;
  • vähintään yksi mittari tai testidatalähde toimii;
  • oletussalasanat on vaihdettu;
  • ajantasainen varmuuskopio on olemassa.

Oletuskäyttöönotto avaa seuraavat portit:

  • 5050 verkkosovellusta ja API:a varten;
  • 1883 MQTT:tä varten.

Älä julkaise kumpaakaan porttia suoraan Internetiin. Käytä palomuuria, VPN:ää tai muuta hallittua käyttöoikeuskerrosta, kun etäkäyttö on tarpeen.

2. Valitse SQLite tai MySQL

IAMMETER-Docker käyttää SQLiteä yksinkertaisessa oletuskäyttöönotossa ja tukee MySQL:ää asennuksissa, joissa on suurempi tietomäärä.

Tietokanta Sopii parhaiten Edut Huomioitavaa
SQLite Koti-, testi- ja pienemmät paikalliset asennukset Ei erillistä tietokantapalvelua; helppo alkuasetus Tietokanta pysyy sidottuna sovelluksen taltioon
MySQL Suuremmat tai pidempään käynnissä olevat asennukset Erillinen tietokantapalvelu ja parempi soveltuvuus kasvaville tietomäärille Vaatii tietokannan käyttöönoton, tunnukset, varmuuskopioinnin ja ylläpidon

Älä siirry MySQL:ään vain siksi, että se on saatavilla. Käytä sitä, kun odotettu datamäärä, säilytysaika tai tietokannan hallintavaatimukset oikeuttavat lisäpalvelun.

2.1 Valmistele MySQL ensin

Ennen kuin valitset MySQL:n IAMMETER-Dockerissa:

  1. ota käyttöön tavoitettavissa oleva MySQL-palvelin;
  2. luo erillinen tietokanta ja käyttäjä;
  3. rajaa käyttäjä vain tarvittavaan tietokantaan;
  4. varmista verkkoyhteys IAMMETER-Docker-säiliöstä;
  5. määritä säännölliset tietokannan varmuuskopiot;
  6. tallenna tietokannan isäntä, portti, nimi ja tunnukset turvallisesti.

Syötä sitten MySQL-yhteysasetukset IAMMETER-Dockeriin ja varmista, että uudet mittaukset tallentuvat.

MySQL:n määritys IAMMETER-Dockerissa

Varmuuskopioi olemassa olevat IAMMETER-Docker-tiedot ennen tietokantatilan vaihtamista. Varmista muutoksen jälkeen historiatiedot ja uudet lähetykset.

3. IAMMETER-Dockerin käyttö MQTT-energianseurantapalvelimena

IAMMETER-Docker sisältää MQTT-tuen kahteen eri suuntaan:

  1. Julkaisu IAMMETER-Dockeriin: mittari tai yhteensopiva sovellus lähettää mittaukset Docker-palvelimelle.
  2. Tilaus IAMMETER-Dockerista: Node-RED, oma palvelu tai muu MQTT-asiakas vastaanottaa reaaliaikaiset mittaukset palvelimelta.

Nämä polut käyttävät samaa aiherakennetta mutta erilaisia todennustapoja.

3.1 MQTT-topic

Dokumentoitu reaaliaikainen topic on:

device/<SN>/realtime

Korvaa <SN> IAMMETER-Dockeriin rekisteröidyllä sarjanumerolla. MQTT-topicin ja asiakasmäärityksen SN:n on vastattava paikalliseen alustaan luotua mittaria.

3.2 Energiadatan julkaiseminen IAMMETER-Dockeriin

Julkaisevalle laitteelle tai sovellukselle:

Asetus Arvo
Broker IAMMETER-Docker-palvelimen IP-osoite tai isäntänimi
Portti 1883 oletuksena
Todennus Asiakastunnus (Client ID)
Asiakastunnus IAMMETER-Dockeriin rekisteröity mittarin SN
Topic device/<SN>/realtime
Hyötykuorma IAMMETERin tukema lähetysmuoto

Energiadatan julkaiseminen IAMMETER-Dockeriin MQTT:n kautta

Ennen tuotantodatan käyttöä:

  1. rekisteröi SN IAMMETER-Dockeriin;
  2. julkaise yksi testihyötykuorma;
  3. tarkista jännite-, virta-, teho- ja energiakentät;
  4. varmista vaihe- tai kanavamäärä;
  5. tarkista yksiköt ja pätötehon suunta;
  6. ota vasta sitten jatkuva julkaisu käyttöön.

3.3 Reaaliaikaisen energiadatan tilaaminen

MQTT-tilaajalle:

Asetus Arvo
Broker IAMMETER-Docker-palvelimen osoite
Portti 1883 oletuksena
Todennus IAMMETER-Dockerin käyttäjänimi ja salasana
Topic device/<SN>/realtime

IAMMETER-Dockerin reaaliaikaisen datan tilaaminen

Tyypillisiä tilaajia ovat:

  • Node-RED-automaatiovuot;
  • paikallinen datankäsittelypalvelu;
  • MQTT-vianmääritysasiakas;
  • yhdyskäytävä, joka välittää valittuja mittauksia;
  • oma kojelauta tai hälytyspalvelu.

Jos Node-RED on ensisijainen sovellus eikä historiatallennusta IAMMETER-Dockerissa tarvita, mittari voi myös muodostaa yhteyden suoraan Node-REDiin MQTT:n, Modbus TCP:n tai paikallisen API:n kautta. Vertaile vaihtoehtoja Node-RED-energiamittari-oppaassa.

4. MQTT:n testaaminen ja vianmääritys

Aloita yhdellä mittarilla ja täsmällisellä topicilla laajan yleismerkki-tilauksen sijaan.

Tarkista seuraavat asiat, kun dataa ei näy:

  • portti 1883 on välitetty säiliöstä;
  • asiakas yltää Docker-isäntään lähiverkon yli;
  • SN on olemassa IAMMETER-Dockerissa;
  • MQTT-asiakastunnus ja topic käyttävät samaa SN:ää;
  • topic on device/<SN>/realtime oikealla kirjainkoolla;
  • julkaisun ja tilauksen todennustapoja ei sekoiteta;
  • JSON-hyötykuorma vastaa tuettua kenttäjärjestystä ja yksiköitä;
  • toinen MQTT-asiakas ei katkaise istuntoa käyttämällä samaa asiakastunnusta.

Luotettavia toimintatapoja varten:

  • käytä jokaista tilaajaa varten yksilöllistä asiakastunnusta;
  • käsittele uudelleenyhteydet ja päällekkäiset viestit;
  • validoi hyötykuorma ennen sen kirjoittamista tietokantaan;
  • tallenna lähde-SN jokaisen mittauksen yhteyteen;
  • käytä verkon eristystä sen sijaan, että altistaisit salaamattoman MQTT-portin julkisesti.

5. Aurinkodatan välittäminen PVOutputiin

PVOutput on kolmannen osapuolen palvelu aurinkotuotannon ja energiankulutustietojen jakamiseen ja vertailuun. IAMMETER-Docker voi välittää sivuston dataa PVOutputiin.

Käytä tätä vaihtoehtoa, kun IAMMETER-Docker pysyy paikallisena keräyspalvelimena mutta PVOutput vaaditaan julkiseen tai ulkoiseen aurinkoenergiaraportointiin.

Ennen välityksen käyttöönottoa:

  1. luo tai valitse oikea PVOutput-järjestelmä;
  2. hanki tarvittavat PVOutput-tunnukset;
  3. varmista, että Grid- ja Inverter-kanavat on määritetty oikein IAMMETER-Dockerissa;
  4. tarkista sivuston aikavyöhyke;
  5. ota välitys käyttöön vain aiottua sivustoa varten;
  6. vertaa päiväsummaa molemmissa järjestelmissä ensimmäisen täyden päivän jälkeen.

IAMMETER-Dockerin aurinkodatan välittäminen PVOutputiin

PVOutput-välitys edellyttää Internet-yhteyttä Docker-isännästä. Se on erillinen paikallisesta seurannasta: tilapäinen PVOutput-yhteyskatkos ei saa estää mittaria jatkamasta lähetyksiä paikalliselle palvelimelle.

6. Datan vastaanottaminen yhteensopivasta Tasmota-laitteesta

IAMMETER-Docker sisältää dokumentoidun MQTT-työnkulun mittauskykyiselle laitteelle, jossa on Tasmota. Alkuperäinen esimerkki käytti Sonoff POW R2 -laitetta.

Tämä on yhteensopivuuspolku tuetuille energian hyötykuormille, ei väite siitä, että jokainen Tasmota-laite tai -malli tuottaisi saman mittausrakenteen. Testaa todellinen laite ja laiteohjelmisto ennen käyttöönottoa.

Käytä seuraavaa Tasmota-MQTT-rakennetta:

Asetus Arvo
Isäntä IAMMETER-Dockerin IP-osoite
Portti IAMMETER-Dockerin MQTT-portti, normaalisti 1883
Asiakas IAMMETER-Dockeriin rekisteröity SN
Käyttäjä Jätä tyhjäksi tässä dokumentoidussa julkaisutyönkulussa
Salasana Jätä tyhjäksi tässä dokumentoidussa julkaisutyönkulussa
Topic IAMMETER-Dockeriin rekisteröity SN
Koko topic device/%topic%/%prefix%/

Yhteensopivan Tasmota-mittarin määritys IAMMETER-Dockerille

Tarkista määrityksen jälkeen jokainen raportoitu arvo IAMMETER-Dockerissa, mukaan lukien jännite, virta, pätöteho, energia ja tehokerroin, kun laite tukee niitä.

Tasmotan sähködata IAMMETER-Dockerissa

7. IAMMETER-Dockerin REST API:n käyttö

IAMMETER-Docker tarjoaa interaktiivisen API-dokumentaation paikallisella palvelimella:

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

REST API:aa voidaan käyttää:

  • tuettujen mittausten lähettämiseen omasta yhdyskäytävästä;
  • datan kyselyyn yksityistä kojelautaa varten;
  • paikallisen sovelluksen yhdistämiseen itse isännöityyn palvelimeen;
  • hyötykuormien testaamiseen ennen integraation automatisoimista.

Pidä API-käyttö luotetussa verkossa. Jos ulkoisen järjestelmän on muodostettava etäyhteys, aseta palvelu asianmukaisen suojatun käyttöoikeuskerroksen taakse sen sijaan, että altistaisit sovellusportin suojaamatta.

Kehittäjille, jotka rakentavat täyden vastaanottimen tai oman alustan IAMMETER-Dockerin sijaan, katso Oman energianseurantajärjestelmän kehittäminen.

8. Paikallisen tallennuksen ja pilvipalveluiden yhdistäminen

Itse isännöinti ei tarkoita, että kaikki ulkoiset palvelut olisi poistettava käytöstä. IAMMETER-Docker voi toimia paikallisena pääjärjestelmänä, kun valittua dataa välitetään muualle.

Arkkitehtuuri Paikallinen data Internet-riippuvuus Sopii parhaiten
Vain paikallinen IAMMETER-Docker Ei vaadita käyttöönoton jälkeen Yksityisyys, offline-sivustot ja LAN-kojelaudat
Paikallinen + IAMMETER-Cloud IAMMETER-Docker ja IAMMETER-Cloud Vaaditaan välitystä varten Paikallinen kopio sekä IAMMETER-Cloud-raportit ja etäkäyttö
Paikallinen + PVOutput IAMMETER-Docker ja PVOutput Vaaditaan välitystä varten Aurinkoenergian käyttäjät, jotka käyttävät PVOutputia
Paikallinen + MQTT-tilaaja IAMMETER-Docker sekä tilaajan määrittämä tallennus Ei vaadita paikallisen tilaajan kanssa Node-RED, automaatio ja oma käsittely

Ota käyttöön vain ne kohteet, joilla on selkeä tarkoitus. Useammat kohteet tarkoittavat enemmän tunnuksia, verkkoriippuvuuksia ja vianmäärityspolkuja.

9. Edistyneen käyttöönoton tarkistuslista

  • Perustason IAMMETER-Docker-keräys on jo vakaa.
  • Pysyvän datan ja tietokannan varmuuskopiot on varmistettu.
  • MySQL:ää käytetään vain, kun sen operatiivinen lisäkuorma on perusteltua.
  • MQTT-portti 1883 on tavoitettavissa vain luotetuista verkoista.
  • Jokainen MQTT-asiakas käyttää asianmukaista ja yksilöllistä asiakastunnusta.
  • Mittarin SN, topic ja rekisteröity laite vastaavat toisiaan.
  • Hyötykuorman yksiköt, vaihemäärä ja tehon suunta on testattu.
  • PVOutput- tai pilvivälityksen häiriöt eivät keskeytä paikallista keräystä.
  • Tasmota-yhteensopivuus on vahvistettu todellisella laitteella ja laiteohjelmistolla.
  • Muutokset testataan yhdellä mittarilla ennen laajempaan käyttöönottoon soveltamista.

10. Versiohistoria ja vanhojen versioiden huomautukset

Yllä olevat kohdat kuvaavat tällä hetkellä dokumentoituja IAMMETER-Docker-työnkulkuja. Alkuperäinen sivu kirjoitettiin versioiden V1.8 ja V1.9 aikoihin; seuraava historia on säilytetty vanhempia asennuksia ylläpitäviä käyttäjiä varten.

V2.4

V2.3

  • Korjattu PVOutput-lähetysongelma.

V2.2

  • Lisätty lokit IAMMETER-Cloud-välityksen virheille.

V2.1

V1.9

  • Lisätty MySQL-tuki.
  • Lisätty mukautettu kuvavaihtoehto jokaiselle sijainnille (Place).

IAMMETER-Docker V1.9

V1.8

  • Lisätty MQTT-lähetys IAMMETER-Dockeriin.
  • Lisätty reaaliaikaisen datan MQTT-tilaus.
  • Lisätty suora PVOutput-välitys.
  • Lisätty dokumentoitu Tasmota/Sonoff-mittaus työnkulku.

11. Aiheeseen liittyvät resurssit

Päivitetty viimeksi: 17. heinäkuuta 2026.

Ylös