Na początku roku szkolnego 2020/2021 (1 września 2020 r.) na GitHubie Łukasza pojawiła się aktualizacja Supla Virtual Device. Skrypt SVD realizuje między innymi obsługę bramki dla czujników temperatury i wilgotności Xiaomi LYWSD03MMC. Sposób uruchomienia takiej bramki opisałem w jednym ze wcześniejszych moich artykułów.

Najważniejsze zmiany w wersji 1.1.2:

  • dodana obsługa kanału HUMIDITY,
  • dodana obsługa informacji o poziomie baterii (z urządzeń w ten sposób zasilanych) w aplikacji SUPLA.

 

Aktualizacja Supla Virtual Device krok po kroku

Zatrzymujemy procesy uruchomione w Supervisor (supla-virtual-device oraz wszystkie mi-th-n) poleceniami:

supervisorctl stop supla-virtual-device
supervisorctl stop mi-th-1
.
.
.
supervisorctl stop mi-th-n

Następnie aktualizujemy skrypt LYWSD03MMC.py do najnowszej wersji:

cd supla-mi-th
wget -O LYWSD03MMC.py https://raw.githubusercontent.com/JsBergbau/MiTemperature2/master/LYWSD03MMC.py
cd

Aktualizujemy skrypt Supla Virtual Device do najnowszej wersji (proces aktualizacji może trwać kilka minut):

cd supla-virtual-device
./install.sh upgrade
cd

Następnie edytujemy wszystkie pliki konfiguracji wywołania skryptu odczytów z poszczególnych czujników:

sudo nano /etc/supervisor/conf.d/mi-th0.conf
.
.
.
sudo nano /etc/supervisor/conf.d/mi-thx.conf

dopisując parametr --battery. Przykładowy plik powinien wyglądać tak:

[program:mi-th-0]
command=python3 ./LYWSD03MMC.py --device xx:xx:xx:xx:xx:xx --battery --round --debounce --name th0 --callback save-to-file.sh
directory=/home/pi/supla-mi-th
autostart=true
autorestart=true
user=pi

Modyfikujemy plik save-t-file.sh dopisując dodatkowy trzeci wiersz z treścią echo $6 >> sensor_$2.txt:

nano ~/supla-mi-th/save-to-file.sh

Teraz uruchamiamy procesy Supervisora odpowiadające za odczyt danych z czujników:

supervisorctl start mi-th-1
.
.
.
supervisorctl start mi-th-n

W wyniku powyższych działań w plikach z danymi o temperaturze i wilgotności powinien pojawić się trzeci wiersz ze statusem baterii (% naładowania).

Następnie edytujemy plik konfiguracyjny supla-virtual-device-cfg:

cd supla-virtual-device
nano supla-virtual-device.cfg
cd
  • usuwamy całą sekcję [LOCATION], a w to miejsce dodajemy sekcję [AUTH] z parametrem email=twojemaildokontasupla@domena.com
  • jeśli w konfiguracji jest parametr protocol_version to zmieniamy jego wartość z 10 na 12
  • w konfiguracji kanału zasilanego bateryjnie dopisujemy parametr battery_powered=1

Reasumując przykładowy plik dla czterech czujników Xiaomi powinien wyglądać tak:

[GLOBAL]
device_name=BRAMKA LB-SVD

[SERVER]
host=svrXX.supla.org
protocol_version=12

[AUTH]
email=twojemaildokontasupla@domena.com

[CHANNEL_0]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th0.txt
file_write_check_sec=120
battery_powered=1

[CHANNEL_1]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th1.txt
file_write_check_sec=120
battery_powered=1

[CHANNEL_2]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th2.txt
file_write_check_sec=120
battery_powered=1

[CHANNEL_3]
function=TEMPERATURE_AND_HUMIDITY
file=/home/pi/supla-mi-th/sensor_th3.txt
file_write_check_sec=120
battery_powered=1

Na koniec pozostało nam jeszcze do wykonania usunięcie naszej bramki z Supla Cloud (niestety jest to wymagane, ponieważ SVD musi korzystać z wyższej wersji protokołu komunikacyjnego) oraz włączenie rejestracji urządzeń w Supla Cloud, a następnie uruchomienie skryptu supla-virtual-device przez Supervisora.

supervisorctl start supla-virtual-device

Supla Cloud powinna się dodać ponownie nasza bramka, a w aplikacji Supla powinna pojawić się mała ikonka (i w kółeczku). Kliknięcie w tą ikonkę spowoduje wyświetlenie informacji o poziomie zasilania bateryjnego naszych czujników.

 

   

Spodobał Ci się artykuł? Udostępnij go.

3 komentarze

  1. Pingback: Supla Virtual Device - bramka dla czujników Xiaomi LYWSD03MMC - Robert Błaszczak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *