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.

5 komentarzy

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

  2. Hej,

    Ja mam u siebie 5 szt. LYWSD + przewodowy SHT31 + obsługę skrzynki pocztowej. Dwa ostatnie skrypty pisałem samodzielnie, więc ich optymalizacja jest pewnie daleka od ideału 🙂
    Polecenie htop nie wskazuje jakiegoś nadmiernego obciążenia Raspberry, więc myślę że 10 szt. LYWSD spokojnie będzie pracowało poprawnie.

Dodaj komentarz

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