TapHome

Shelly UNI

Packet Parser → MQTT
Pridal
Posledná aktualizácia: 06. 2026
Shelly UNI

Shelly UNI je kompaktný univerzálny Wi-Fi I/O modul (20 × 33 × 13 mm) z platformy Shelly Gen1. Poskytuje jeden ADC napäťový vstup, dva bezpotenciálové výstupy s otvoreným kolektorom a dva digitálne vstupy — určený na dovybavenie existujúcich spotrebičov bez centrály.

TapHome komunikuje so zariadením cez MQTT. Šablóna sa prihlasuje na strom topicov shellies/<prefix>/... a publikuje príkazy na .../relay/{0,1}/command. Modul poskytuje 5 zariadení: 1 analógový vstup, 2 spínače a 2 jazýčkové kontakty.

Hardvérové zapojenie

Napájanie

Shelly UNI je nízkonapäťový modul a nedá sa napájať priamo zo siete 230 V. Napájaj buď:

  • 12–36 V DC cez červený (+) a čierny (GND) vodič, alebo
  • 12–24 V AC cez červený a čierny vodič (bez polarity)

Potrebný je externý nízkonapäťový adaptér. Spotreba zariadenia je pod 1 W.

Červený/čierny vodič nepripájaj na sieťové napätie. Na svorkách IN_1 / IN_2 / OUT1 / OUT2 môže byť podľa externého zapojenia stále nebezpečné napätie — inštaláciu musí vykonať kvalifikovaný elektrikár.

Legenda k pigtail káblu

Zariadenie sa dodáva s farebne označeným pigtail káblom:

VodičSvorkaFunkcia
ČervenýVCC12–36 V DC (alebo 12–24 V AC spoločne s čiernym)
ČiernyGNDZem (alebo AC fáza s červeným)
BielyADC_INAnalógový vstup (rozsah 0–12 V alebo 0–30 V)
ŽltýVCC_SENSORVýstup 3,3 V DC pre one-wire senzory
ModrýDATA_SENSOROne-wire dáta (DS18B20 / DHT22)
ZelenýGND_SENSORZem senzora
SvetlohnedýIN_1Digitálny vstup 1
TmavohnedýIN_2Digitálny vstup 2

Dva bezpotenciálové výstupy sú na tele modulu označené OUT1 a OUT2.

Digitálne vstupy (IN_1, IN_2)

Každý digitálny vstup je bezpotenciálový a môže byť riadený DC alebo AC zdrojom:

  • DC: HIGH pri ≥ 2,2 V, LOW pod 2,2 V, max 36 V DC
  • AC: HIGH pri ≥ 12 V, LOW pod 12 V, max 24 V AC

Typické použitie sú jazýčkové kontakty (senzory okien/dverí, plavákové spínače) a tlačidlá skratujúce vstup na GND cez externé napájanie.

Zapojenie jazýčkového kontaktu Shelly UNI s DC napájaním
Zapojenie jazýčkového kontaktu Shelly UNI s AC napájaním
Zapojenie tlačidla/spínača Shelly UNI s DC napájaním
Zapojenie tlačidla/spínača Shelly UNI s AC napájaním
Bezpotenciálové výstupy (OUT1, OUT2)

Každý výstup je bezpotenciálový kontakt s otvoreným kolektorom s týmito absolútnymi limitmi:

  • maximálny prúd 100 mA
  • maximálny výkon 300 mW
  • maximálne spínané napätie 24 V AC alebo 36 V DC

Tieto parametre sú príliš nízke pre sieťové záťaže — na spínanie reálnych záťaží (svetlá, čerpadlá, ventily) pripoj výstupy na externé relé alebo stýkač a cievku tohto relé napájaj zodpovedajúcim nízkonapäťovým zdrojom.

Schéma zapojenia bezpotenciálového výstupu Shelly UNI
Analógový vstup (ADC)

Jeden ADC kanál na bielom vodiči (ADC_IN) podporuje dva napäťové rozsahy voliteľné vo webovom rozhraní Shelly:

  • 0–12 V — vyššie rozlíšenie pre nízkonapäťové signály
  • 0–30 V — širší rozsah pre sledovanie batérie / DC linky

Vybraný rozsah sa uchováva len v zariadení — šablóna TapHome číta surovú publikovanú hodnotu a nedokáže zistiť, ktorý rozsah je aktívny. Uisti sa, že ADC rozsah Shelly zodpovedá signálu, ktorý pripájaš na biely vodič.

Schéma zapojenia ADC vstupu Shelly UNI

Konfigurácia

Shelly-ID a MQTT prefix

Každý Shelly UNI má jedinečné Shelly-ID rovnajúce sa posledným 6 znakom jeho MAC adresy (napr. 35FA58). Výsledný MQTT topic prefix je shellyuni-<Shelly-ID> (napr. shellyuni-35fa58).

Shelly-ID nájdeš:

  • Na štítku zariadenia (MAC adresa)
  • Vo webovom rozhraní Shelly: SettingsDevice Info
  • Cez API: GET http://<device-ip>/settings → pole device.hostname

Shelly Gen1 zariadenia sa oznamujú cez mDNS ako shellyuni-<Shelly-ID>.local. Tento hostname môžeš použiť namiesto pevnej IP adresy na prístup do webového rozhrania.

Zapnutie MQTT

Na novom zariadení je MQTT vypnuté. Zapni ho pred importom šablóny TapHome:

  1. Pripoj sa na prístupový bod zariadenia shellyuni-XXXXXX (heslo je vytlačené na zariadení) alebo ho nájdi v lokálnej sieti
  2. Otvor webové rozhranie na http://192.168.33.1/ (AP mód) alebo na LAN IP
  3. Prejdi na Internet & SecurityAdvanced — Developer Settings
  4. Zaškrtni Enable action execution via MQTT
  5. Nastav IP a port brokera (predvolene 1883), pole používateľa a hesla nechaj prázdne — TapHome na Gen1 nepodporuje MQTT autentifikáciu
  6. Ulož a reštartuj zariadenie

Zapnutie MQTT vypne pripojenie k Shelly Cloud na Gen1 zariadeniach. Je to zámerné — zariadenie nedokáže udržať obe spojenia naraz. Mobilná aplikácia Shelly nebude cez cloud ovládať zariadenie; použi MQTT alebo lokálne webové rozhranie.

Shelly Gen1 zariadenia nepodporujú MQTT cez TLS. Komunikácia medzi zariadením a brokerom je nešifrovaná (obyčajné MQTT, port 1883). Ponechaj broker v dôveryhodnej lokálnej sieti.

Nastavenie šablóny

Pri importe šablóny do TapHome zadaj:

  • IpAddress — IP adresa MQTT brokera
  • Port — port brokera (predvolene 1883)
  • DeviceID — 6-znakové Shelly-ID konkrétneho UNI (napr. 35fa58)

Importný parameter DeviceID sa používa na zostavenie custom premennej MQTTprefix (predvolene shellyuni-$[DeviceID]). Ak si na zariadení Shelly nastavil vlastný mqtt_id (prepisujúci predvolený), uprav po importe premennú MQTTprefix na module, aby sedela.

Na zariadení Shelly vypni HTTP autentifikáciu (Internet & SecurityRestrict Login). TapHome v tejto šablóne HTTP nepoužíva, ale ponechaná autentifikácia môže skomplikovať diagnostiku a aktualizácie firmvéru.

Možnosti zariadenia

Meranie analógového napätia

Zariadenie Analog Input číta ADC napätie z shellies/<prefix>/adc/0 a vystavuje ho ako číselnú hodnotu vo voltoch. Skript parsuje prichádzajúcu správu cez TODOUBLE(TOSTRING(PAYLOAD)) — bez akéhokoľvek škálovania.

Skutočný rozsah merania (0–12 V alebo 0–30 V) je nakonfigurovaný priamo na zariadení Shelly a cez MQTT sa neposiela. Šablóna TapHome nedokáže overiť, ktorý rozsah je aktívny.

Spínacie výstupy

Oba výstupy s otvoreným kolektorom sú vystavené ako štandardné TapHome Switch zariadenia:

  • Switch 1 — OUT_1, topic shellies/<prefix>/relay/0, príkazový topic .../relay/0/command
  • Switch 2 — OUT_2, topic shellies/<prefix>/relay/1, príkazový topic .../relay/1/command

Listener mapuje payload on → ON (St=1) a off → OFF (St=0). Príkazy z TapHome sa publikujú ako on / off na príslušný príkazový topic.

Výstupy sú bezpotenciálové a obmedzené na 100 mA / 300 mW. Nepripájaj sieťové záťaže priamo — na čokoľvek vyššie ako nízkopríkonové signalizačné zariadenia použi externé relé alebo stýkač.

Digitálne vstupy (jazýčkové kontakty)

Oba digitálne vstupy sú vystavené ako zariadenia Reed Contact s invertovanou logikou:

  • Reed Contact 1 — IN_1, topic shellies/<prefix>/input/0
  • Reed Contact 2 — IN_2, topic shellies/<prefix>/input/1

Firmvér Shelly publikuje 1 keď vstup vidí napätie nad svojím prahom a 0 keď je vstup stiahnutý na GND. Pretože jazýčkové kontakty a tlačidlá typicky skratujú vstup na GND v zatvorenom / aktívnom stave, skript TapHome payload invertuje:

1
Rc := IF(payload = "0", 1, 0)

To znamená, že Rc=1 v TapHome = kontakt zatvorený (aktívny, senzor otvorenia okna zopnutý, tlačidlo stlačené), Rc=0 = kontakt otvorený (neaktívny).

Ďalšie možnosti

Hardvér Shelly UNI podporuje aj až 3 × DS18B20 teplotné senzory na one-wire zbernici a — ako alternatívu — 1 × DHT22 senzor vlhkosti/teploty. Tieto senzory publikujú na shellies/<prefix>/ext_temperature/{0,1,2} a shellies/<prefix>/ext_humidity/0. Aktuálna MQTT šablóna tieto topicy nezapája do zariadení TapHome; môžu byť pridané v budúcej aktualizácii šablóny.

Podobne zariadenie vystavuje topic online/offline LWT a vstupné udalosti (input events) krátkeho/dlhého stlačenia na input_event/{0,1}, ktoré táto šablóna nespracováva.

Pre triggre scén podľa udalostí tlačidla (krátke stlačenie, dlhé stlačenie) sa dá topic input_event dnes odoberať zo samostatného MQTT klienta — šablóna TapHome sleduje len surový stav vstupu.

Riešenie problémov

Zariadenie neodpovedá
  1. Over, že Shelly UNI je napájané (červený/čierny na 12–36 V DC alebo 12–24 V AC) a pripojené k Wi-Fi
  2. Otvor webové rozhranie Shelly cez mDNS hostname shellyuni-<Shelly-ID>.local alebo jeho DHCP IP
  3. Over, že MQTT je zapnuté (Internet & SecurityAdvanced) a IP/port brokera zodpovedajú parametrom importu TapHome
  4. Použi MQTT klienta (napr. MQTT Explorer) na odber shellies/# a over, že zariadenie publikuje správy
Spínače sa neprepínajú
  1. Skontroluj cestu príkazového topicu — musí byť shellies/<prefix>/relay/0/command (nie .../relay/0/set)
  2. Over, že premenná MQTTprefix modulu TapHome zodpovedá topic prefixu, na ktorom zariadenie skutočne publikuje
  3. Pamätaj, že výstupy sú bezpotenciálové — bez externého obvodu dodávajúceho napätie sa stav výstupu mení, ale žiadna záťaž sa nespína
Stav jazýčkového kontaktu je obrátený

Šablóna predpokladá, že payload=0 znamená „kontakt zatvorený". Ak externé zapojenie ťahá vstup do HIGH keď je kontakt aktívny (opačné zapojenie), stav sa v TapHome javí obrátene. Prepoj tak, aby kontakt skratoval IN_1 / IN_2 na GND keď je aktívny, alebo uprav logiku vo vlastnom skripte.

ADC hodnota mimo očakávaný rozsah

ADC rozsah (0–12 V alebo 0–30 V) je nastavený na zariadení a nedá sa spätne načítať cez MQTT. Ak sa číselná hodnota v TapHome zdá nesprávna (napr. 2× vyššia alebo nižšia než očakávaš), otvor webové rozhranie Shelly a skontroluj SettingsADC range. Šablóna predpokladá, že zariadenie publikuje napätie priamo a nerobí žiadnu konverziu.

Ako nainštalovať v TapHome

Predpoklady

  • Zariadenie Shelly pripojené k Wi-Fi (ak ešte nie, pozrite návod na HTTP pripojenie)
  • MQTT broker bežiaci vo vašej lokálnej sieti (napr. Mosquitto, Home Assistant alebo vstavaný broker TapHome)
  • TapHome CCU v rovnakej sieti ako broker

Na zariadeniach Gen1 povolenie MQTT vypne Shelly Cloud. Oboje nemôže bežať súčasne. Na zariadeniach Gen2/Plus toto obmedzenie neplatí.

Krok 1 — Povoľte MQTT na zariadení Shelly

Zariadenia Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Otvorte webové rozhranie Shelly: http://<device-ip>/
  2. Prejdite na Internet & SecurityAdvanced — MQTT
  3. Povoľte MQTT
  4. Nastavte MQTT Server: <broker-ip>:<port> (napr. 192.168.1.10:1883)
  5. Voliteľne nastavte MQTT User a MQTT Password, ak váš broker vyžaduje autentifikáciu
  6. Kliknite na Save — zariadenie sa reštartuje a pripojí k brokeru

Zariadenia Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Otvorte webové rozhranie Shelly: http://<device-ip>/
  2. Prejdite na SettingsMQTT
  3. Povoľte MQTT
  4. Nastavte Server: <broker-ip>:<port> (napr. 192.168.1.10:1883)
  5. Client ID je predvyplnené ID zariadenia (napr. shellyplus1pm-AABBCCDDEE) — ponechajte tak, pokiaľ nemáte konkrétny dôvod na zmenu
  6. Kliknite na Save a reštartujte zariadenie

Na overenie funkčnosti MQTT použite MQTT klienta (napr. MQTT Explorer) a prihláste sa na odber shellies/# (Gen1) alebo <device-id>/# (Gen2). Mali by ste vidieť stavové správy zo zariadenia.

Krok 2 — Zistite Device ID / MQTT Client ID

Niektoré šablóny vyžadujú parameter Device ID alebo MQTT Client ID. Ide o jedinečný identifikátor používaný v MQTT topicoch.

  • Gen1: nachádza sa na štítku ako MAC adresa (napr. AABBCCDDEE). Device ID = shelly<model>-<mac>, napr. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nachádza sa vo webovom rozhraní Shelly v časti SettingsDevice InfoDevice ID, alebo na štítku zariadenia

Krok 3 — Konfigurácia v TapHome

  1. V TapHome pridajte nový modul Packet Parser (MQTT)
  2. IP Address: zadajte IP adresu MQTT brokera (napr. 192.168.1.10)
  3. Port: 1883 (predvolený; pre TLS použite 8883)
  4. Device ID / MQTT Client ID: zadajte hodnotu z kroku 2 (ak to šablóna vyžaduje)
  5. Importujte šablónu — TapHome sa automaticky prihlási na odber topicov zariadenia

Dostupné zariadenia

Shelly UNI Modul
Vlastné premenné
MQTTprefix (string) = shellyuni-$[DeviceID]MQTT topic prefix zariadenia Shelly UNI — predvolene shellyuni-{DeviceID} a používa sa ako základ pre všetky odoberané/publikované témy
Pass DeviceID as import parameter; find it in the Shelly web UI → Settings → Device Info (last 6 characters of MAC address). Custom mqtt_id set on the Shelly device overrides this default.
Analógový vstup Premenná Len na čítanie

Meranie napätia ADC — dvojitý rozsah 0–12 V alebo 0–30 V, volený na zariadení

numeric Jednotka: V

Analógový vstup

Listener
if RECEIVEDMSG.TOPIC = "shellies/" + MQTTprefix + "/adc/0"
    Va := TODOUBLE(TOSTRING(RECEIVEDMSG.PAYLOAD));
end
Spínač 1 Prepínač

Bezpotenciálový výstup s otvoreným kolektorom OUT_1 — max 100 mA / 300 mW, 24 V AC alebo 36 V DC

string
Hodnoty / Stavy: ON · OFF

Spínač 1

Zápis stavu prepínača
MQTTPUBLISH("shellies/" + MQTTprefix + "/relay/0/command", if(St, "on", "off"))
Listener
if RECEIVEDMSG.TOPIC = "shellies/" + MQTTprefix + "/relay/0"
    VAR payload := TOSTRING(RECEIVEDMSG.PAYLOAD);

    if(payload = "on", St := 1, St := 0);
end
Spínač 2 Prepínač

Bezpotenciálový výstup s otvoreným kolektorom OUT_2 — max 100 mA / 300 mW, 24 V AC alebo 36 V DC

string
Hodnoty / Stavy: ON · OFF

Spínač 2

Zápis stavu prepínača
MQTTPUBLISH("shellies/" + MQTTprefix + "/relay/1/command", if(St, "on", "off"))
Listener
if RECEIVEDMSG.TOPIC = "shellies/" + MQTTprefix + "/relay/1"
    VAR payload := TOSTRING(RECEIVEDMSG.PAYLOAD);

    if(payload = "on", St := 1, St := 0);
end
Jazýčkový kontakt 1 Jazýčkový kontakt Len na čítanie

Digitálny vstup IN_1 — invertovaná logika, kontakt spojený s GND = aktívny (1) v TapHome

string

Jazýčkový kontakt 1

Listener
if RECEIVEDMSG.TOPIC = "shellies/" + MQTTprefix + "/input/0"
    VAR payload := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Rc := if(payload = "0", 1, 0);
end
Jazýčkový kontakt 2 Jazýčkový kontakt Len na čítanie

Digitálny vstup IN_2 — invertovaná logika, kontakt spojený s GND = aktívny (1) v TapHome

string

Jazýčkový kontakt 2

Listener
if RECEIVEDMSG.TOPIC = "shellies/" + MQTTprefix + "/input/1"
    VAR payload := TOSTRING(RECEIVEDMSG.PAYLOAD);

    Rc := if(payload = "0", 1, 0);
end
Pripojenie: Packet Parser → MQTT
Možné vylepšenia (8)
  • External Temperature Sensor 1 (DS18B20) — Hardware supports up to 3× DS18B20 on the one-wire bus (Blue DATA + Yellow VCC + Green GND). Not wired in this MQTT template; would need a PacketParserVariable listening on ext_temperature/0 (value 999 = invalid).
  • External Temperature Sensor 2 (DS18B20) — Second DS18B20 on the one-wire bus. Same pattern as sensor 1, different index.
  • External Temperature Sensor 3 (DS18B20) — Third DS18B20 on the one-wire bus. Same pattern as sensor 1, different index.
  • External Humidity Sensor (DHT22) — Hardware supports 1× DHT22 humidity/temperature sensor (mutually exclusive with DS18B20 chain). Not wired in this MQTT template; would need a PacketParserVariable on ext_humidity/0 (value 999 = invalid).
  • Connection Status (LWT) — Last-Will-Testament topic — 'true' on connect, 'false' on disconnect. Could be added to detect offline devices.
  • Input 1 Event — JSON payload {event, event_cnt} — short/long press events on IN_1, useful for scene triggers.
  • Input 2 Event — JSON payload {event, event_cnt} — short/long press events on IN_2.
  • Full Status JSON — Full /status JSON published periodically (firmware ≥ 1.8.0). Could be parsed for wifi_sta.rssi, update status, uptime.

Zdroje

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Overené TapHomom

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli