GATEWAY DO SERWERA ZABBIX DLA STEROWNIKÓW Z KANAŁEM THERMOMETER

djack2017
Posts: 696
Joined: Mon Nov 27, 2017 7:36 am

Post

GATEWAY DO SERWERA ZABBIX DLA STEROWNIKÓW Z KANAŁEM THERMOMETER

ZABBIX_GATEWAY do SERWERA ZABBIX
Gateway dotyczy sterowników Sonoff-TH10 i Sonoff-TH16, które nie mają wbudowanej w firmware obsługi serwera Zabbix.
Ma on za zadanie przekazywać dane z serwera SUPLA do systemu ZABBIX poprzez odpytywanie serwera SUPLA co jedną minutę i zapisywanie tych danych na serwerze ZABBIX.

GATEWAY – INSTALACJA:
Gateway można uruchomić na dowolnym komputerze z systemem Linux. Może to być ten sam komputer, na którym jest uruchomiona własna instancja serwera SUPLA, najtańszy VPS lub dowolna wersja mikrokomputera z rodziny Raspberry (nawet nanoPi). Testy były przeprowadzone na VPS-ie z systemem Debian 9, na którym pracują serwery SUPLA, ZABBIX, GRAFANA oraz na mikrokomputerze NanoPi.
1. Aby skrypt działał poprawnie należy wykonać poniższe instrukcje:

Code: Select all

sudo apt-get update
sudo apt-get install bc
apt install jq -y
2. Pobieramy plik th_gateway.zip z adresu:
https://djack.com.pl/modules.php?name=D ... it&lid=350
3. Po rozpakowaniu kopiujemy pliki th_gateway.sh oraz zabbix_sender do katalogu /usr/bin
Dla komputera z rodziny Raspberry plik zabbix_sender kopiujemy z podkatalogu Raspberry.
4. Nadajemy im odpowiednie atrybuty:

Code: Select all

sudo  chmod  a+rwx  /usr/bin/th_gateway.sh
sudo  chmod  a+rx   /usr/bin/zabbix_sender
KONFIGURACJA GATEWAY’A:
1. Na serwerze SUPLA, dla sterownka z miernikiem temperatury, należy utworzyć linki bezpośrednie („do odczytu”) dla kanału pomiaru temperatuiry i kanału przekaźnika. Linki ten należy wpisać w skrypcie th_gateway.sh, jak opisano w pkt.2
2. Otwieramy skrypt th_gateway.sh w zwykłym edytorze (vi, nano).
Na początku skryptu są linie, w które należy wpisać opisane parametry:

#== Adres IP serwera Zabbix =========================
ZABBIX_SERVER="xxx.xxx.xxx.xxx"
#== Nazwa hosta na serwerze Zabbix ==================
HOST="termometr"
# == Linki bezpośrednie z serwera SUPLA (json) ==========
# == Link do THERMOMETER Channel ==================
SUPLA_LINK_THERM="https://......................./read?format=json"
# == Link do RELAY Channel ==========================
SUPLA_LINK_STATE="https://......................./read?format=json"
#================================================

Nazwa hosta może być dowolna (zgodna z nazwą określoną na serwerze Zabbix). W powyższym przykładzie jest „termometr”.

3. Wykonujemy polecenie:

Code: Select all

crontab  –e
i wpisujemy linię:

*/1 * * * * th_gateway.sh > /dev/null 2>&1

Skrypt wykonywany jest co jedną minutę.

W przypadku posiadania większej liczby sterowników można powielać kod skryptu w jednym pliku lub kopiować plik skryptu zmieniając mu nazwę.
W takim przypadku dobrze jest uruchamiać skrypty w cron-ie z opóźnieniem:

*/1 * * * * th_gateway.sh > /dev/null 2>&1
*/1 * * * * (sleep 10; th_gateway1.sh > /dev/null 2>&1)
*/1 * * * * (sleep 20; th_gateway2.sh > /dev/null 2>&1)
*/1 * * * * (sleep 30; th_gateway3.sh > /dev/null 2>&1)
*/1 * * * * (sleep 40; th_gateway4.sh > /dev/null 2>&1)
.....

Sterowniki z firmware obsługującym raportowanie do serwera Zabbix przesyłają informacje o zmianie stanu niemal natychmiast, natomiast
w przypadku gateway'a może to być z opóźnieniem max 1 min.
Dlatego też, gdy potrzebne jest częstsze rejestrowanie danych niż co 1 minutę można uzyć konstrukcji:

*/1 * * * * th_gateway.sh > /dev/null 2>&1
*/1 * * * * (sleep 10; th_gateway.sh > /dev/null 2>&1)
*/1 * * * * (sleep 20; th_gateway.sh > /dev/null 2>&1)
*/1 * * * * (sleep 30; th_gateway.sh > /dev/null 2>&1)
*/1 * * * * (sleep 40; th_gateway.sh > /dev/null 2>&1)
.....
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
ata-maro
Posts: 11
Joined: Thu Apr 04, 2019 9:14 pm

Post

Witam, da rade monitorować temp. z esp8266 z czujnikami ds18b20 na zabbix?
Jeśli tak to proszę o wskazówki.
djack2017
Posts: 696
Joined: Mon Nov 27, 2017 7:36 am

Post

ata-maro wrote: Sat Mar 11, 2023 9:14 pm Witam, da rade monitorować temp. z esp8266 z czujnikami ds18b20 na zabbix?
Jeśli tak to proszę o wskazówki.
Załączam gateway dla czujnika DS18B20.
Szablon hosta może być: "Template Sonoff-th"
Opis jak w pierwszym poście.
You do not have the required permissions to view the files attached to this post.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
kecik18
Posts: 11
Joined: Sun Jan 15, 2023 9:08 pm

Post

Witam, da rade taki gateway dla SHT30 ?
djack2017
Posts: 696
Joined: Mon Nov 27, 2017 7:36 am

Post

kecik18 wrote: Fri Apr 28, 2023 9:24 pm Witam, da rade taki gateway dla SHT30 ?
Zarejestrowales to coś na serwerze Supli?
Jeśli tak to utwórz link bezpośredni do odczytu i prześlij mi wynik odczytany z tego linku w formacie json
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
kecik18
Posts: 11
Joined: Sun Jan 15, 2023 9:08 pm

Post

sorki ale dawno mnie nie było na forum.

{"connected":true,"humidity":33.743,"temperature":24.305}
djack2017
Posts: 696
Joined: Mon Nov 27, 2017 7:36 am

Post

kecik18 wrote: Sat Dec 02, 2023 4:21 pm sorki ale dawno mnie nie było na forum.

{"connected":true,"humidity":33.743,"temperature":24.305}
https://djack.com.pl/modules.php?name=D ... it&lid=350
Opis w pierwszym poście wyżej.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
kecik18
Posts: 11
Joined: Sun Jan 15, 2023 9:08 pm

Post

A czy dało by radę, stworzyć taki Gateway dla licznika impulsów Zamel LIW-01. Jeśli tak to przesyłam json:

{"connected":true,"totalCost":8396.25,"pricePerUnit":0.68,"impulsesPerUnit":1000,"counter":12347439,"calculatedValue":12347.439,"currency":"PLN","unit":"kWh"}
djack2017
Posts: 696
Joined: Mon Nov 27, 2017 7:36 am

Post

kecik18 wrote: Tue Dec 05, 2023 10:27 pm A czy dało by radę, stworzyć taki Gateway dla licznika impulsów Zamel LIW-01. Jeśli tak to przesyłam json:

{"connected":true,"totalCost":8396.25,"pricePerUnit":0.68,"impulsesPerUnit":1000,"counter":12347439,"calculatedValue":12347.439,"currency":"PLN","unit":"kWh"}
Nie mam niestety sterownika LIW01, ale myślę, że załączony gateway zadziała.
Sprawdź i daj znać jaki wynik testu.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
kecik18
Posts: 11
Joined: Sun Jan 15, 2023 9:08 pm

Post

Dzięki, wygląda, że działa, w skrypcie zahashowany był link bezpośredni, podejrzewam że przez przypadek. Powiedz, mi jeszcze jedno, czy w zabbixie da się zrobić tak jak w grafanie, że będzie mi pokazywał dzienne zużycie energii, ewentualnie poszczególne minuty. Bo aktualnie na wykresie zwiększa mi się tylko cały czas ilość KW.

Return to “Zabbix”