TapHome

Shelly Plus 1PM

Packet Parser → MQTT
Autor
Posljednje ažuriranje: 03. 2026

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

shellyplus1pm-{MAC}.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Shelly Plus 1PM

Shelly Plus 1PM je kompaktni Wi-Fi relej Gen2+ s ugrađenim mjerenjem snage. Stane iza standardnog zidnog prekidača i može upravljati jednim strujnim krugom do 16 A (3500 W pri 230 V AC) ili 10 A (30 V DC). Ovo je MQTT varijanta predloška TapHome: uređaj komunicira preko MQTT brokera umjesto izravnog očitavanja preko HTTP-a, što je korisno kada uređajem upravlja više sustava ili kada je uređaj u drugom VLAN-u.

Predložak daje dva uređaja: brojilo energije za praćenje snage i energije te sklopku za upravljanje relejem. Tri servisna atributa modula prikazuju unutarnju temperaturu, napon i struju.

Konfiguracija

MQTT Client ID

Svaki Shelly Plus 1PM ima jedinstveni MQTT Client ID u obliku shellyplus1pm-<DEVICEID>, gdje je <DEVICEID> MAC adresa od 12 heksadecimalnih znakova (npr. shellyplus1pm-AABBCCDDEE00).

Client ID možete pronaći:

  • U web-sučelju Shelly: Settings → MQTT → Client ID
  • Preko API-ja: GET http://<device-ip>/rpc/MQTT.GetConfig → polje client_id
  • Na naljepnici uređaja (MAC adresa)

Ovaj uređaj podržava otkrivanje preko mDNS-a. Pri provjeri povezivosti umjesto IP adrese možete koristiti naziv hosta shellyplus1pm-{MAC}.local. Zamijenite {MAC} punom MAC adresom uređaja malim slovima u heksadecimalnom zapisu (npr. shellyplus1pm-aabbccddee00.local).

Omogućivanje MQTT-a
  1. Otvorite web-sučelje Shelly: http://<device-ip>/
  2. Idite na Settings → MQTT
  3. Omogućite MQTT
  4. Postavite Server: <broker-ip>:<port> (npr. 192.168.1.10:1883)
  5. Client ID je već unaprijed upisan: ostavite ga kakav jest, osim ako ga morate promijeniti iz određenog razloga
  6. Kliknite Save i ponovno pokrenite uređaj

Da biste provjerili radi li MQTT, MQTT klijentom (npr. MQTT Explorer) pretplatite se na shellyplus1pm-<DEVICEID>/#. Trebali biste vidjeti poruke o stanju uređaja, uključujući shellyplus1pm-<DEVICEID>/status/switch:0.

Postavljanje predloška

Nakon uvoza predloška u TapHome:

  1. Otvorite Shelly Plus 1PM MQTT Module
  2. Postavite MQTT Broker IP i Port (zadano 1883)
  3. Korisničku varijablu plug1topic postavite na MQTT Client ID uređaja Shelly Plus 1PM (npr. shellyplus1pm-AABBCCDDEE00)

Modul se pretplaćuje na {plug1topic}/status/switch:0 i naredbe za upravljanje objavljuje na {plug1topic}/command/switch:0.

Mogućnosti uređaja

Mjerenje snage

Uređaj brojila energije čita dvije vrijednosti iz MQTT poruke o stanju {plug1topic}/status/switch:0:

  • Trenutačna snaga — apower u vatima, predložak je pretvara u kW (dijeli s 1000)
  • Ukupna energija — aenergy.total u vatsatima, predložak je pretvara u kWh (dijeli s 1000)

Brojilo je samo za čitanje i automatski se osvježava kad god uređaj objavi poruku o stanju na MQTT broker.

Upravljanje relejem

Uređaj vrste „Sklopka” upravlja relejem:

  • Čitanje stanja — pretplaćuje se na {plug1topic}/status/switch:0 i čita logičko polje output
  • Upis stanja — objavljuje on ili off na {plug1topic}/command/switch:0

Relej podržava do 3500 W / 16 A pri 230 V AC.

Dijagnostika

Tri servisna atributa modula čitaju se iz istog JSON sadržaja status/switch:0:

AtributJedinicaOpis
Unutarnja temperatura°CUnutarnja temperatura uređaja — prati toplinsko stanje releja i tiskane pločice
NaponVIzmjenični napon napajanja na ulazu releja
StrujaAStruja trošila kroz izlaz releja

Sva tri atributa prikazuju „Unknown” dok ne stigne prva MQTT poruka o stanju (početna vrijednost je NaN).

Dodatne mogućnosti

Shelly Plus 1PM preko svojeg MQTT API-ja daje i faktor snage, frekvenciju mreže, predanu energiju (za dvosmjerno mjerenje), stanje fizičkog ulaza, naredbu za prebacivanje, timer za automatsko isključivanje i radnju za prisilno slanje stanja. Te se mogućnosti mogu dodati u budućem ažuriranju predloška.

Rješavanje problema

MQTT poruke ne stižu
  1. Provjerite je li MQTT omogućen u web-sučelju Shelly (Settings → MQTT)
  2. Provjerite jesu li adresa i port brokera ispravni i na uređaju Shelly i u postavkama modula TapHome
  3. Provjerite odgovara li korisnička varijabla plug1topic točno MQTT Client ID-ju uređaja Shelly (npr. shellyplus1pm-AABBCCDDEE00)
  4. MQTT klijentom (npr. MQTT Explorer) pretplatite se na shellyplus1pm-# i provjerite objavljuje li uređaj poruke
Očitanje snage je nula
  1. Provjerite je li trošilo spojeno preko releja Shelly (a ne premošteno)
  2. Provjerite je li relej uključen: brojilo mjeri samo kada struja teče kroz relej
  3. MQTT klijentom se pretplatite na {plug1topic}/status/switch:0 i provjerite vraća li apower vrijednost različitu od nule
Relej ne reagira na naredbe
  1. Provjerite može li se TapHome povezati s MQTT brokerom (ispravni IP i port u postavkama modula)
  2. Provjerite odgovara li vrijednost plug1topic MQTT Client ID-ju uređaja
  3. Testirajte tako da MQTT klijentom objavite on na {plug1topic}/command/switch:0: relej bi se trebao uključiti
Dijagnostika prikazuje „Unknown”
  1. Sva tri servisna atributa (temperatura, napon, struja) prikazuju „Unknown” dok ne stigne prva poruka o stanju
  2. Ako vrijednosti i nakon rada uređaja ostanu „Unknown”, provjerite je li MQTT veza aktivna i objavljuju li se poruke o stanju
  3. Ponovno pokrenite uređaj Shelly kako biste prisilili novo slanje stanja

Uređaji Shelly Gen2+ podržavaju MQTT s neobaveznim TLS-om. Ako TLS nije konfiguriran, komunikacija između uređaja i MQTT brokera nije šifrirana (običan MQTT, port 1883). Za šifriranu komunikaciju omogućite TLS u MQTT postavkama uređaja Shelly i koristite port 8883.

Kako ga instalirati u TapHome

Preduvjeti

  • Uređaj Shelly spojen na Wi-Fi (2,4 GHz), npr. putem aplikacije Shelly ili vlastite pristupne točke uređaja
  • MQTT broker koji radi u vašoj lokalnoj mreži (npr. Mosquitto, Home Assistant ili ugrađeni broker TapHome)
  • TapHome CCU u istoj mreži kao broker

Na uređajima Gen1 uključivanje MQTT-a isključuje Shelly Cloud. MQTT i Shelly Cloud ne mogu raditi istodobno. Na uređajima Gen2/Plus to ograničenje ne vrijedi.

Korak 1 — Uključite MQTT na uređaju Shelly

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

  1. Otvorite web-sučelje Shelly: http://<device-ip>/
  2. Idite na Internet & Security → Advanced — MQTT
  3. Uključite MQTT
  4. Postavite MQTT Server: <broker-ip>:<port> (npr. 192.168.1.10:1883)
  5. Ako vaš broker zahtijeva autentifikaciju, postavite MQTT User i MQTT Password
  6. Kliknite Save — uređaj će se ponovno pokrenuti i spojiti na broker

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

  1. Otvorite web-sučelje Shelly: http://<device-ip>/
  2. Idite na Settings → MQTT
  3. Uključite MQTT
  4. Postavite Server: <broker-ip>:<port> (npr. 192.168.1.10:1883)
  5. Client ID je unaprijed popunjen ID-jem uređaja (npr. shellyplus1pm-AABBCCDDEE) — ostavite ga takvim, osim ako ga iz određenog razloga trebate promijeniti
  6. Kliknite Save i ponovno pokrenite uređaj

Za provjeru rada MQTT-a koristite MQTT klijent (npr. MQTT Explorer) i pretplatite se na shellies/# (Gen1) ili <device-id>/# (Gen2). Trebali biste vidjeti statusne poruke uređaja.

Korak 2 — Pronađite Device ID / MQTT Client ID

Neki predlošci zahtijevaju parametar Device ID ili MQTT Client ID. To je jedinstveni identifikator koji se koristi u MQTT temama (topics).

  • Gen1: nalazi se na naljepnici kao MAC adresa (npr. AABBCCDDEE). Device ID = shelly<model>-<mac>, npr. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nalazi se u web-sučelju Shelly pod Settings → Device Info → Device ID ili na naljepnici uređaja

Korak 3 — Konfiguracija u sustavu TapHome

  1. U sustavu TapHome dodajte novi modul Packet Parser (MQTT)
  2. IP adresa: unesite IP adresu MQTT brokera (npr. 192.168.1.10)
  3. Port: 1883 (zadano; za TLS koristite 8883)
  4. Device ID / MQTT Client ID: unesite vrijednost iz koraka 2 (ako je predložak zahtijeva)
  5. Uvezite predložak — TapHome će se automatski pretplatiti na teme uređaja

Dostupni uređaji

Shelly Plus 1PM MQTT Module Modul
Servisni atributi
Unutarnja temperaturaUnutarnja temperatura uređaja — prati toplinsko stanje releja i tiskane pločice
NaponIzmjenični napon napajanja na ulazu releja
StrujaStruja trošila kroz izlaz releja
Prilagođene varijable
plug1topic (string)MQTT Client ID uređaja Shelly Plus 1PM — oblik je „shellyplus1pm-<deviceid>”. Nalazi se u web-sučelju uređaja: Settings → MQTT Settings → Client ID

Shelly Plus 1PM MQTT Module

Listener
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    internalTemp := PARSEJSON(RECEIVEDMSG.PAYLOAD, "temperature.tC");
    voltage := PARSEJSON(RECEIVEDMSG.PAYLOAD, "voltage");
    current := PARSEJSON(RECEIVEDMSG.PAYLOAD, "current");
    VAR errors := PARSEJSON(RECEIVEDMSG.PAYLOAD, "errors", TRUE);
    
    IF (!ISNULL(errors))
        VAR errCount := LENGTH(errors);
        VAR i := 0;
        VAR errorText := "";
        
        WHILE i < errCount
            IF LENGTH(errorText)
                errorText += ", ";
            END
            errorText := errorText + GETAT(errors, i);
            i += 1;
        LOOP
        
        IF LENGTH(errorText)
            ADDERROR(errorText);
        END
    END
END
Servisni atributi
Internal temperature
IF(ISNAN(internalTemp), "Unknown", internalTemp + "°C");
Voltage
IF(ISNAN(voltage), "Unknown", voltage + "V");
Current
IF(ISNAN(current), "Unknown", current + "A");
Brojilo energije Brojilo električne energije Samo za čitanje

Trenutačna snaga (kW) i ukupna energija (kWh) iz sadržaja MQTT poruke o stanju

numeric Jedinica: kW / kWh

Brojilo energije

Listener
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    Ed := PARSEJSON(RECEIVEDMSG.PAYLOAD, "apower") / 1000.0;
    To := PARSEJSON(RECEIVEDMSG.PAYLOAD, "aenergy.total") / 1000.0;
END
Sklopka Sklopka

Uključivanje i isključivanje releja preko MQTT teme za naredbe

boolean
Vrijednosti / stanja: ON · OFF

Sklopka

Zapis stanja sklopke
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH(plug1topic + "/command/switch:0", value);
Listener
IF(INDEXOF(plug1topic, "shellyplus1pm-deviceid") = 0)
    ADDERROR("Set correct 'plug1topic' value in module variables. Topic format is 'shellyplus1pm-<deviceid>'. The Device ID can be found by opening url 'http://shellyIpAddress', in Settings -> MQTT Settings -> Client ID.");
    RETURN(-1);
END

IF(RECEIVEDMSG.TOPIC = plug1topic + "/status/switch:0")
    St := PARSEJSON(RECEIVEDMSG.PAYLOAD, "output");
END
Povezivanje: Packet Parser → MQTT • Naziv računala (hostname): shellyplus1pm-{MAC}.local
Moguća poboljšanja (8)
  • Power Factor — Power factor value, available in switch:0 status JSON for metered devices
  • Network Frequency — AC network frequency in Hz, available in switch:0 status JSON
  • Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
  • Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline device.
  • Toggle Command — Toggle relay state; template only supports on/off
  • Auto-off Timer — Turn ON with auto-off timer in seconds via 'on,N' command
  • Input State — Physical switch/button input state, available via Input.GetStatus RPC method over MQTT
  • Force Status Update — Request device to publish current status on all component topics

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu