Temat: Wykresy z digitempa - jak najprościej?

Cześć, chciałbym sobie zrobić coś na wzór inteligentnego domu. Nie chce korzystać z gotowców - w ten sposób nie za wiele zrozumiem. Jak najprościej zrobić wykresy z digitempa? Gdzie je zapisywać? Do Bazy czy może do pliku?
Będę musiał na pewno zainstalować apache (może php).

Router to MR3220 V1 z Gargoyle AA. Czytałem o RRDTOOL. Jak z jego prostotą?
Czy może do mysql zapisywać? I skorzystać z dtgraph (stronka z PHP, ale nie mogłem jej coś kiedyś uruchomić, brakowało modułów).
A może są jakieś inne prostsze sposoby?

Pozdrawiam.

2

Odp: Wykresy z digitempa - jak najprościej?

Zapisujesz je tam gdzie chcesz. Do bazy będzie wygodniej, i do dalszej obróbki do ew backupu/przenoszenia.

Jest cała masa bibliotek w js które potrafią wykres zrobić. Więc tak prawdę mówiąc w czym zrobisz, jak zrobisz, na czym zrobisz to zależy tylko od Ciebie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Wykresy z digitempa - jak najprościej?

A najłatwiejszy sposób? Jaki byś polecał? Nie chcę się na początek porywać z przysłowiową motyką na słońce.

4

Odp: Wykresy z digitempa - jak najprościej?

Dane w bazie, kawałek php żeby podłączył się do bazy i cokolwiek żeby narysowało wykres. Np. flot.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Wykresy z digitempa - jak najprościej?

Jak w ostatni weekend obsłużyłem rrdtool, mogę podzielić się swoimi skryptami, bo wydaje mi się że rrdtool daję rade, w szczególności, gdy ma się ma mało miejsca na routerze.

Skrypt dodający wpis do bazy rrd (i od razu publikuje na serwis thingspeak.com):

#!/bin/sh
rrddb="/tmp/rrd_temp.rrd"
if [ ! -e $rrddb ]
then
echo "Tworze baze rrd"
        rrdtool create $rrddb \
         --start 1023654125 \
         --step 300 \
         DS:t1:GAUGE:600:-30:70 \
         DS:t2:GAUGE:600:-30:70 \
         DS:t3:GAUGE:600:-30:70 \
         DS:t4:GAUGE:600:-30:70 \
         RRA:AVERAGE:0.5:1:1200 \
         RRA:MIN:0.5:12:2400 \
         RRA:MAX:0.5:12:2400 \
         RRA:AVERAGE:0.5:12:2400
fi

echo "Czytam temperature"

digitemp_DS9097U -a -q -o "%.1C" > temp.tmp
temp=`cat temp.tmp | tr '\n' ':' | cut -d ":" -f -4`
echo $temp
mv /root/temp.tmp /www/smalltemp.html
rrdupdate $rrddb -t t1:t2:t3:t4 N:$temp

echo "Ready RRD"
t1=`echo $temp | cut -d : -f 1`

t2=`echo $temp | cut -d : -f 2`
t3=`echo $temp | cut -d : -f 3`
t4=`echo $temp | cut -d : -f 4`


echo -e "GET /update?api_key=klucz&field1=$t1&field2=$t2&field3=$t3&field4=$t4 HTTP/1.1\r\nHost: api.thingspeak.com\r\n\r\n\r\n" | nc api.thingspeak.com 80


echo "Ready ThingSpeak"

Skrypt generujący wykres:

rrddb="/tmp/rrd_temp.rrd"

rrdtool graph /www/1h.png -s -1h -w 480 -h 155 \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"

rrdtool graph /www/6h.png -s -6h \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"
#DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \

rrdtool graph /www/1d.png -s -1d --step 3600 \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"
#DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

6

Odp: Wykresy z digitempa - jak najprościej?

szwagier 44 dzieki za skrypty .Próbuje za adoptowac je dla siebie próbuje dołożyc jeszcze jeden czujnik  ale coś mi nie wychodzi .
zmieniłem tak ale  nie działa ,coś jeszcze trzeba zmienic?

#!/bin/sh
rrddb="/tmp/rrd_temp.rrd"
if [ ! -e $rrddb ]
then
echo "Tworze baze rrd"
        rrdtool create $rrddb \
         --start 1023654125 \
         --step 300 \
         DS:t1:GAUGE:600:-30:70 \
         DS:t2:GAUGE:600:-30:70 \
         DS:t3:GAUGE:600:-30:70 \
         DS:t4:GAUGE:600:-30:70 \
DS:t5:GAUGE:600:-30:70 \
         RRA:AVERAGE:0.5:1:1200 \
         RRA:MIN:0.5:12:2400 \
         RRA:MAX:0.5:12:2400 \
         RRA:AVERAGE:0.5:12:2400
fi
echo "Czytam temperature"
digitemp_DS9097U -a -q -o "%.1C" > temp.tmp
temp=`cat temp.tmp | tr '\n' ':' | cut -d ":" -f -5`
echo $temp
mv /root/temp.tmp /www/smalltemp.html
rrdupdate $rrddb -t t1:t2:t3:t4:t5 N:$temp
echo "Ready RRD"
t1=`echo $temp | cut -d : -f 1`
t2=`echo $temp | cut -d : -f 2`
t3=`echo $temp | cut -d : -f 3`
t4=`echo $temp | cut -d : -f 4`
t5=`echo $temp | cut -d : -f 5`

#cho -e "GET /update?api_key=klucz&field1=$t1&field2=$t2&field3=$t3&field4=$t4 HTTP/1.1\r\nHost: #pi.thingspeak.com\r\n\r\n\r\n" | nc api.thingspeak.com 80

#echo "Ready ThingSpeak

7

Odp: Wykresy z digitempa - jak najprościej?

szwagier44 napisał/a:

Jak w ostatni weekend obsłużyłem rrdtool, mogę podzielić się swoimi skryptami, bo wydaje mi się że rrdtool daję rade, w szczególności, gdy ma się ma mało miejsca na routerze.

Skrypt dodający wpis do bazy rrd (i od razu publikuje na serwis thingspeak.com):

#!/bin/sh
rrddb="/tmp/rrd_temp.rrd"
if [ ! -e $rrddb ]
then
echo "Tworze baze rrd"
        rrdtool create $rrddb \
         --start 1023654125 \
         --step 300 \
         DS:t1:GAUGE:600:-30:70 \
         DS:t2:GAUGE:600:-30:70 \
         DS:t3:GAUGE:600:-30:70 \
         DS:t4:GAUGE:600:-30:70 \
         RRA:AVERAGE:0.5:1:1200 \
         RRA:MIN:0.5:12:2400 \
         RRA:MAX:0.5:12:2400 \
         RRA:AVERAGE:0.5:12:2400
fi

echo "Czytam temperature"

digitemp_DS9097U -a -q -o "%.1C" > temp.tmp
temp=`cat temp.tmp | tr '\n' ':' | cut -d ":" -f -4`
echo $temp
mv /root/temp.tmp /www/smalltemp.html
rrdupdate $rrddb -t t1:t2:t3:t4 N:$temp

echo "Ready RRD"
t1=`echo $temp | cut -d : -f 1`

t2=`echo $temp | cut -d : -f 2`
t3=`echo $temp | cut -d : -f 3`
t4=`echo $temp | cut -d : -f 4`


echo -e "GET /update?api_key=klucz&field1=$t1&field2=$t2&field3=$t3&field4=$t4 HTTP/1.1\r\nHost: api.thingspeak.com\r\n\r\n\r\n" | nc api.thingspeak.com 80


echo "Ready ThingSpeak"

Skrypt generujący wykres:

rrddb="/tmp/rrd_temp.rrd"

rrdtool graph /www/1h.png -s -1h -w 480 -h 155 \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"

rrdtool graph /www/6h.png -s -6h \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"
#DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \

rrdtool graph /www/1d.png -s -1d --step 3600 \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"
#DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \

Można prosić o screeny jak to graficznie wygląda...

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

8 (edytowany przez szwagier44 2016-11-13 19:05:12)

Odp: Wykresy z digitempa - jak najprościej?

@marekksr
dla 5 czujników powinno wystarczyć tylko taki fragment jak poniżej (bez integracji z thingspeak.com). Skrypt na oko wygląda okej, jaki komunikat błędu otrzymujesz? Ja nie jestem wstanie go sprawdzić bo mam tylko 4 czujniki.

#!/bin/sh
rrddb="/tmp/rrd_temp.rrd"
if [ ! -e $rrddb ]
then
echo "Tworze baze rrd"
        rrdtool create $rrddb \
         --start 1023654125 \
         --step 300 \
         DS:t1:GAUGE:600:-30:70 \
         DS:t2:GAUGE:600:-30:70 \
         DS:t3:GAUGE:600:-30:70 \
         DS:t4:GAUGE:600:-30:70 \
         DS:t5:GAUGE:600:-30:70 \
         RRA:AVERAGE:0.5:1:1200 \
         RRA:MIN:0.5:12:2400 \
         RRA:MAX:0.5:12:2400 \
         RRA:AVERAGE:0.5:12:2400
fi
echo "Czytam temperature"
digitemp_DS9097U -a -q -o "%.1C" > temp.tmp
temp=`cat temp.tmp | tr '\n' ':' | cut -d ":" -f -5`
echo $temp
rrdupdate $rrddb -t t1:t2:t3:t4:t5 N:$temp
echo "Ready RRD"

@krynio
najnowszy skrypt do generowania wykresów mam taki:

rrddb="/root/rrd_temp.rrd"


rrdtool graph /www/1h.png -s -6h -w 960 -h 310 -t "Temperatura -6h" \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"

rrdtool graph /www/6h.png -s -12h -w 960 -h 310 -t "Temperatura -12h" \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"

rrdtool graph /www/1d.png -s -1d -w 960 -h 310 -t "Temperatura -24h" \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#003300:"zewnatrz"

rrdtool graph /www/3d.png -s -3d -w 960 -h 310 -t "Temperatura -3d" \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#FF0000:"grzejnik" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj"

rrdtool graph /www/7dp.png -s -7d --step 1h -w 960 -h 310 -t "Temperatura -7d av:1h" \
DEF:t3=$rrddb:t3:AVERAGE LINE2:t3#000099:"pokoj" \
DEF:t2=$rrddb:t2:AVERAGE LINE2:t2#00FF00:"dysk"

rrdtool graph /www/7dg.png -s -7d --step 30m -w 960 -h 310 -t "Temperatura -7d av:0,5h" \
DEF:t1=$rrddb:t1:AVERAGE LINE2:t1#00FF00:"grzejnik" \
DEF:t2=$rrddb:t1:MAX LINE2:t2#FF0000:"grzejnik_max" \

rrdtool graph /www/7dz.png -s -7d --step 1h -w 960 -h 310 -t "Temperatura -7d av:1h" \
DEF:t4=$rrddb:t4:AVERAGE LINE2:t4#00cc00:"zewnatrz"

efekt z rrdtoola jest taki: https://www.dropbox.com/sh/hrjrmdipopon … P6QEa?dl=0

a efekt z thingspeak.com taki: https://thingspeak.com/channels/178999

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

9 (edytowany przez mareksr 2016-11-13 22:34:12)

Odp: Wykresy z digitempa - jak najprościej?

Po dodaniu 5 czujnika mam coś takiego:

Czytam temperature
20.0:3.5:19.3:10.7:-0.4
RRDtool 1.0.50  Copyright 1997-2000 by Tobias Oetiker <tobi@oetiker.ch>

Usage: rrdupdate filename
                        [--template|-t ds-name:ds-name:...]
                        time|N:value[:value...]

                        [ time:value[:value...] ..]

ERROR: Template contains more DS definitions than RRD
Ready RRD

na czterech jest dobrze:
Czytam temperature
20.0:3.5:19.3:10.7
Ready RRD

10

Odp: Wykresy z digitempa - jak najprościej?

Podejrzewam, że bazę rrd masz założoną tylko na 4 czujniki - baza zakłada się przy pierwszym uruchomieniu skryptu. Możliwe że DS dla t5 dodałeś już później.

Najprostszy sposób to usuń plik /tmp/rrd_temp.rrd, uruchom skrypt ponownie i wtedy baza założy się już na 5 czujników.

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

11

Odp: Wykresy z digitempa - jak najprościej?

Ostatnio kolega w pracy pokazał mi jak ma u siebie w domu zrobiony monitoring różnych parametrów a ponieważ ja tematu dawno nie dotykałem więc się zainteresowałem domoticzem, który właśnie on wykorzystuje. I powiem, że to chyba najprostszy sposób an rysowanie wykresów również np. z digitempa. Ja u siebie mam kilka czujników dallasa, ze nie korzystam z digitempa ale z owfs, nie mniej idea jest ta sama:
1. odczytuję zapis z DS18B20
2. wysyłam temperaturę do domoticza za pomocą mqtt
3. zapisuję wynik do sqlite
Domoticz sam w sobie potrafi czytać bezpośrednio dane z 1-wire, ale u mnie taki odczyt umierał po 1,2 dniach więc zarzuciłem to rozwiązanie. Opiszę trochę dokładniej jak mam to rozwiązane u siebie.
1. czujnik podpięty pod WR1043N/ND z zainstalowanym OpenWrt
2. na WR1043N/ND zainsatlowany paho-mqtt
3. domoticz postawiony na debianie, na domoticzu skonfigurowany czujnik zgodnie z instrukcją domoticza, przykładowo czujnik nr 1
I teraz jak odczytuje temperaturę z czujnika na routerze, np. -10.2
Mając temperaturę wysyłam ją na domoticza:
mosquitto_pub -h 192.168.1.2 -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "-10.2" }' -t 'domoticz/in'
Domoticz bardzo ładnie mi to prezentuje, nie trzeba zupełnie nic robić. Dostępne są wykresy: dzienny, miesięczny i roczny oraz funkcjonalność "zoom" na wykresie, czyli obejrzenia sobie np. z miesiąca jakiegoś krótszego wycinka, np. tygodnia. Polecam to rozwiązanie bo jest banalne w instalacji i konfiguracji. Samego domoticza można postawić na routerze, linuxie czy windowsie.

Poniżej przykładowe zrzuty. Pierwsze cztery pomiary pochodzą z dallasów, pozostałe ze stacji pogodowej (w analogiczny sposób wysyłam dane ze stacji pogodowej ws-0101).
domoticz dashboard

domoticz cujnik

Pozdr

12

Odp: Wykresy z digitempa - jak najprościej?

Sam się przeglądałem dimoticz ogólnie z opisów fajne i elastyczne to narzędzie, ale nie mam na czym to postawić. Na openwrt nie ma pakietu z domoticzem, a to byłoby dla mnie najlepsze rozwiazanie żeby go postawić na openwrt+exroot.

Zostawiam się też czy nie kupić rasberry pi i na tym postawić domoticza, bo dodatkowo poza czujnikami podpietymi do routera, będę podpinał czujniki temperatury i wilgotności przez wifi na esp8266.

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

13

Odp: Wykresy z digitempa - jak najprościej?

Oczywiście że jest. Sam kompiluję: http://dl.eko.one.pl/test/

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14

Odp: Wykresy z digitempa - jak najprościej?

Dzięki za info, przetestuję bo nawet architektura mi pasuje.

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

15

Odp: Wykresy z digitempa - jak najprościej?

Dawno nie zaglądałem na eko.one ale dzisiaj rzucił mi się wątek odnośnie właśnie odpalnia domoticza na openwrt i jak widać ludziom to się udaje Problem z kompilacją Domoticz. Ale faktem, że na debianie stawia się go bezproblemowo, zapewne tak samo na rasberry pi.

16

Odp: Wykresy z digitempa - jak najprościej?

Dzięki @Cezary, @telewy

Dwie godziny instalacji oraz konfiguracji i mam działający Domoticz na OpenWrt Chaos Calmer 15.05.1 r49398 na TP-Link TL-WR1043N/ND v2

Asus TUF-AX4200 | AX3000T | NSA310b | PiHole

17 (edytowany przez manguscik 2017-01-23 00:07:27)

Odp: Wykresy z digitempa - jak najprościej?

Czy dane temperatury pobrane z arduino mogę jakoś wysłać do domoticz-a np jakimś skryptem bo teraz pobieram dane co 10 min i zapisuje je do bazy MySQL

Edit: Poczytalem chwile i przez  mqtt wyślę tylko muszę to ogarnąć


1.  paho-mqtt muszę zainstalować tylko czy jest pakiet w repo
2. W domoticz-u jest opcja mqtt tylko muszę ją jakoś skonfigurować

Może ktoś to ogarnął i się podzieli wiedzą:)

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

18 (edytowany przez telewy 2017-01-23 00:20:14)

Odp: Wykresy z digitempa - jak najprościej?

Tak jak pisałem kilka postów wyżej, ja korzystam z mqtt do wysyłania danych do domoticza. Wygląda to tak:
mosquitto_pub -h 192.168.1.2 -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "-10.2" }' -t 'domoticz/in'
Rozumiem, że dane z arduino przesyłasz na jakiś komputer lub router, tam gdzie masz bazę sql. Musisz sobie tam doinstalować mosquitto i np. po zapisie do bazy wysyłać dane do domoticza.

P.S. Jest pakiet w repo, bo sam instalowałem kilka dni temu na WR1043N/ND, pakiet mosquitto-client
Odnośnie domoticz, jest napisane w wiki do domoticza Add hardware "MQTT Client Gateway". Szukaj sekcji "Add hardware "MQTT Client Gateway" i zrób dokładnie jak tam jest napisane.
Jakby co to mogę pomóc w miarę możliwości.

19 (edytowany przez manguscik 2017-01-23 14:58:50)

Odp: Wykresy z digitempa - jak najprościej?

Dzięki Telewy za info a co do Arduino to jest wpięte w router z openwrt i baza danych również postawiona na openwrt jak i domoticz i wszytko zainstalowane w pamięci routera bez exrota.  smile wykorzystam skrypt który pobiera dane z arduino i zapisuje do bazy MySQL  aby jeszcze wysłał do Domoticz-a.



edit:

Dodawanie samej temperatury z shella  opanowałem działa tylko nie mogę rozkminić przycisku trzy w jednym temperatura wilgotność ciśnienie bo nie mogę sobie poradzić z formatem wysyłania. smile

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

20

Odp: Wykresy z digitempa - jak najprościej?

Na dzisiaj też tego nie umiem zrobić. W takiej sytuacji po prostu wysyłam 3 niezależne komunikaty mqtt i mam skonfigurowane 3 virtualne urządzenia: temperatura, wilgotność i ciśnienie.

21 (edytowany przez manguscik 2017-01-23 19:16:10)

Odp: Wykresy z digitempa - jak najprościej?

Dla temperatury i wilgotności będzie wyglądało to tak :

mosquitto_pub -h 127.0.0.1 -m '{ "idx" : 3, "nvalue" : 0, "svalue" : "21.2;52.5;1"}' -t 'domoticz/in'

A dla temperatury wilgotności i ciśnienia atmosferycznego będzie to wyglądało tak:

mosquitto_pub -h 127.0.0.1 -m '{ "idx" : 4, "nvalue" : 0, "svalue" : "21.2;54.55;1;1010;1"}' -t 'domoticz/in'
Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

22

Odp: Wykresy z digitempa - jak najprościej?

Do domoticza można wysyłać o wiele prościej poprzez GET i json np:

http://malinkapi:8080/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=23

i otrzymamy nawet odpowiedź:

{
   "status" : "OK",
   "title" : "Update Device"
}

23

Odp: Wykresy z digitempa - jak najprościej?

manguscik napisał/a:

Dla temperatury i wilgotności będzie wyglądało to tak :

mosquitto_pub -h 127.0.0.1 -m '{ "idx" : 3, "nvalue" : 0, "svalue" : "21.2;52.5;1"}' -t 'domoticz/in'

A dla temperatury wilgotności i ciśnienia atmosferycznego będzie to wyglądało tak:

mosquitto_pub -h 127.0.0.1 -m '{ "idx" : 4, "nvalue" : 0, "svalue" : "21.2;54.55;1;1010;1"}' -t 'domoticz/in'

manguscik, dzięki za wskazówki. Przerobiłem sobie zgodnie z powyższym. Przy okazji mam pytanie, bo chciałem podobnie zrobić dla deszczu i zastosować dedykowane virtual device zamiast custom. Z dokumentacji domoticza mam

/json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=RAINRATE;RAINCOUNTER

więc zakłądam, że dla mqtt powinno być:
mosquitto_pub -h 192.168.1.2 -m '{"idx" : 20, "nvalue" : 0, "svalue" : "3.3;4.1"}' -t 'domoticz/in'
Błędu to nie zgłasza, ale wartości jakie się wyświetlają w domoticzu są dziwne, tzn. dla podanego przykładu domoticz wyświetla:
- deszcz 2.0 mm
- rate 0 mm/h
Może masz pomysł jak to naprostować?

24

Odp: Wykresy z digitempa - jak najprościej?

Spróbuj w ten sposób:

mosquitto_pub -h 192.168.1.2 -m '{"idx"
 : 20, "nvalue" : 0, "svalue" : "3.3;4.1;1"}' -t 'domoticz/in'
Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

25

Odp: Wykresy z digitempa - jak najprościej?

Próbowałem już taką kombinację, nie działa. W tym wypadku domoticz nie wyświetla żadnych wartości.