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
W 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.
witaj
jak zwykle super poradnik
ale czy jest opcja zmiany miejsca znaku i?
nachodzi na znacznik termometru i średnio to wygląda
Dzięki za miłe słowo 🙂
Odnośnie znaku „i” to problem jest po stronie aplikacji SUPLA na smartfony. Z informacji uzyskanych od Developerów aplikacji ma to być zmienione, ale aktualnie nie jest to najwyższy priorytet.
Robercie , wiadomo ile takich czujników można by obsłużyć jedną malinką, mam cztery ale myślę o ok10 szt
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.Dzień dobry,
czy wiadomo coś o kolejnej aktualizacji? Zależy mi na dodaniu obsługi ściemniacza i regualcji temperatury barwowej żarówki, ponieważ chciałbym zintegrować żarówki Philips HUE z Suplą (zigbee2mqtt+SVD na Raspberry).
Pozdrawiam
Jakub T
Autorem Supla Virtual Device jest kolega Łukasz z forum.supla.org o nicku @Beku. Trzeba by było jego pytać o rozwój SVD.
Dziękuję za odpowiedź. Kilka miesięcy temu pytałem, niestety nie dostałem odpowiedzi.
Pozdrawiam
Jakub T
Witam, przy próbie uruchomienia procesów otrzymuję komunikat :
supervisorctl start mi-th-1
mi-th-1: ERROR (spawn error)
Co może być przyczyna takiego stanu rzeczy??