GATEWAY DO SERWERA ZABBIX DLA MIERNIKA ENERGII SHELLY PM Mini Gen3

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

Post

GATEWAY DO SERWERA ZABBIX DLA MIERNIKA ENERGII SHELLY PM Mini Gen3

GATEWAY SHELLY PM Mini Gen3 do SERWERA ZABBIX
Gateway ma za zadanie przekazywać dane ze sterownika SHELLY PM Mini Gen3 do systemu ZABBIX poprzez odpytywanie tego miernika co jedną minutę i zapisywanie pobranych wyników danych na serwerze ZABBIX. Dodatkowo rejestrowane jest zużycie energii w cyklu dziennym.
Co ważne - nie trzeba przeprogramowywać miernika.

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 lub dowolna wersja mikrokomputera z rodziny Raspberry (nawet nanoPi). Testy były przeprowadzone na VPS-ie z systemem Debian, 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
sudo apt-get install jq
sudo apt-get install zabbix-agent
2. Pobieramy plik Shelly_PM_Mini.zip z adresu:
https://djack.com.pl/modules.php?name=D ... it&lid=357
W upakowanym pliku jest też plik template do zaimportowania do serwera Zabbix, dla miernika Shelly PM Mini
(Shelly_PM_Mini_templates.yaml)

3. Po rozpakowaniu kopiujemy plik Shelly_PM_Mini.sh do katalogu /usr/bin

4. Nadajemy odpowiednie atrybuty:

Code: Select all

sudo  chmod  a+rwx  /usr/bin/Shelly_PM_Mini.sh
KONFIGURACJA GATEWAY’A:
1. Otwieramy skrypt Shelly_PM_Mini.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="shelly1pm"
#================================================
#== Adres IP sterownika Shelly PM Mini =============
SHELLY_IP="zzz.zzz.zzz.zzz"
#================================================

  • Adres IP serwera Zabbix może być podany jako adres bezwzględny lub jako nazwa domenowa.
  • Nazwa hosta może być dowolna (zgodna z nazwą określoną na serwerze Zabbix). W powyższym przykładzie jest „shelly1pm”.
  • Adres IP sterownika Shelly najczęściej będzie podany jako adres bezwzględny, gdyż jest w sieci lokalnej.
2. Wykonujemy polecenie:

Code: Select all

crontab  –e
i wpisujemy linię:

*/1 * * * * Shelly_PM_Mini.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 * * * * Shelly_PM_Mini.sh > /dev/null 2>&1
*/1 * * * * (sleep 10; Shelly_PM_Mini1.sh > /dev/null 2>&1)
*/1 * * * * (sleep 20; Shelly_PM_Mini2.sh > /dev/null 2>&1)
*/1 * * * * (sleep 30; Shelly_PM_Mini3.sh > /dev/null 2>&1)
*/1 * * * * (sleep 40; Shelly_PM_Mini4.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ę (np. co 10 sekund) można użyć konstrukcji:

*/1 * * * * Shelly_PM_Mini.sh > /dev/null 2>&1
*/1 * * * * (sleep 10; Shelly_PM_Mini.sh > /dev/null 2>&1)
*/1 * * * * (sleep 20; Shelly_PM_Mini.sh > /dev/null 2>&1)
*/1 * * * * (sleep 30; Shelly_PM_Mini.sh > /dev/null 2>&1)
*/1 * * * * (sleep 40; Shelly_PM_Mini.sh > /dev/null 2>&1)
*/1 * * * * (sleep 50; Shelly_PM_Mini.sh > /dev/null 2>&1)
.....


DANE REJESTROWANE NA SERWERZE ZABBIX
Gateway raportuje dane w czasie rzeczywistym (co 1 minutę).
Pierwsze dzienne zużycie energii pojawi się w wykazie danych następnego dnia po pierwszym uruchomieniu skryptu.
System może wysyłać powiadomienia (typu PUSH, mail) według zadanych dowolnych kryteriów. Opisane jest to szerzej w wątku:
https://forum.supla.org/viewtopic.php?t=10047
.
.
Przykładowe ekrany w systemie Zabbix:
.
screen1.png
.
.
screen2.png
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

Return to “Zabbix”