TapHome

Shelly BLU TRV

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 04. 2026

Wymaga zewnętrznej bramki

Shelly BLU Gateway Gen3 — strona produktu

Shelly BLU TRV

Shelly BLU TRV (model SBTR-001AEU) to zasilana bateryjnie termostatyczna głowica grzejnikowa z łącznością Bluetooth LE 5 i Zigbee 802.15.4. Nie obsługuje bezpośrednio Wi-Fi ani HTTP — TapHome łączy się z głowicą po HTTP poprzez Shelly BLU Gateway Gen3, który pośredniczy w wywołaniach JSON-RPC z namespace BluTrv do sparowanej głowicy przez BLE.

Pojedynczy Shelly BLU Gateway Gen3 może obsłużyć wiele głowic BLU TRV jako komponenty peryferyjne (Shelly sprzedaje pojedyncze opakowania, dwupaki i trzypaki wraz z bramą). Każda głowica jest identyfikowana przez ID komponentu na bramie (typowo 200, 201, 202). Szablon TapHome importuje się raz dla każdej głowicy z tym samym IP bramy i innym ID komponentu.

Czego potrzebujesz

  • Shelly BLU TRV (SBTR-001AEU) — głowica zaworu, zawiera 2× baterie AA 1,5 V oraz adapter montażowy do gwintów M28 × 1,5
  • Shelly BLU Gateway Gen3 (SBGT-3B-001) — brama Wi-Fi zasilana z USB-A, która udostępnia peryferia BLE jako HTTP RPC; sprzedawana także w zestawach startowych z głowicą
  • Zasilanie — TRV działa na 2× AA 1,5 V (typowa żywotność baterii do 2 lat); brama podłącza się do dowolnego portu USB-A (ładowarka telefonu, router, zasilany hub)
  • Sieć — łączność LAN/Wi-Fi dla bramy; sama głowica nie dołącza do sieci Wi-Fi
  • Gwint zaworu — montaż bezpośredni na zaworach M30 × 1,5 lub użycie dołączonego adaptera do Danfoss RA/RAV/RAVL, Caleffi, Giacomini i gwintów M28 × 1,5

Parowanie TRV z bramą

Każdą głowicę TRV sparuj z bramą przed importem szablonu w TapHome — ID komponentu jest przydzielane dopiero po udanym sparowaniu.

  1. Podłącz Shelly BLU Gateway Gen3 do portu USB-A i poczekaj, aż połączy się z siecią lokalną
  2. Naciśnij przycisk parowania na bramie — LED sygnalizuje aktywny tryb parowania przez 30 sekund
  3. W ciągu 30 sekund albo wyciągnij pasek izolujący baterie z fabrycznie nowej głowicy, albo krótko naciśnij przycisk Reset na działającej głowicy
  4. Wyświetlacz głowicy miga i po udanym parowaniu pokazuje animację potwierdzającą
  5. Dodaj bramę w aplikacji Shelly Smart Control — nowo sparowana głowica pojawia się jako komponent podrzędny bramy z przydzielonym ID komponentu

Kroki 2–4 powtórz dla każdej kolejnej głowicy. Każde parowanie tworzy nowe ID komponentu (200, 201, 202…).

Konfiguracja

Szablon TapHome łączy się z IP bramy (nie z samą głowicą) i kieruje do konkretnej głowicy przez jej ID komponentu na bramie.

Parametry importu
ParametrOpisJak uzyskaćPrzykład
IpAddressAdres IP bramy w sieci lokalnejAplikacja Shelly Smart Control → Gateway → Settings → Network lub tabela dzierżaw DHCP w routerze192.168.0.42
IDID komponentu BluTrv danej głowicy na bramieInterfejs webowy bramy (http://<gateway-ip>) → lista komponentów → skopiuj numeryczny ID przypisany tej głowicy200

Każda głowica wymaga własnego importu szablonu. Dla trzech głowic sparowanych z tą samą bramą importuj szablon trzy razy z tą samą wartością IpAddress i z wartościami ID 200, 201 i 202 (ID są widoczne w interfejsie webowym bramy).

HTTP Digest Authentication na bramie musi być wyłączone, aby TapHome mógł komunikować się z endpointami /rpc/* — ten sam warunek, co w innych urządzeniach Shelly Gen2+/Gen3.

Możliwości urządzenia

Termostat

Szablon udostępnia głowicę jako urządzenie termostatowe. Temperatura bieżąca jest odczytywana z $.status.trv:0.current_C, a wartość zadana z $.status.trv:0.target_C (obie pobierane przez BluTrv.GetRemoteStatus). Zapis nowej wartości zadanej wysyła TRV.SetTarget przez BluTrv.Call w zakresie 4–31 °C obsługiwanym przez urządzenie.

Service attribute stan zaworu pokazuje bieżące otwarcie zaworu w procentach ($.status.trv:0.pos), gdzie 0 % oznacza całkowicie zamknięty, a 100 % całkowicie otwarty. Położenie zaworu sterowane jest przez wewnętrzną pętlę regulacyjną TRV — szablon tylko je odczytuje.

Bateria

Poziom naładowania baterii jest udostępniany jako 5-stanowy wskaźnik zmapowany z surowej wartości procentowej ($.battery):

StanPoziom bateriiIkona
Krytyczny< 25 %Bateria prawie wyczerpana
Niski25–50 %Niski poziom baterii
Normalny50–75 %Średni poziom baterii
Pełny> 75 %Bateria pełna
ŁadowanieŁadowanie (nietypowe dla ogniw AA)Ikona ładowania

Service attribute Wartość [%] udostępnia surowy odczyt baterii 0–100 %. Na poziomie modułu automatycznie generowane są ostrzeżenia, gdy poziom baterii spadnie poniżej 50 % (Niski poziom baterii) oraz poniżej 25 % (Krytycznie niski poziom baterii).

Diagnostyka i akcje

Sygnały na poziomie modułu:

  • Siła odbieranego sygnału — RSSI (dBm) łącza BLE pomiędzy bramą a TRV ($.rssi)
  • Automatyczne ostrzeżenie, gdy $.update.has_update ma wartość true (dostępna aktualizacja firmware poprzez Shelly Smart Control)
  • Automatyczny błąd z treścią $.trv[0].errors, gdy TRV zgłasza problem

Dostępne są dwie akcje serwisowe na poziomie modułu:

  • Restart — restartuje sparowaną głowicę poprzez Shelly.Reboot przekazywaną przez BluTrv.Call
  • Kalibracja — uruchamia kalibrację silnika krokowego (TRV.Calibrate) poprzez bramę. Kalibracja trwa do 10 sekund, w czasie których TRV nie odpowiada. Wymagana po pierwszym montażu lub zmianie adaptera.

Rozwiązywanie problemów

Brama jest niedostępna
  1. Sprawdź, czy brama jest zasilana (świeci dioda LED USB-A) i czy dołączyła do sieci Wi-Fi/LAN (widoczna w aplikacji Shelly Smart Control)
  2. Otwórz w przeglądarce http://<gateway-ip>/rpc/Shelly.GetDeviceInfo — odpowiedź JSON potwierdza dostępność bramy
  3. Jeśli IP uległo zmianie po odnowieniu dzierżawy DHCP, spróbuj hostnamu mDNS shellyblugwg3-<MAC>.local (brama ogłasza _http._tcp.local.)
  4. Upewnij się, że HTTP Digest Auth jest wyłączone na bramie (Settings → Authentication)
Błędy TRV zgłaszane w TapHome

Szablon przekazuje $.trv[0].errors jako ogólny ciąg błędu. Typowe flagi i rozwiązania:

  • not_calibrated — uruchom akcję Kalibracja; kalibracja musi zakończyć się w ciągu 10 sekund bez ręcznej ingerencji w zawór
  • not_mounted — tylna pokrywa TRV jest otwarta lub korpus zaworu nie jest prawidłowo osadzony; ponownie zamontuj TRV na zaworze i zamknij komorę baterii
  • battery_low — wymień 2× ogniwa AA; ostrzeżenia o baterii są również generowane automatycznie po spadku poniżej 50 % / 25 %
  • ext_temp_missing — zewnętrzny czujnik został skonfigurowany na TRV, ale przestał przesyłać odczyty; albo ponownie sparuj czujnik, albo wyczyść zewnętrzny odczyt
Zmiana temperatury zadanej nie jest stosowana
  1. Sprawdź service attribute stanu zaworu — jeśli wynosi 0 %, a temperatura zadana jest wyższa niż bieżąca, zawór prawdopodobnie wymaga ponownej kalibracji
  2. Upewnij się, że nie jest aktywne ręczne nadpisanie (pierścień obrotowy, aplikacja Shelly lub TRV.SetPosition z innego klienta) — zapis wartości zadanej z termostatu TapHome przywraca regulację automatyczną, ale każde lokalne obrócenie pierścienia na TRV ma natychmiastowe pierwszeństwo
  3. Potwierdź jakość łącza BLE — RSSI poniżej −85 dBm często powoduje 1–3 s dodatkowego opóźnienia i okazjonalnie zgubione polecenia; rozważ zbliżenie bramy do TRV (zasięg wewnątrz pomieszczenia ≤ 10 m)
Ostrzeżenie o aktualizacji firmware

Szablon generuje ostrzeżenie o aktualizacji firmware, gdy $.update.has_update ma wartość true. Aktualizacje firmware dla BLU TRV muszą być wykonywane przez aplikację Shelly Smart Control — nie są udostępnione przez lokalne RPC.

Opóźnienie round-trip BLE między bramą a TRV wynosi typowo 1–3 sekundy. Szablon odpytuje co 3000 ms, co jest już blisko praktycznego minimum — dalsze obniżanie tej wartości zwiększa kolizje BLE bez poprawy reakcji.

Jak zainstalować w TapHome

Wymagania wstępne

  • Urządzenie Shelly zainstalowane i włączone
  • Lokalna sieć Wi-Fi (2,4 GHz)
  • TapHome CCU w tej samej sieci

Krok 1 — Podłącz Shelly do Wi-Fi

Opcja A — Aplikacja Shelly (zalecana):

  1. Pobierz aplikację Shelly (iOS / Android)
  2. Dotknij +Add Device i postępuj zgodnie z kreatorem parowania Bluetooth
  3. Wprowadź dane logowania Wi-Fi, gdy zostaniesz o to poproszony

Opcja B — Tryb AP (bez aplikacji):

  1. Przy pierwszym uruchomieniu urządzenie tworzy hotspot: ShellyXXX-AABBCCDDEE
  2. Połącz telefon/PC z tym hotspotem
  3. Otwórz http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Wprowadź SSID i hasło → Save

Shelly obsługuje tylko sieci 2,4 GHz. Sieci 5 GHz nie pojawią się podczas skanowania.

Krok 2 — Znajdź adres IP

Po połączeniu z Wi-Fi znajdź przypisany adres IP za pomocą jednej z poniższych metod:

  • Aplikacja Shelly: Szczegóły urządzenia → Device info → Adres IP
  • Interfejs webowy Shelly: Połącz się z AP urządzenia przed konfiguracją Wi-Fi — IP zostanie wyświetlone po zapisaniu
  • Tabela DHCP routera: Szukaj nazwy hosta takiej jak shelly1pm-AABBCCDDEE
  • mDNS: Pinguj shelly<model>-<mac>.local (np. shelly1pm-AABBCCDDEE.local) z tej samej sieci

Przypisz urządzeniu Shelly statyczny IP (rezerwację DHCP) w routerze, aby adres nie zmieniał się po ponownym uruchomieniu routera.

Krok 3 — Konfiguracja w TapHome

  1. W TapHome dodaj nowy moduł Packet Parser (HTTP)
  2. IP Address: wprowadź IP z kroku 2 (np. 192.168.1.50)
  3. Port: 80 (domyślny, nie wymaga zmiany)
  4. Zaimportuj szablon — TapHome będzie okresowo odpytywać /status w celu odczytu stanu urządzenia

Uwierzytelnianie HTTP jest domyślnie wyłączone na urządzeniach Shelly. Jeśli włączyłeś ochronę logowaniem, TapHome obecnie nie obsługuje HTTP Basic Auth — pozostaw uwierzytelnianie wyłączone dla integracji z TapHome.

Dostępne urządzenia

Shelly BLU TRV Moduł
Atrybuty serwisowe
Siła odbieranego sygnałuSiła sygnału Bluetooth LE między bramą a TRV (dBm)
Akcje serwisowe
Restart
KalibracjaUruchamia kalibrację silnika krokowego (do 10 sekund); wymagana po pierwszym montażu lub zmianie adaptera
Zmienne niestandardowe
ID (numeric) = IDID komponentu BLU TRV na bramie (przypisywane podczas parowania, zwykle 200+)
Open the Shelly BLU Gateway Gen3 web UI → paired devices → copy the component ID assigned to this TRV

Shelly BLU TRV

Odczyt (moduł)
VAR response := SENDHTTPREQUEST("/rpc/BluTrv.GetStatus?id=" + ID);
IF response.IsSuccess
    Status := response.Content;
END

response := SENDHTTPREQUEST("/rpc/BluTrv.GetConfig?id=" + ID);
IF response.IsSuccess
    Config := response.Content;
END

response := SENDHTTPREQUEST("/rpc/BluTrv.GetRemoteStatus?id=" + ID);
IF response.IsSuccess
    RemoteStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/BluTrv.GetRemoteConfig?id=" + ID);
IF response.IsSuccess
    RemoteConfig := response.Content;
END

if(PARSEJSON(RemoteStatus, "$.trv[0].errors", true), adderror("Error: " + PARSEJSON(RemoteStatus, "$.trv[0].errors")));
if(PARSEJSON(Status, "$.update.has_update", true), addwarning("Firmware update is available"));

var battery := PARSEJSON(Status, "$.battery");
if battery < 25
    addwarning("Battery charge is criticaly low");
elseif battery < 50
    addwarning("Low battery");
end
Atrybuty serwisowe
Received signal strength
PARSEJSON(Status, "$.rssi")
Akcje serwisowe
Reboot
VAR response := SENDHTTPREQUEST("rpc/BluTrv.Call?id=" + ID + "&method=\"Shelly.Reboot\"&params={\"id\":0}");
if(response.IsSuccess, return("OK"), return(response.Content));
Calibrate
VAR response := SENDHTTPREQUEST("rpc/BluTrv.Call?id=" + ID + "&method=\"TRV.Calibrate\"&params={\"id\":0}");
if(response.IsSuccess, return("OK"), return(response.Content));
Bateria Przełącznik wielowartościowy Tylko do odczytu

Wskaźnik stanu baterii — Krytyczny (<25 %), Niski (25–50 %), Normalny (50–75 %), Pełny (>75 %), Ładowanie

numeric Jednostka: % numeric
Wartości / Stany: Critical · Low · Normal · Full · Charging

Bateria

Odczyt stanu przełącznika
var battery := PARSEJSON(Status, "$.battery");
if battery > 75
    return(3);
elseif battery > 50
    return(2);
elseif battery > 25
    return(1);
else
    return(0);
end
Atrybuty serwisowe
Value [%]
PARSEJSON(Status, "$.battery");
Termostat Termostat

Termostat zaworu grzejnikowego — odczytuje bieżącą temperaturę i zapisuje wartość zadaną (4–31 °C) poprzez BLU Gateway Gen3

numeric Jednostka: °C
Atrybuty serwisowe
Stan zaworu [%]Aktualne położenie otwarcia zaworu (0 % = zamknięty, 100 % = całkowicie otwarty)

Termostat

Odczyt temperatury
PARSEJSON(RemoteStatus, "$.status.trv:0.current_C")
Odczyt temperatury zadanej
PARSEJSON(RemoteStatus, "$.status.trv:0.target_C")
Zapis temperatury zadanej
VAR response := SENDHTTPREQUEST("rpc/BluTrv.Call?id=" + ID + "&method=\"TRV.SetTarget\"&params={\"id\":0,\"target_C\":" + Se + "}");
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Atrybuty serwisowe
${device_variable_valvestate} [%]
PARSEJSON(RemoteStatus, "$.status.trv:0.pos")
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (14)
  • Manual valve position — Sets the valve to a fixed opening percentage (0-100%); disables automatic regulation until TRV.SetTarget is written again. Could be added as a service action.
  • Boost mode — Temporarily opens the valve fully for rapid room warm-up; accepts an optional duration (seconds). Could be exposed as a service action.
  • Clear boost — Terminates an active boost and restores the normal target temperature.
  • Temporary override — Temporarily overrides the target for a given duration (seconds); auto-expires back to the scheduled target.
  • Clear override — Terminates an active override and restores the regular target.
  • External temperature input — Supplies a temperature reading from an external sensor (e.g. room sensor) to the TRV regulation loop.
  • TRV flags (floor_heating, accel, auto_calibrate, anticlog, silent_mode, power_save) — Toggle operating flags that affect regulation behaviour (e.g. floor-heating mode keeps valve from fully closing).
  • Boost / override state — Object with started_at and duration when boost or override is active; currently not surfaced as a service attribute.
  • Error / state flags (not_calibrated, not_mounted, battery_low, ext_temp_missing) — Template only forwards $.trv[0].errors as a generic error string; individual flags are not exposed as discrete sensors.
  • Local schedule rules (up to 10) — Shelly Cron-formatted daily/weekly rules stored on the TRV. TapHome normally drives scheduling externally via smart rules, so this is not exposed.
  • Display message — Shows up to 10 characters of scrolling text on the TRV 7-segment display.
  • Factory reset — Resets configuration to defaults; pairing information is preserved.
  • System diagnostics — Uptime, RAM and clock information from the paired TRV system status; not surfaced in the template.
  • Humidity sensor — BLU TRV can ingest humidity from paired BLU H&T peripherals; the template contains an empty ReadHumidityScriptPacketParser so this capability is not implemented.

Źródła