- Liittynyt
- 30.10.2016
- Viestejä
- 2 012
Tässä artikkelissa kuvataan, miten Tasmota-firmwarella varustettujen laitteiden lähettämän tiedon voi tallentaa InfluxDB-tietokantaan, niin että historiatietoa pystyy seuraamaan graafisesti.
tasmota.github.io
nous.technology
Itselläni on Nous A8T-pistorasia-adaptereita, joissa on Tasmota-yhteensopiva firmware valmiina. Liitä laite ohjeen mukaan 2,4 GHz wlan-verkkoon, jonka jälkeen sen hallintasivulle pääsee selaimella. Laite saa ip-osoitteen dhcp:llä, niin sen selvittää kaikista helpoimmin oman palomuurin/reitittimen dhcp-listalta katsomalla. Toinen vaihtoehto on käyttää Windowsissa vaikka Angry IP Scanneria tai Advanced IP Scanneria. Linux-puolella voi skannata oman verkon läpi vaikka nmapilla komennolla nmap xx.xx.xx.0/24.
Kun olet löytänyt laitteen verkosta, aseta Configuration valikosta MQTT Message Brokerin (asennus jäljempänä) ip-osoite ja käytettävä portti (oletusportti 1883 on yleensä ok) sekä käyttäjätunnus ja salasana, jos niitä haluaa käyttää. Omassa sisäverkossa voi toki Message Brokeria ajaa ilman kirjautumisvaatimustakin.

Huomioi myös, että laite saattaa vaatia kalibrointia ohjeen mukaan
Kalibroinnin saanee tehtyä riittävällä tarkkuudella esim. vedenkeittimellä, lämpöpuhaltimella tai vaikkapa sähköautolla, jos ei ole minkäänlaista sähkömittaria kotona. Yleismittarin omistava voi myös mitata jännitteen pistorasiasta.
Ainakin näissä laitteissa laite lähettää MQTT-sanoman oletuksena 300 sekunnin välein. Muuta halutessasi laitteen Tools-valikon consolesta aikaa lyhyemmäksi komennolla TelePeriod *aika sekunneissa*. Itse asetin lähetysvälin minuuttiin komennolla TelePeriod 60
Ohje on tehty Debianilla, joten Rasbianilla, Ubuntulla ja muilla Debian-johdannaisilla asennus kaiketi menee samalla tavalla.
Asenna ensin Mosquitto MQTT Message Broker asentamalla paketit mosquitto ja mosquitto-clients.
Varmista tämän jälkeen komennolla sudo systemctl status mosquitto että Message Broker käynnistyi ja käynnistyy jatkossa bootissa. Loaded-rivillä pitää olla enabled ja Active rivillä active (running)
Muokkaa Mosquitton asetustiedostoa /etc/mosquitto/mosquitto.conf lisäämällä siihen "listener 1883" (käytettävä portti) ja "allow_anonymous true" sekä kommentoimalla rivi conf.d-kansion käyttö pois, koska sitä ei nyt tarvita.
Käynnistä tämän jälkeen Message Broker uusiksi komennolla sudo service mosquitto restart
Viestiliikennettä voi shellistä seurata komennolla mosquitto_sub -h localhost -t \# -d
Ylläolevalla komennolla shelliin kirjautuu kaikki viestiliikenne, joka Message Brokerille lähetetään. Seurannan ovi keskeyttää painamalla Ctrl+C
Jos asetit jo Message Broker-koneen ip-osoitteen Tasmota-laitteeseen, shellissä pitäisi nyt juosta esim. seuraavaa:
Viestiväli riippuu laitteeseen asetetusta lähetysvälistä.
Asenna tämän jälkeen paketit build-essential, git, ja curl joita voidaan tarvita. Asenna tämän jälkeen Node-RED komennolla
Are you really sure you want to do this ? [y/N] ? y
Would you like to install the Pi-specific nodes ? [y/N] ? n
Vastaa ensimmäiseen kysymykseen y ja jälkimmäiseen n, mikäli käytät jotakin muuta järjestelmää kuin Raspbian. En tosin tiedä, mitä nuo Pi-specific nodes olisivat.
Komennolla sudo service nodered status voit tarkastaa, onko palvelu käynnissä. Todennäköisesti ei ole, eikä myöskään aktivoituna, joten käynnistä palvelu ja aktivoi se komennoilla sudo systemctl enable nodered ja sudo systemctl start nodered, jolloin palvelu käynnistyy jatkossa bootissa.
Nyt Node-REDin käyttöliittymään pääsee selaimella kiinni palvelimen ip-osoitteella portilla 1880.
Asenna seuraavaksi InfluxDB asentamalla paketit influxdb ja influxdb-client. Käynnistä sen jälkeen InfluxDB-client komennolla influx ja luo Tasmota-laitetta varten tasmota-niminen tietokanta sekä käyttäjä tasmota salasanalla tasmota 2025# seuraavilla komennoilla
create database tasmota
use tasmota
create user tasmota with password 'tasmota2025#' with all privileges
grant all privileges on tasmota to tasmota
Poistu clientista komennolla exit
Asenna tämän jälkeen paketit apt-transport-https, software-properties-common ja wget joita voidaan tarvita Grananan asentamisessa.
Lisää tämän jälkeen Grafana-repositoryn GPG-avain ja itse repository komennoilla:
Aja sudo apt update ja asenna sen jälkeen paketti grafana. Käynnistä ja aktivoi tämän jälkeen Grafana komennoilla sudo systemctl start grafana-server ja sudo systemctl enable grafana-server. Grafanan käyttöliittymään pääsee tämän jälkeen selaimella portilla 3000. Oletustunnukset ovat admin/admin ja Grafana pyytää vaihtamaan salasanan ensimmäisellä kirjautumisella.
Tämän jälkeen luodaan Node-REDillä flow, joka ottaa vastaan MQTT-sanoman, muokkaa sen InfluxDB:n vaatimaan muotoon ja tallentaa InfluxDB-tietokantaan, josta tiedot voi visualisoida Grafanaan. Mqtt in ja Influxdb out -osien konffiin voi halutessaan katsoa ohjetta linkkilistan Youtubevideosta.
Avaa Node-RED-käyttöliittymä, valitse ensin oikean ylänurkan valikosta Manage Palette, Install ja asenna moduuli node-red-contrib-influxdb.
Vedä tämän jälkeen vasemman reunan nodevalikosta alustalle nodet mqtt in, function ja influxdb out
Konfiguroi ensin mqtt in -node. Tuplaklikkaa nodea, jolloin valikko aukeaa. Paina server-riviltä plus-nappia ja kirjoita avautuvaan valikkoon connection-kohtaan localhost tai ip-osoite, mikäli MQTT Message Broker on asennettu jollekin muulle koneelle. Katso että connect automatically on valittuna. Anna nimeksi esim. Tasmota MQTT in ja paina lopuksi add.
Nyt auki olevassa valikossa aseta ja name-kohtiin sen topicin polku, jolla haluttu laite tietonsa lähettää. Löydät topicin seuraamalla MQTT-viestiliikennettä shellillä aiemmin kerrotun ohjeen mukaan. Tässä tapauksessa topic on tele/tasmota_4AE9F4/SENSOR
Paina lopuksi Done ja sen jälkeen oikeasta yläkulmasta Deploy. Koska function ja influxdb out -nodeja ei ole vielä konfiguroitu, Node-RED huomauttaa niistä. Nyt mqtt in -noden alle pitäisi tulla vihreä neliö ja teksti connected merkiksi että yhteys Message Brokeriin toimii.
Tuplaklikkaa tämän jälkeen function 1 -nodea. On message -kohtaan on syötettävä koodi, jolla Node-RED muuttaa mqtt-viestin InfluxDB:n haluamaan muotoon. Tässä kannattaa tarvittaessa hyödyntää esim. ChatGPT:tä, jotta koodin saa oikein.
MQTT in-node syöttää Function-nodelle viestin, joka tämän ohjeen mukaisella laitteella on:
Tämä on muutettava niin, että viestistä poistetaan ulommat aaltosulkeet ja niiden sisällä oleva sisältö. Lopputuloksen on siis oltava:
Tämä tapahtuu syöttämällä function-nodeen seuraava koodi. Tyhjennä koodikenttä ensin kokonaan.
Kyseinen koodi siis ottaa muuttujaan "msg.payload tuon mqtt-viestin ja muuttaa sen sitten alla olevasti niin, että ulompien aaltosulkeiden sisältä se ottaa input.Time-komennolla kellonajan talteen ja tallentaa sen kenttään "Time". Muut tiedot se ottaa sisempien "ENERGY"-aaltosulkeiden sisältä komennolla input.ENERGY.*kenttä* ja tallentaa samalla nimellä. Lopputuloksena kaikki arvot ovat yksien aaltosulkeiden sisällä omissa kentissään, kuten InfluxDB vaatii. Paina tämän jälkeen Done ja yhdistä viivalla mqtt in ja function.
Vaihda ikkunan oikesta ylänurkasta näkyviin "debug all", jotta oikean reunan kaistaleeseen tulostuvat debut-tiedot. Listassa näkyy aiempia virheilmoituksia, koska Deploy-nappia on painettu ilman että kaikkia nodeja on konfiguroitu. Vedä tämän jälkeen alustalle debug-node ja yhdistä viivalla function-noden ulostuloon ja paina Deploy. Paina tämän jälkeen debug-noden oikeasta reunasta, jolloin tulee ilmoitus successfully activated tai deactivated, riippuen siitä, oliko debuggaus jo päällä.
Nyt ikkunan oikeaan reunaan pitäisi tulostua siististi mqtt-viestit käsiteltynä ja nuolesta painamalla voit avata ja katsoa, että arvot ovat rivittäin object-taulukon alla.
Laita seuraavaksi asetukset influxdb out -nodeen. Paina plus-napista Add new InfluxDB server ja syötä palvelimen osoite, tietokanta, käyttäjätunnus ja salasana sen mukaisesti, mitä ylempänä luotiin. Paina lopuksi add. Syötä auki olevaan ikkunaan Measurement-kenttään esim. tasmota_measurements, joka on sen tietueen nimi, jolla tiedot tallennetaan tietokantaan. Samaan tietokantaan voi siis tallentaa eri laitteiden tietoja. Paina lopuksi Done.
Tämän jälkeen voit poistaa debug-noden ja yhdistää function noden influxdb out -nodeen ja painaa Deploy. Nyt debug-ikkunaan ei pitäisi tulla enää lisää rivejä. Mikäli InfluxDB-noden asetuksissa olisi jokin pielessä tai function-noden syöttämä tieto ei kelpaisi InfluxDB:lle, debug-ikkunaan tulisi virheilmoituksia.

Avaa nyt shellissä InfluxDB Client ja kirjoita komennot:
use tasmota ja show measurements, jolloin näytölle pitäisi tulla name: tasmota_measurements. Komennolla select * from tasmota_measurements client-tulostaa ko. mittausten sisällön ja tuloksen pitäisi olla seuraavanlainen:
Tiedot tallentuvat siis oikein. Poistu komennolla exit.
Nyt voit lisätä InfluxDB-tietokannan Grafanaan. Mikäli ajat Grafanaa ja InfluxDB:tä samalla koneella, palvelimen osoite voi olla http://localhost:8086
Täytyä lisäksi tietokannan tiedot, eli Database tasmota, User tasmota ja salasana tasmota2025# ja paina Save % test, jolloin Grafanan pitäisi ilmoittaa "datasource is working. 1 measurements found.
Nyt voit lisätä uuden Dashboardin ja visualisoida mittauksen. Valitse Add visualization ja datasource InfluxDB. Itselläni tässä vaiheessa Grafana jostakin syystä ilmoittaa "InfluxDB returned error: error parsing query: found FROM, expected identifier, string, number, bool at line 1, char 9" ja kun Group By -valinnan poistaa, sen jälkeen tulee ilmoitus invalid measurement. Kun FROM-riviltä select measurementsin alta tasmota virhe poistuu. Tämän jälkeen valitse Select-riviltä field (value) -valikosta haluttu mittausarvo niin paneeliin ilmestyy näkyviin käyrän alku, jossa näkyvät siihen asti tietokantaan tallentuneet tiedot. Lopuksi voit kustomoida paneelin haluamallasi tavalla.

Sivut, joita tämän ohjeen kasaamiseen on käytetty:
shape.host
diyusthad.com
simonhearne.com
grafana.com
ChatGPT:llä pyörittelin pitkään tuota Node-REDissä tehtävää konversiota, ennenkuin ymmärsin, miten se menee.
En ole koodari, niin termit voi olla mitä sattuu. Korjaillaan jos ohjeessa on virheitä. Täytyy ehkä jossain välissä myös mielenkiinnosta harjoitella, miten tämä onnistuu Telegrafilla Node-REDin sijaan.
Katso myös vastaavanlainen opas lämpötilojen loggaamista koskien
Tasmota Documentation - Tasmota
Open source firmware for ESP devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, serial or KNX.
Nous A8T WiFi Smart Socket with Tasmota 10A with Power monitoring - Nous technology
Where to buy Nous A8T WiFi Smart Socket with Tasmota ESP32 10A with Power monitoring ⚡ A reliable and high-quality product for a comfortable life TM NOUS

Kun olet löytänyt laitteen verkosta, aseta Configuration valikosta MQTT Message Brokerin (asennus jäljempänä) ip-osoite ja käytettävä portti (oletusportti 1883 on yleensä ok) sekä käyttäjätunnus ja salasana, jos niitä haluaa käyttää. Omassa sisäverkossa voi toki Message Brokeria ajaa ilman kirjautumisvaatimustakin.

Huomioi myös, että laite saattaa vaatia kalibrointia ohjeen mukaan
Ainakin näissä laitteissa laite lähettää MQTT-sanoman oletuksena 300 sekunnin välein. Muuta halutessasi laitteen Tools-valikon consolesta aikaa lyhyemmäksi komennolla TelePeriod *aika sekunneissa*. Itse asetin lähetysvälin minuuttiin komennolla TelePeriod 60
Ohje on tehty Debianilla, joten Rasbianilla, Ubuntulla ja muilla Debian-johdannaisilla asennus kaiketi menee samalla tavalla.
Asenna ensin Mosquitto MQTT Message Broker asentamalla paketit mosquitto ja mosquitto-clients.
Varmista tämän jälkeen komennolla sudo systemctl status mosquitto että Message Broker käynnistyi ja käynnistyy jatkossa bootissa. Loaded-rivillä pitää olla enabled ja Active rivillä active (running)
Muokkaa Mosquitton asetustiedostoa /etc/mosquitto/mosquitto.conf lisäämällä siihen "listener 1883" (käytettävä portti) ja "allow_anonymous true" sekä kommentoimalla rivi conf.d-kansion käyttö pois, koska sitä ei nyt tarvita.
Koodi:
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
#include_dir /etc/mosquitto/conf.d
listener 1883
allow_anonymous true
Viestiliikennettä voi shellistä seurata komennolla mosquitto_sub -h localhost -t \# -d
Ylläolevalla komennolla shelliin kirjautuu kaikki viestiliikenne, joka Message Brokerille lähetetään. Seurannan ovi keskeyttää painamalla Ctrl+C
Jos asetit jo Message Broker-koneen ip-osoitteen Tasmota-laitteeseen, shellissä pitäisi nyt juosta esim. seuraavaa:
Koodi:
Client (null) sending PINGREQ
Client (null) received PINGRESP
Client (null) received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_4AE9F4/STATE', ... (336 bytes))
{"Time":"2025-07-18T14:01:28","Uptime":"0T00:01:08","UptimeSec":68,"Heap":141,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":20,"MqttCount":1,"Berry":{"HeapUsed":4,"Objects":46},"POWER":"ON","Wifi":{"AP":2,"SSId":"aurinko","BSSId":"18:D6:C7:61:88:23","Channel":11,"Mode":"HT40","RSSI":74,"Signal":-63,"LinkCount":1,"Downtime":"0T00:00:04"}}
Client (null) received PUBLISH (d0, q0, r0, m0, 'tele/tasmota_4AE9F4/SENSOR', ... (230 bytes))
{"Time":"2025-07-18T14:01:29","ENERGY":{"TotalStartTime":"2025-01-13T19:50:25","Total":2.084,"Yesterday":0.504,"Today":0.312,"Period":0,"Power":23,"ApparentPower":26,"ReactivePower":12,"Factor":0.89,"Voltage":234,"Current":0.109}}
Client (null) sending PINGREQ
Client (null) received PINGRESP
Asenna tämän jälkeen paketit build-essential, git, ja curl joita voidaan tarvita. Asenna tämän jälkeen Node-RED komennolla
Koodi:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Are you really sure you want to do this ? [y/N] ? y
Would you like to install the Pi-specific nodes ? [y/N] ? n
Vastaa ensimmäiseen kysymykseen y ja jälkimmäiseen n, mikäli käytät jotakin muuta järjestelmää kuin Raspbian. En tosin tiedä, mitä nuo Pi-specific nodes olisivat.
Komennolla sudo service nodered status voit tarkastaa, onko palvelu käynnissä. Todennäköisesti ei ole, eikä myöskään aktivoituna, joten käynnistä palvelu ja aktivoi se komennoilla sudo systemctl enable nodered ja sudo systemctl start nodered, jolloin palvelu käynnistyy jatkossa bootissa.
Nyt Node-REDin käyttöliittymään pääsee selaimella kiinni palvelimen ip-osoitteella portilla 1880.
Asenna seuraavaksi InfluxDB asentamalla paketit influxdb ja influxdb-client. Käynnistä sen jälkeen InfluxDB-client komennolla influx ja luo Tasmota-laitetta varten tasmota-niminen tietokanta sekä käyttäjä tasmota salasanalla tasmota 2025# seuraavilla komennoilla
create database tasmota
use tasmota
create user tasmota with password 'tasmota2025#' with all privileges
grant all privileges on tasmota to tasmota
Poistu clientista komennolla exit
Asenna tämän jälkeen paketit apt-transport-https, software-properties-common ja wget joita voidaan tarvita Grananan asentamisessa.
Lisää tämän jälkeen Grafana-repositoryn GPG-avain ja itse repository komennoilla:
Koodi:
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Aja sudo apt update ja asenna sen jälkeen paketti grafana. Käynnistä ja aktivoi tämän jälkeen Grafana komennoilla sudo systemctl start grafana-server ja sudo systemctl enable grafana-server. Grafanan käyttöliittymään pääsee tämän jälkeen selaimella portilla 3000. Oletustunnukset ovat admin/admin ja Grafana pyytää vaihtamaan salasanan ensimmäisellä kirjautumisella.
Tämän jälkeen luodaan Node-REDillä flow, joka ottaa vastaan MQTT-sanoman, muokkaa sen InfluxDB:n vaatimaan muotoon ja tallentaa InfluxDB-tietokantaan, josta tiedot voi visualisoida Grafanaan. Mqtt in ja Influxdb out -osien konffiin voi halutessaan katsoa ohjetta linkkilistan Youtubevideosta.
Avaa Node-RED-käyttöliittymä, valitse ensin oikean ylänurkan valikosta Manage Palette, Install ja asenna moduuli node-red-contrib-influxdb.
Vedä tämän jälkeen vasemman reunan nodevalikosta alustalle nodet mqtt in, function ja influxdb out
Konfiguroi ensin mqtt in -node. Tuplaklikkaa nodea, jolloin valikko aukeaa. Paina server-riviltä plus-nappia ja kirjoita avautuvaan valikkoon connection-kohtaan localhost tai ip-osoite, mikäli MQTT Message Broker on asennettu jollekin muulle koneelle. Katso että connect automatically on valittuna. Anna nimeksi esim. Tasmota MQTT in ja paina lopuksi add.
Nyt auki olevassa valikossa aseta ja name-kohtiin sen topicin polku, jolla haluttu laite tietonsa lähettää. Löydät topicin seuraamalla MQTT-viestiliikennettä shellillä aiemmin kerrotun ohjeen mukaan. Tässä tapauksessa topic on tele/tasmota_4AE9F4/SENSOR
Paina lopuksi Done ja sen jälkeen oikeasta yläkulmasta Deploy. Koska function ja influxdb out -nodeja ei ole vielä konfiguroitu, Node-RED huomauttaa niistä. Nyt mqtt in -noden alle pitäisi tulla vihreä neliö ja teksti connected merkiksi että yhteys Message Brokeriin toimii.
Tuplaklikkaa tämän jälkeen function 1 -nodea. On message -kohtaan on syötettävä koodi, jolla Node-RED muuttaa mqtt-viestin InfluxDB:n haluamaan muotoon. Tässä kannattaa tarvittaessa hyödyntää esim. ChatGPT:tä, jotta koodin saa oikein.
MQTT in-node syöttää Function-nodelle viestin, joka tämän ohjeen mukaisella laitteella on:
Koodi:
{"Time":"2025-07-18T14:01:29","ENERGY":{"TotalStartTime":"2025-01-13T19:50:25","Total":2.084,"Yesterday":0.504,"Today":0.312,"Period":0,"Power":23,"ApparentPower":26,"ReactivePower":12,"Factor":0.89,"Voltage":234,"Current":0.109}}
Tämä on muutettava niin, että viestistä poistetaan ulommat aaltosulkeet ja niiden sisällä oleva sisältö. Lopputuloksen on siis oltava:
Koodi:
{
"Time": "2025-07-17T15:27:10",
"TotalStartTime": "2025-01-13T19:50:25",
"Total": 1.568,
"Yesterday": 0.538,
"Today": 0.300,
"Period": 0,
"Power": 26,
"ApparentPower": 27,
"ReactivePower": 8,
"Factor": 0.95,
"Voltage": 229,
"Current": 0.118
}
Koodi:
let input = msg.payload;
msg.payload = {
Time: input.Time,
TotalStartTime: input.ENERGY.TotalStartTime,
Total: input.ENERGY.Total,
Yesterday: input.ENERGY.Yesterday,
Today: input.ENERGY.Today,
Period: input.ENERGY.Period,
Power: input.ENERGY.Power,
ApparentPower: input.ENERGY.ApparentPower,
ReactivePower: input.ENERGY.ReactivePower,
Factor: input.ENERGY.Factor,
Voltage: input.ENERGY.Voltage,
Current: input.ENERGY.Current
};
return msg;
Kyseinen koodi siis ottaa muuttujaan "msg.payload tuon mqtt-viestin ja muuttaa sen sitten alla olevasti niin, että ulompien aaltosulkeiden sisältä se ottaa input.Time-komennolla kellonajan talteen ja tallentaa sen kenttään "Time". Muut tiedot se ottaa sisempien "ENERGY"-aaltosulkeiden sisältä komennolla input.ENERGY.*kenttä* ja tallentaa samalla nimellä. Lopputuloksena kaikki arvot ovat yksien aaltosulkeiden sisällä omissa kentissään, kuten InfluxDB vaatii. Paina tämän jälkeen Done ja yhdistä viivalla mqtt in ja function.
Vaihda ikkunan oikesta ylänurkasta näkyviin "debug all", jotta oikean reunan kaistaleeseen tulostuvat debut-tiedot. Listassa näkyy aiempia virheilmoituksia, koska Deploy-nappia on painettu ilman että kaikkia nodeja on konfiguroitu. Vedä tämän jälkeen alustalle debug-node ja yhdistä viivalla function-noden ulostuloon ja paina Deploy. Paina tämän jälkeen debug-noden oikeasta reunasta, jolloin tulee ilmoitus successfully activated tai deactivated, riippuen siitä, oliko debuggaus jo päällä.
Nyt ikkunan oikeaan reunaan pitäisi tulostua siististi mqtt-viestit käsiteltynä ja nuolesta painamalla voit avata ja katsoa, että arvot ovat rivittäin object-taulukon alla.
Laita seuraavaksi asetukset influxdb out -nodeen. Paina plus-napista Add new InfluxDB server ja syötä palvelimen osoite, tietokanta, käyttäjätunnus ja salasana sen mukaisesti, mitä ylempänä luotiin. Paina lopuksi add. Syötä auki olevaan ikkunaan Measurement-kenttään esim. tasmota_measurements, joka on sen tietueen nimi, jolla tiedot tallennetaan tietokantaan. Samaan tietokantaan voi siis tallentaa eri laitteiden tietoja. Paina lopuksi Done.
Tämän jälkeen voit poistaa debug-noden ja yhdistää function noden influxdb out -nodeen ja painaa Deploy. Nyt debug-ikkunaan ei pitäisi tulla enää lisää rivejä. Mikäli InfluxDB-noden asetuksissa olisi jokin pielessä tai function-noden syöttämä tieto ei kelpaisi InfluxDB:lle, debug-ikkunaan tulisi virheilmoituksia.

Avaa nyt shellissä InfluxDB Client ja kirjoita komennot:
use tasmota ja show measurements, jolloin näytölle pitäisi tulla name: tasmota_measurements. Komennolla select * from tasmota_measurements client-tulostaa ko. mittausten sisällön ja tuloksen pitäisi olla seuraavanlainen:
Koodi:
name: tasmota_measurements
time ApparentPower Current Factor Period Power ReactivePower Time Today Total TotalStartTime Voltage Yesterday
---- ------------- ------- ------ ------ ----- ------------- ---- ----- ----- -------------- ------- ---------
1752853830183978439 26 0.109 0.88 0 22 12 2025-07-18T16:50:30 0.375 2.147 2025-01-13T19:50:25 234 0.504
1752853890179395477 25 0.108 0.9 0 23 11 2025-07-18T16:51:30 0.375 2.147 2025-01-13T19:50:25 233 0.504
1752853950173608297 25 0.108 0.89 0 22 11 2025-07-18T16:52:30 0.375 2.148 2025-01-13T19:50:25 233 0.504
1752854010181336823 25 0.108 0.89 0 22 12 2025-07-18T16:53:30 0.376 2.148 2025-01-13T19:50:25 233 0.504
Nyt voit lisätä InfluxDB-tietokannan Grafanaan. Mikäli ajat Grafanaa ja InfluxDB:tä samalla koneella, palvelimen osoite voi olla http://localhost:8086
Täytyä lisäksi tietokannan tiedot, eli Database tasmota, User tasmota ja salasana tasmota2025# ja paina Save % test, jolloin Grafanan pitäisi ilmoittaa "datasource is working. 1 measurements found.
Nyt voit lisätä uuden Dashboardin ja visualisoida mittauksen. Valitse Add visualization ja datasource InfluxDB. Itselläni tässä vaiheessa Grafana jostakin syystä ilmoittaa "InfluxDB returned error: error parsing query: found FROM, expected identifier, string, number, bool at line 1, char 9" ja kun Group By -valinnan poistaa, sen jälkeen tulee ilmoitus invalid measurement. Kun FROM-riviltä select measurementsin alta tasmota virhe poistuu. Tämän jälkeen valitse Select-riviltä field (value) -valikosta haluttu mittausarvo niin paneeliin ilmestyy näkyviin käyrän alku, jossa näkyvät siihen asti tietokantaan tallentuneet tiedot. Lopuksi voit kustomoida paneelin haluamallasi tavalla.

Sivut, joita tämän ohjeen kasaamiseen on käytetty:
Mosquitto MQTT Installation Guide for Debian 11: Easy Setup - Shapehost
Discover how to set up a secure Mosquitto MQTT server on your Debian 11 server. Follow our easy to use instructions to get started quickly.


Terminal Commands for Managing and Testing Your Mosquitto MQTT Broker » DIY Usthad
Once Mosquitto MQTT Broker is installed on your Raspberry Pi, the real power lies in knowing how to control the broker, debug its activity, and test your


Installing InfluxDB & Grafana on Raspberry Pi
I recently treated myself to a RaspberryPi 4 Model B to use as a(nother) home server. This is a brief guide on getting InfluxDB and Grafana set up to store and graph timeseries data.


Install Grafana on Debian or Ubuntu | Grafana documentation
Install guide for Grafana on Debian or Ubuntu

ChatGPT:llä pyörittelin pitkään tuota Node-REDissä tehtävää konversiota, ennenkuin ymmärsin, miten se menee.
En ole koodari, niin termit voi olla mitä sattuu. Korjaillaan jos ohjeessa on virheitä. Täytyy ehkä jossain välissä myös mielenkiinnosta harjoitella, miten tämä onnistuu Telegrafilla Node-REDin sijaan.
Katso myös vastaavanlainen opas lämpötilojen loggaamista koskien
Lämpötilojen loggaamista Xiaomin BLE-antureilla (med Raspi, Influxdb, Grafana)
Aloitetaanpa tällainen ketju. Itse tilailin taannoin Ebaystä halpoja Xiaomin BLE-lämpötila-antureita kun katselin että niillä saa suht helposti tehtyä lämpötilaloggerin. Maksavat kiinasta tilattuna noin viisi euroa kappale. Nykyään tietysti tulee arvonlisävero tuohon päälle. Hobbyhallista näkyy...
bbs.io-tech.fi
Viimeksi muokattu: