TapHome

Shelly Plus 1PM

Packet Parser → MQTT
Beküldő
Utoljára frissítve: 04. 2026
Shelly Plus 1PM

A Shelly Plus 1PM egy kompakt Gen2+ Wi-Fi relés kapcsoló beépített teljesítményméréssel. Elfér egy szabványos fali kapcsoló mögött, és egy áramkört képes vezérelni 16 A-ig (3500 W 230 V AC mellett) vagy 10 A-ig (30 V DC). Ez a TapHome sablon MQTT változata — az eszköz MQTT brokeren keresztül kommunikál a közvetlen HTTP polling helyett, ami hasznos több vezérlős környezetben vagy ha az eszköz másik VLAN-ban van.

A sablon két eszközt tartalmaz: egy Villamos mérőt a teljesítmény- és energiafigyeléshez, valamint egy Kapcsolót a relé vezérléséhez. Három modulszintű szolgáltatásattribútum jelzi a belső hőmérsékletet, feszültséget és áramot.

Konfiguráció

MQTT Client ID

Minden Shelly Plus 1PM egyedi MQTT Client ID-val rendelkezik shellyplus1pm-<DEVICEID> formátumban, ahol a <DEVICEID> a 12 karakteres hexadecimális MAC-cím (pl. shellyplus1pm-AABBCCDDEE00).

A Client ID megtalálható:

  • A Shelly webes felületen: SettingsMQTTClient ID
  • API-n keresztül: GET http://<device-ip>/rpc/MQTT.GetConfigclient_id mező
  • Az eszköz címkéjén (MAC-cím)

Ez az eszköz támogatja az mDNS discoveryt. IP-cím helyett a shellyplus1pm-{MAC}.local hostnevet is használhatja a kapcsolat ellenőrzésekor. Cserélje ki a {MAC} részt az eszköz teljes MAC-címére kisbetűs hexadecimális formátumban (pl. shellyplus1pm-aabbccddee00.local).

MQTT engedélyezése
  1. Nyissa meg a Shelly webes felületét: http://<device-ip>/
  2. Navigáljon a SettingsMQTT menüpontra
  3. Engedélyezze az MQTT-t
  4. Állítsa be a Server mezőt: <broker-ip>:<port> (pl. 192.168.1.10:1883)
  5. A Client ID automatikusan kitöltött — hagyja változatlanul, hacsak nincs konkrét oka a módosításra
  6. Kattintson a Save gombra és indítsa újra az eszközt

Az MQTT működésének ellenőrzéséhez használjon MQTT klienst (pl. MQTT Explorer), és iratkozzon fel a shellyplus1pm-<DEVICEID>/# témára. Látnia kell az eszköz státuszüzeneteit, beleértve a shellyplus1pm-<DEVICEID>/status/switch:0 üzenetet.

Sablon beállítása

A sablon TapHome-ba való importálása után:

  1. Nyissa meg a Shelly Plus 1PM MQTT Module modult
  2. Állítsa be az MQTT Broker IP-t és a Port-ot (alapértelmezett 1883)
  3. Állítsa be a plug1topic változót a Shelly Plus 1PM MQTT Client ID-jára (pl. shellyplus1pm-AABBCCDDEE00)

A modul feliratkozik a {plug1topic}/status/switch:0 témára, és vezérlőparancsokat küld a {plug1topic}/command/switch:0 témára.

Eszközképességek

Teljesítménymérés

A Villamos mérő két értéket olvas a {plug1topic}/status/switch:0 MQTT státuszüzenetből:

  • Pillanatnyi teljesítményapower wattban jelentve, a sablon kW-ra konvertálja (osztás 1000-rel)
  • Kumulatív energiaaenergy.total wattórában jelentve, a sablon kWh-ra konvertálja (osztás 1000-rel)

A mérő csak olvasható — automatikusan frissül, amikor az eszköz státuszüzenetet küld az MQTT brokerre.

Relévezérlés

A Kapcsoló vezérli a relét:

  • Státusz olvasása — feliratkozik a {plug1topic}/status/switch:0 témára és olvassa az output logikai mezőt
  • Státusz írásaon vagy off üzenetet küld a {plug1topic}/command/switch:0 témára

A relé 3500 W / 16 A terhelést támogat 230 V AC mellett.

Diagnosztika

Három modulszintű szolgáltatásattribútum a status/switch:0 JSON payloadból kerül kiolvasásra:

AttribútumEgységLeírás
Belső hőmérséklet°CAz eszköz belső hőmérséklete — a relé és PCB termikus állapotát figyeli
FeszültségVVáltakozó áramú tápfeszültség a relé bemenetén
ÁramATerhelési áram a relé kimenetén

Mindhárom attribútum „Unknown" értéket mutat az első MQTT státuszüzenet megérkezéséig (kezdeti érték: NaN).

További képességek

A Shelly Plus 1PM emellett teljesítménytényezőt, hálózati frekvenciát, visszatáplált energiát (kétirányú méréshez), fizikai bemenet állapotát, toggle parancsot, automatikus kikapcsolási időzítőt és kényszerített státuszfrissítési műveletet is kínál MQTT API-ján keresztül. Ezek a képességek egy jövőbeli sablonfrissítésben kerülhetnek hozzáadásra.

Hibaelhárítás

MQTT üzenetek nem érkeznek
  1. Ellenőrizze, hogy az MQTT engedélyezve van a Shelly webes felületen (SettingsMQTT)
  2. Győződjön meg róla, hogy a broker címe és portja helyes mind a Shelly eszköz, mind a TapHome modul beállításaiban
  3. Ellenőrizze, hogy a plug1topic változó pontosan megegyezik a Shelly MQTT Client ID-jával (pl. shellyplus1pm-AABBCCDDEE00)
  4. Használjon MQTT klienst (pl. MQTT Explorer) és iratkozzon fel a shellyplus1pm-# témára annak ellenőrzéséhez, hogy az eszköz küld-e üzeneteket
Teljesítménymérés nullát mutat
  1. Győződjön meg róla, hogy a terhelés a Shelly relén keresztül van csatlakoztatva (nincs megkerülve)
  2. Ellenőrizze, hogy a relé be van kapcsolva — a mérő csak akkor mér, ha áram folyik a relén
  3. Iratkozzon fel a {plug1topic}/status/switch:0 témára MQTT kliensben, és ellenőrizze, hogy az apower nem nulla értéket ad
A relé nem reagál a parancsokra
  1. Ellenőrizze, hogy a TapHome eléri az MQTT brokert (helyes IP és port a modul beállításaiban)
  2. Győződjön meg róla, hogy a plug1topic értéke megegyezik az eszköz MQTT Client ID-jával
  3. Tesztelje az on üzenet küldésével a {plug1topic}/command/switch:0 témára MQTT kliensben — a relének be kell kapcsolnia
A diagnosztika „Unknown"-t mutat
  1. Mindhárom attribútum (hőmérséklet, feszültség, áram) „Unknown"-t mutat az első státuszüzenet megérkezéséig
  2. Ha az értékek az eszköz bekapcsolása után is „Unknown" maradnak, ellenőrizze, hogy az MQTT kapcsolat aktív és a státuszüzenetek küldése folyamatban van
  3. Indítsa újra a Shelly eszközt a státusz újbóli közzétételének kényszerítéséhez

A Gen2+ Shelly eszközök támogatják az MQTT-t opcionális TLS-sel. Ha a TLS nincs konfigurálva, az eszköz és az MQTT broker közötti kommunikáció titkosítatlan (sima MQTT, port 1883). Titkosított kommunikációhoz engedélyezze a TLS-t a Shelly MQTT beállításaiban és használja a 8883-as portot.

Telepítés a TapHome-ban

Előfeltételek

  • Shelly eszköz csatlakoztatva a Wi-Fi-hez (ha még nem, lásd a HTTP kapcsolódási útmutatót)
  • MQTT broker fut a helyi hálózaton (pl. Mosquitto, Home Assistant vagy a TapHome beépített brokere)
  • TapHome CCU ugyanazon a hálózaton, mint a broker

A Gen1 eszközökön az MQTT engedélyezése letiltja a Shelly Cloudot. A kettő nem futhat egyszerre. A Gen2/Plus eszközökön ez a korlátozás nem érvényes.

1. lépés — MQTT engedélyezése a Shelly eszközön

Gen1 eszközök (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Nyissa meg a Shelly webes felületet: http://<device-ip>/
  2. Navigáljon az Internet & SecurityAdvanced — MQTT menüpontra
  3. Engedélyezze az MQTT-t
  4. Állítsa be az MQTT Server-t: <broker-ip>:<port> (pl. 192.168.1.10:1883)
  5. Opcionálisan állítsa be az MQTT User és MQTT Password mezőket, ha a broker hitelesítést igényel
  6. Kattintson a Save gombra — az eszköz újraindul és csatlakozik a brokerhez

Gen2 / Plus eszközök (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Nyissa meg a Shelly webes felületet: http://<device-ip>/
  2. Navigáljon a SettingsMQTT menüpontra
  3. Engedélyezze az MQTT-t
  4. Állítsa be a Server-t: <broker-ip>:<port> (pl. 192.168.1.10:1883)
  5. A Client ID előre ki van töltve az eszköz azonosítójával (pl. shellyplus1pm-AABBCCDDEE) — hagyja így, hacsak nincs konkrét oka a változtatásra
  6. Kattintson a Save gombra és indítsa újra az eszközt

Az MQTT működésének ellenőrzéséhez használjon egy MQTT klienst (pl. MQTT Explorer), és iratkozzon fel a shellies/# (Gen1) vagy <device-id>/# (Gen2) topikra. Látnia kell az eszköz állapotüzeneteit.

2. lépés — Device ID / MQTT Client ID megkeresése

Egyes sablonok Device ID vagy MQTT Client ID paramétert igényelnek. Ez az egyedi azonosító, amelyet az MQTT topikokban használnak.

  • Gen1: a címkén MAC-címként található (pl. AABBCCDDEE). Device ID = shelly<model>-<mac>, pl. shelly1pm-AABBCCDDEE
  • Gen2/Plus: a Shelly webes felületén a SettingsDevice InfoDevice ID alatt található, vagy az eszköz címkéjén

3. lépés — Konfigurálás a TapHome-ban

  1. A TapHome-ban adjon hozzá egy új Packet Parser (MQTT) modult
  2. IP Address: adja meg az MQTT broker IP-címét (pl. 192.168.1.10)
  3. Port: 1883 (alapértelmezett; TLS esetén használjon 8883-at)
  4. Device ID / MQTT Client ID: adja meg a 2. lépésben kapott értéket (ha a sablon megköveteli)
  5. Importálja a sablont — a TapHome automatikusan feliratkozik az eszköz topikjaira

Elérhető eszközök

Shelly Plus 1PM MQTT Module Modul
Szerviz attribútumok
Belső hőmérsékletAz eszköz belső hőmérséklete — a relé és PCB termikus állapotát figyeli
FeszültségVáltakozó áramú tápfeszültség a relé bemenetén
ÁramTerhelési áram a relé kimenetén
Egyéni változók
plug1topic (string)A Shelly Plus 1PM MQTT Client ID-ja — formátum: 'shellyplus1pm-<deviceid>'. A készülék webes felületén található: Settings → MQTT Settings → Client ID

Shelly Plus 1PM MQTT Module

Figyelő
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
Szerviz attribútumok
Internal temperature
IF(ISNAN(internalTemp), "Unknown", internalTemp + "°C");
Voltage
IF(ISNAN(voltage), "Unknown", voltage + "V");
Current
IF(ISNAN(current), "Unknown", current + "A");
Shelly Plus 1PM MQTT Power Villanyóra Csak olvasható

Pillanatnyi teljesítmény (kW) és kumulatív energia (kWh) az MQTT státusz payloadból

numeric Egység: kW / kWh

Shelly Plus 1PM MQTT Power

Figyelő
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
Shelly Plus 1PM MQTT Switch Kapcsoló

Relé be/ki vezérlés MQTT parancs topicon keresztül

boolean
Értékek / Állapotok: ON · OFF

Shelly Plus 1PM MQTT Switch

Kapcsoló állapot írása
VAR value := IF(St = 1, "on", "off");
MQTTPUBLISH(plug1topic + "/command/switch:0", value);
Figyelő
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
Kapcsolat: Packet Parser → MQTT
Lehetséges fejlesztések (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

Források