
Przegląd
To rozwiązanie wyjaśnia, jak przesłać stan BTHome / Wirtualnego komponentu z jednego urządzenia Shelly (Nadajnik) do drugiego (Odbiornik) przez radiowy LoRa na dużą odległość. Montując Shelly LoRa Add-on do każdego urządzenia Gen 3 / Gen 4, możesz wysyłać wirtualny stan „otwarte/zamknięte”, „włączone/wyłączone” lub wartość numeryczną na odległość do 5 km w terenie otwartym, nawet tam, gdzie Wi‑Fi lub BLE nie sięgają.
Skrypt Shelly na Nadajniku obserwuje Wirtualny komponent i za każdym razem, gdy jego wartość się zmienia, szyfruje nowy stan i rozgłasza go przez LoRa.
Towarzyszący skrypt na Odbiorniku odszyfrowuje pakiet i aktualizuje lokalny Wirtualny komponent (lub uruchamia dowolną inną logikę, którą wybierzesz).
To rozwiązanie pozwala bezpiecznie przesyłać stan Wirtualnego komponentu z jednego urządzenia Shelly do drugiego przez LoRa, symulując przesył danych z czujnika, np. stan drzwi/okna, za pomocą niestandardowego Wirtualnego komponentu i skryptów Shelly.
Wymagania wstępne
2× Shelly LoRa Add-on (po jednym dla Nadajnika i Odbiornika)
2× urządzenia Shelly obsługujące dodatki LoRa
Instrukcja krok po kroku
1. Utwórz Wirtualny komponent na urządzeniu Nadajnika
Otwórz lokalny interfejs webowy urządzenia Nadajnika.
Przejdź do Components.
Utwórz żądany BTHome / Wirtualny komponent i przypisz odpowiedni czujnik raportujący.
Przykład: Jeśli symulujesz czujnik drzwi/okien Shelly BLU, stany zwykle będą "otwarte" i "zamknięte."
2. Ustaw wartość Wirtualnego komponentu
Użyj następującej funkcji, aby ustawić stan Wirtualnego komponentu:
Virtual.prototype.setValue(new_value);
Zapoznaj się z dokumentacją API: https://shelly-api-docs.shelly.cloud/gen2/Scripts/ShellyScriptLanguageFeatures/#virtualprototypesetvaluenew_value
3. Zainstaluj i zmodyfikuj skrypt Nadajnika
Użyj skryptu dostępnego tutaj:
Zmodyfikuj skrypt:
Dodaj Shelly.addStatusHandler(), aby monitorować zmiany z czujnika.
Wskaż poprawne ID komponentu, aby dokładnie śledzić aktualizacje. To ID znajdziesz w lokalnym interfejsie webowym w szczegółach danego komponentu.
4. Zainstaluj i zmodyfikuj skrypt Odbiornika
Użyj skryptu dostępnego tutaj:
Edytuj następującą linię w skrypcie odbiornika, aby obsłużyć i zalogować otrzymany stan czujnika:
console.log("Message received: ", decryptedMessage);
To wyjście będzie odzwierciedlać aktualny stan Wirtualnego komponentu (np. "otwarte" lub "zamknięte").
Cenimy Twoją opinię!
Dziękujemy, że poświęciłeś czas na przeczytanie naszego artykułu! Czy był pomocny lub interesujący?
Twoje uwagi pomogą nam się poprawić. Będziemy wdzięczni za każdą opinię. Jeśli masz chwilę,
podziel się nią proszę pod następującym adresem e-mail: