
Shelly UNI to kompaktowy uniwersalny moduł Wi-Fi I/O (20 × 33 × 13 mm) z platformy Shelly Gen1. Udostępnia jedno wejście napięciowe ADC, dwa bezpotencjałowe wyjścia open-collector oraz dwa wejścia cyfrowe — przeznaczony do doposażenia starszych urządzeń bez centrali.
TapHome komunikuje się z urządzeniem przez MQTT. Szablon subskrybuje drzewo tematów shellies/<prefix>/... i publikuje polecenia do .../relay/{0,1}/command. Moduł udostępnia 5 urządzeń: 1 wejście analogowe, 2 przełączniki i 2 kontakty reed.
Połączenie sprzętowe
Zasilanie
Shelly UNI to moduł niskonapięciowy i nie może być zasilany bezpośrednio z sieci 230 V. Zasil go:
- 12–36 V DC przez przewód czerwony (+) i czarny (GND), lub
- 12–24 V AC przez przewód czerwony i czarny (bez polaryzacji)
Wymagany jest zewnętrzny zasilacz niskonapięciowy. Pobór mocy urządzenia wynosi poniżej 1 W.
Nie podłączaj przewodu czerwonego/czarnego do napięcia sieciowego. Na zaciskach IN_1 / IN_2 / OUT1 / OUT2 może w zależności od obwodu zewnętrznego występować niebezpieczne napięcie — instalację musi wykonać wykwalifikowany elektryk.
Oznaczenia przewodu pigtail
Urządzenie dostarczane jest z kolorowo oznaczonym przewodem pigtail:
| Przewód | Zacisk | Funkcja |
|---|---|---|
| Czerwony | VCC | 12–36 V DC (lub 12–24 V AC razem z czarnym) |
| Czarny | GND | Masa (lub faza AC z czerwonym) |
| Biały | ADC_IN | Wejście analogowe (zakres 0–12 V lub 0–30 V) |
| Żółty | VCC_SENSOR | Wyjście 3,3 V DC dla czujników one-wire |
| Niebieski | DATA_SENSOR | Dane one-wire (DS18B20 / DHT22) |
| Zielony | GND_SENSOR | Masa czujnika |
| Jasnobrązowy | IN_1 | Wejście cyfrowe 1 |
| Ciemnobrązowy | IN_2 | Wejście cyfrowe 2 |
Dwa bezpotencjałowe wyjścia są oznaczone na obudowie modułu jako OUT1 i OUT2.
Wejścia cyfrowe (IN_1, IN_2)
Każde wejście cyfrowe jest bezpotencjałowe i może być sterowane źródłem DC lub AC:
- DC: HIGH przy ≥ 2,2 V, LOW poniżej 2,2 V, maks. 36 V DC
- AC: HIGH przy ≥ 12 V, LOW poniżej 12 V, maks. 24 V AC
Typowe zastosowania to kontakty reed (czujniki okien/drzwi, wyłączniki pływakowe) oraz przyciski zwierające wejście do GND przez zewnętrzne zasilanie.




Wyjścia bezpotencjałowe (OUT1, OUT2)
Każde wyjście to bezpotencjałowy kontakt open-collector z następującymi wartościami granicznymi:
- maksymalny prąd 100 mA
- maksymalna moc 300 mW
- maksymalne napięcie łączeniowe 24 V AC lub 36 V DC
Te parametry są zbyt niskie dla obciążeń sieciowych — do przełączania rzeczywistych obciążeń (oświetlenie, pompy, zawory) podłącz wyjścia do zewnętrznego przekaźnika lub stycznika i zasil jego cewkę z odpowiedniego źródła niskonapięciowego.

Wejście analogowe (ADC)
Jeden kanał ADC na białym przewodzie (ADC_IN) obsługuje dwa zakresy napięciowe, wybierane w interfejsie webowym Shelly:
- 0–12 V — wyższa rozdzielczość dla sygnałów niskonapięciowych
- 0–30 V — szerszy zakres do monitorowania baterii / szyny DC
Wybrany zakres jest zapisywany tylko w urządzeniu — szablon TapHome odczytuje surową publikowaną wartość i nie wykrywa, który zakres jest aktywny. Upewnij się, że zakres ADC Shelly odpowiada sygnałowi podłączonemu do białego przewodu.

Konfiguracja
Shelly-ID i prefiks MQTT
Każdy Shelly UNI ma unikalne Shelly-ID równe ostatnim 6 znakom jego adresu MAC (np. 35FA58). Wynikowy prefiks tematu MQTT to shellyuni-<Shelly-ID> (np. shellyuni-35fa58).
Shelly-ID znajdziesz:
- Na etykiecie urządzenia (adres MAC)
- W interfejsie webowym Shelly: Settings → Device Info
- Przez API:
GET http://<device-ip>/settings→ poledevice.hostname
Urządzenia Shelly Gen1 ogłaszają się przez mDNS jako
shellyuni-<Shelly-ID>.local. Możesz użyć tej nazwy hosta zamiast stałego adresu IP, aby dotrzeć do interfejsu webowego.
Włączenie MQTT
W nowym urządzeniu MQTT jest wyłączony. Włącz go przed importem szablonu TapHome:
- Połącz się z punktem dostępowym urządzenia
shellyuni-XXXXXX(hasło jest wydrukowane na urządzeniu) lub znajdź go w sieci lokalnej - Otwórz interfejs webowy pod adresem
http://192.168.33.1/(tryb AP) lub pod adresem LAN IP - Przejdź do Internet & Security → Advanced — Developer Settings
- Zaznacz Enable action execution via MQTT
- Ustaw IP i port brokera (domyślnie
1883), pola użytkownika i hasła pozostaw puste — TapHome nie obsługuje uwierzytelniania MQTT w Gen1 - Zapisz i zrestartuj urządzenie
Włączenie MQTT wyłącza połączenie z Shelly Cloud w urządzeniach Gen1. Jest to zamierzone — urządzenie nie może utrzymać obu połączeń jednocześnie. Aplikacja mobilna Shelly nie będzie już sterować urządzeniem przez chmurę; używaj MQTT lub lokalnego interfejsu webowego.
Urządzenia Shelly Gen1 nie obsługują MQTT po TLS. Komunikacja pomiędzy urządzeniem a brokerem jest nieszyfrowana (zwykły MQTT, port 1883). Trzymaj brokera w zaufanej sieci lokalnej.
Konfiguracja szablonu
Podczas importu szablonu do TapHome podaj:
- IpAddress — adres IP brokera MQTT
- Port — port brokera (domyślnie
1883) - DeviceID — 6-znakowe Shelly-ID konkretnego UNI (np.
35fa58)
Parametr importu DeviceID służy do zbudowania zmiennej custom MQTTprefix (domyślnie shellyuni-$[DeviceID]). Jeśli ustawiłeś na urządzeniu Shelly własne mqtt_id (nadpisujące domyślne), po imporcie zmodyfikuj w module zmienną MQTTprefix, aby się zgadzała.
Wyłącz uwierzytelnianie HTTP na urządzeniu Shelly (Internet & Security → Restrict Login). TapHome w tym szablonie nie używa HTTP, ale pozostawione uwierzytelnianie może skomplikować diagnostykę i aktualizacje firmware’u.
Możliwości urządzenia
Pomiar napięcia analogowego
Urządzenie Analog Input odczytuje napięcie ADC z shellies/<prefix>/adc/0 i udostępnia je jako wartość liczbową w woltach. Skrypt parsuje przychodzący payload przez TODOUBLE(TOSTRING(PAYLOAD)) — bez skalowania.
Rzeczywisty zakres pomiaru (0–12 V lub 0–30 V) jest skonfigurowany bezpośrednio na urządzeniu Shelly i nie jest wysyłany przez MQTT. Szablon TapHome nie może zweryfikować, który zakres jest aktywny.
Wyjścia przełączające
Oba wyjścia open-collector są udostępnione jako standardowe urządzenia Switch w TapHome:
- Switch 1 — OUT_1, temat
shellies/<prefix>/relay/0, temat poleceń.../relay/0/command - Switch 2 — OUT_2, temat
shellies/<prefix>/relay/1, temat poleceń.../relay/1/command
Listener mapuje payload on → ON (St=1) oraz off → OFF (St=0). Polecenia z TapHome są publikowane jako on / off na odpowiedni temat poleceń.
Wyjścia są bezpotencjałowe i ograniczone do 100 mA / 300 mW. Nie podłączaj obciążeń sieciowych bezpośrednio — do wszystkiego cięższego niż urządzenia sygnalizacyjne niskiej mocy użyj zewnętrznego przekaźnika lub stycznika.
Wejścia cyfrowe (kontakty reed)
Oba wejścia cyfrowe są udostępnione jako urządzenia Reed Contact z odwróconą logiką:
- Reed Contact 1 — IN_1, temat
shellies/<prefix>/input/0 - Reed Contact 2 — IN_2, temat
shellies/<prefix>/input/1
Firmware Shelly publikuje 1, gdy wejście widzi napięcie powyżej progu, oraz 0, gdy wejście jest ściągnięte do GND. Ponieważ kontakty reed i przyciski zazwyczaj zwierają wejście do GND w stanie zamkniętym / aktywnym, skrypt TapHome odwraca payload:
| |
Oznacza to, że Rc=1 w TapHome = kontakt zamknięty (aktywny, czujnik otwarcia okna wyzwolony, przycisk wciśnięty), Rc=0 = kontakt otwarty (nieaktywny).
Dodatkowe możliwości
Sprzęt Shelly UNI obsługuje również do 3 × DS18B20 czujników temperatury na magistrali one-wire oraz — alternatywnie — 1 × DHT22 czujnik wilgotności/temperatury. Te czujniki publikują na shellies/<prefix>/ext_temperature/{0,1,2} i shellies/<prefix>/ext_humidity/0. Obecny szablon MQTT nie podłącza tych tematów do urządzeń TapHome; mogą zostać dodane w przyszłej aktualizacji szablonu.
Podobnie urządzenie udostępnia temat online/offline LWT oraz zdarzenia wejściowe (input events) krótkiego/długiego naciśnięcia na input_event/{0,1}, które nie są wykorzystywane przez ten szablon.
Dla wyzwalaczy scen opartych na zdarzeniach przycisków (krótkie, długie naciśnięcie) temat
input_eventmożna dziś subskrybować z osobnego klienta MQTT — szablon TapHome śledzi tylko surowy stan wejścia.
Rozwiązywanie problemów
Urządzenie nie odpowiada
- Sprawdź, czy Shelly UNI jest zasilany (czerwony/czarny na 12–36 V DC lub 12–24 V AC) i podłączony do Wi-Fi
- Otwórz interfejs webowy Shelly przez nazwę hosta mDNS
shellyuni-<Shelly-ID>.locallub jego IP DHCP - Sprawdź, czy MQTT jest włączony (Internet & Security → Advanced) i czy IP/port brokera odpowiadają parametrom importu TapHome
- Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować
shellies/#i zweryfikować, że urządzenie publikuje wiadomości
Przełączniki się nie przełączają
- Sprawdź ścieżkę tematu poleceń — musi być
shellies/<prefix>/relay/0/command(nie.../relay/0/set) - Upewnij się, że zmienna
MQTTprefixmodułu TapHome odpowiada prefiksowi tematu, na którym urządzenie rzeczywiście publikuje - Pamiętaj, że wyjścia są bezpotencjałowe — bez zewnętrznego obwodu dostarczającego napięcie stan wyjścia się zmienia, ale żadne obciążenie nie jest przełączane
Stan kontaktu reed jest odwrócony
Szablon zakłada, że payload=0 oznacza „kontakt zamknięty". Jeśli okablowanie zewnętrzne podnosi wejście do HIGH, gdy kontakt jest aktywny (odwrotne okablowanie), stan w TapHome pojawi się odwrócony. Przepodłącz tak, aby kontakt w stanie aktywnym zwierał IN_1 / IN_2 do GND, lub dostosuj logikę we własnym skrypcie.
Wartość ADC poza oczekiwanym zakresem
Zakres ADC (0–12 V lub 0–30 V) jest ustawiany na urządzeniu i nie można go odczytać zwrotnie przez MQTT. Jeśli wartość liczbowa w TapHome wygląda błędnie (np. 2× wyższa lub niższa niż oczekiwana), otwórz interfejs webowy Shelly i sprawdź Settings → ADC range. Szablon zakłada, że urządzenie publikuje napięcie bezpośrednio i nie przeprowadza konwersji.