TapHome

Shelly 3EM Gen3

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 03. 2026
Shelly 3EM Gen3

Shelly 3EM Gen3 to trójfazowy licznik energii na szynę DIN ze zintegrowanymi przekładnikami prądowymi (do 63 A na fazę). Łączy się z siecią lokalną przez Wi-Fi i udostępnia pomiary w czasie rzeczywistym za pośrednictwem HTTP RPC API Gen2+/Gen3. TapHome odpytuje urządzenie przez HTTP na porcie 80 — połączenie z chmurą nie jest wymagane.

Szablon udostępnia cztery urządzenia typu licznik energii: jeden zbiorczy licznik całkowity i trzy liczniki poszczególnych faz (A, B, C). Każdy licznik wyświetla chwilową moc czynną i skumulowane zużycie energii, a liczniki poszczególnych faz dodatkowo udostępniają napięcie, prąd, współczynnik mocy i częstotliwość sieci jako atrybuty serwisowe.

Podłączenie sprzętowe

Shelly 3EM Gen3 jest dostępny w dwóch wariantach — 3EM-63W (model kablowy) i 3EM-63T (model z płaskimi zaciskami). Oba montuje się nad lub pod wyłącznikami na szynie DIN.

Urządzenie wymaga podłączenia Y (gwiazda) z 4 przewodami:

  • LA, LB, LC — trzy wejścia fazowe, jedno na fazę
  • N — przewód neutralny
  • Zasilanie pobierane jest między fazą LA a przewodem neutralnym (220-240 V~ 50/60 Hz)

Zabezpieczenie zewnętrzne powinno być dobrane na 63 A z charakterystyką B lub C i zdolnością zwarciową 6 kA.

Maksymalne bezpieczne napięcie robocze to 280 V na fazę. Zakres prądu wynosi 0-63 A z nasyceniem 130 A. Przekroczenie tych limitów może uszkodzić urządzenie.

Konfiguracja

Shelly 3EM Gen3 łączy się przez Wi-Fi. Podczas importu szablonu w TapHome wprowadź adres IP urządzenia (domyślny symbol zastępczy 192.168.0.1).

Uwierzytelnianie

TapHome nie obsługuje HTTP Digest Authentication. Upewnij się, że uwierzytelnianie jest wyłączone na urządzeniu Shelly przed dodaniem go do TapHome. Można to skonfigurować w interfejsie webowym Shelly w sekcji Settings → Authentication.

Wybór profilu

Shelly 3EM Gen3 obsługuje dwa profile — Triphase (domyślny) i Monophase. Szablon TapHome jest zaprojektowany dla profilu Triphase, który udostępnia jeden komponent EM (em:0) z pomiarami dla każdej fazy oraz wartościami całkowitymi. Upewnij się, że urządzenie jest ustawione na profil Triphase (domyślne ustawienie fabryczne).

Tryb ECO

Jeśli tryb ECO jest włączony na urządzeniu Shelly, może powodować przekroczenia czasu komunikacji z powodu 3-sekundowego interwału odpytywania modułu TapHome. Wyłącz tryb ECO dla niezawodnej pracy.

Funkcje urządzenia

Całkowity pomiar energii

Urządzenie Całkowity licznik energii zapewnia zbiorczy widok wszystkich trzech faz:

  • Moc czynnatotal_act_power z EM.GetStatus, przeliczona z W na kW (podzielone przez 1000)
  • Energia skumulowanatotal_act z EMData.GetStatus, przeliczona z Wh na kWh (podzielone przez 1000)
  • Prąd całkowity (atrybut serwisowy) — suma prądu na wszystkich trzech fazach
Pomiar energii na fazę

Trzy indywidualne liczniki faz (Faza A, Faza B, Faza C) zapewniają szczegółowe pomiary dla każdej fazy. Każdy licznik fazy wyświetla:

  • Moc czynna — moc chwilowa w kW (przeliczona z W)
  • Energia skumulowana — całkowite zużycie energii w kWh (przeliczone z Wh)

Każdy licznik fazy udostępnia również cztery atrybuty serwisowe:

  • Prąd elektryczny — prąd fazowy w A
  • Napięcie elektryczne — napięcie fazowe w V
  • Współczynnik mocy — bezwymiarowy stosunek mocy czynnej do pozornej
  • Częstotliwość sieci — częstotliwość sieci w Hz

Liczniki faz używają 15-sekundowego interwału odpytywania (w porównaniu z 3-sekundowym interwałem modułu), co jest wystarczające do monitorowania energii.

Diagnostyka modułu

Szablon udostępnia cztery atrybuty serwisowe na poziomie modułu:

  • Wifi — SSID połączonej sieci Wi-Fi
  • Adres IP — adres IP urządzenia w sieci lokalnej
  • Siła sygnału — Wi-Fi RSSI w dBm
  • MAC — adres MAC urządzenia

Dostępne są dwie akcje serwisowe:

  • Aktualizacja FW — uruchamia aktualizację firmware do najnowszej stabilnej wersji
  • Restart — uruchamia restart urządzenia

Skrypt odczytu modułu sprawdza również dostępne aktualizacje firmware i oczekujące wymagania restartu, wyświetlając ostrzeżenia w TapHome po wykryciu któregokolwiek z tych warunków.

Dodatkowe funkcje

Shelly 3EM Gen3 udostępnia również moc pozorną na fazę i całkowitą, prąd przewodu neutralnego oraz liczniki energii zwróconej (oddanej do sieci) na fazę i całkowite. Wykrywanie błędów kolejności faz i przechowywanie danych historycznych z rozdzielczością 1 minuty są dostępne natywnie. Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

Urządzenie nie odpowiada
  1. Sprawdź, czy Shelly jest połączony z Wi-Fi i ma prawidłowy adres IP
  2. Spróbuj użyć nazwy hosta mDNS (Shelly3EM63G3-XXXXXXXXXXXX.local) zamiast adresu IP — adres IP mógł się zmienić po odnowieniu DHCP
  3. Otwórz http://{device-ip}/rpc/Shelly.GetDeviceInfo w przeglądarce — jeśli odpowiada JSON, urządzenie jest osiągalne
  4. Sprawdź, czy TapHome Core i Shelly są w tej samej sieci / VLAN
Błąd ct_type_not_set

Jeśli komponent EM zgłasza błąd ct_type_not_set, typ przekładnika prądowego nie został skonfigurowany. Ustaw typ CT przez interfejs webowy Shelly lub wywołując EM.SetConfig z odpowiednią wartością ct_type. Użyj EM.GetCTTypes, aby wyświetlić obsługiwane typy.

Błąd kolejności faz

Jeśli błąd phase_sequence pojawia się w EM.GetStatus, fazy są podłączone w odwrotnej kolejności (A-C-B zamiast A-B-C). Podłącz fazy w prawidłowej kolejności lub włącz monitor_phase_sequence w konfiguracji EM, aby ukryć błąd, jeśli odwrotna kolejność jest zamierzona.

Urządzenia Shelly Gen2+/Gen3 obsługują do 6 jednoczesnych połączeń HTTP. To więcej niż urządzenia Gen1 (2 połączenia), ale pamiętaj, że każdy system odpytywania (TapHome, Home Assistant itp.) zużywa połączenia. Unikaj uruchamiania zbyt wielu integracji jednocześnie na tym samym urządzeniu.

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 3EM Gen3 Moduł
Atrybuty serwisowe
Wifi
Adres IP
Siła sygnału
MAC
Akcje serwisowe
Aktualizacja FWUruchamia aktualizację firmware do najnowszej stabilnej wersji
Restart
Zmienne niestandardowe

Shelly 3EM Gen3

Odczyt (moduł)
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/EM.GetStatus?id=0");
IF response.IsSuccess
    EM.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/EMData.GetStatus?id=0");
IF response.IsSuccess
    EMData.GetStatus := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
Atrybuty serwisowe
Wifi
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Akcje serwisowe
${xml_update_fw}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

Reboot
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Całkowity licznik energii Licznik energii Tylko do odczytu

Łączna trójfazowa moc czynna (kW) i całkowite skumulowane zużycie energii (kWh)

numeric Jednostka: kW / kWh json_path
Atrybuty serwisowe
Prąd elektrycznySuma prądu na wszystkich trzech fazach
Zmienna: EM.GetStatus

Całkowity licznik energii

Odczyt całkowitego zużycia
return(parsejson(EMData.GetStatus,"total_act")/1000);
Odczyt zapotrzebowania
return(parsejson(EM.GetStatus,"total_act_power")/1000);
Atrybuty serwisowe
${electric_current} [A]
return(parsejson(EM.GetStatus,"total_current"));
Licznik energii fazy A Licznik energii Tylko do odczytu

Moc czynna fazy A (kW), energia skumulowana (kWh), napięcie, prąd, współczynnik mocy i częstotliwość

numeric Jednostka: kW / kWh json_path
Atrybuty serwisowe
Prąd elektryczny
Napięcie elektryczne
Współczynnik mocy
Częstotliwość sieci

Licznik energii fazy A

Odczyt całkowitego zużycia
return(parsejson(EMData.GetStatus,"a_total_act_energy")/1000);
Odczyt zapotrzebowania
return(parsejson(EM.GetStatus,"a_act_power")/1000);
Atrybuty serwisowe
${electric_current} [A]
return(parsejson(EM.GetStatus,"a_current"));
${electric_voltage} [V]
return(parsejson(EM.GetStatus,"a_voltage"));
${power_factor}
return(parsejson(EM.GetStatus,"a_pf"));
${grid_frequency} [Hz]
return(parsejson(EM.GetStatus,"a_freq"));
Licznik energii fazy B Licznik energii Tylko do odczytu

Moc czynna fazy B (kW), energia skumulowana (kWh), napięcie, prąd, współczynnik mocy i częstotliwość

numeric Jednostka: kW / kWh json_path
Atrybuty serwisowe
Prąd elektryczny
Napięcie elektryczne
Współczynnik mocy
Częstotliwość sieci

Licznik energii fazy B

Odczyt całkowitego zużycia
return(parsejson(EMData.GetStatus,"b_total_act_energy")/1000);
Odczyt zapotrzebowania
return(parsejson(EM.GetStatus,"b_act_power")/1000);
Atrybuty serwisowe
${electric_current} [A]
return(parsejson(EM.GetStatus,"b_current"));
${electric_voltage} [V]
return(parsejson(EM.GetStatus,"b_voltage"));
${power_factor}
return(parsejson(EM.GetStatus,"b_pf"));
${grid_frequency} [Hz]
return(parsejson(EM.GetStatus,"b_freq"));
Licznik energii fazy C Licznik energii Tylko do odczytu

Moc czynna fazy C (kW), energia skumulowana (kWh), napięcie, prąd, współczynnik mocy i częstotliwość

numeric Jednostka: kW / kWh json_path
Atrybuty serwisowe
Prąd elektryczny
Napięcie elektryczne
Współczynnik mocy
Częstotliwość sieci

Licznik energii fazy C

Odczyt całkowitego zużycia
return(parsejson(EMData.GetStatus,"c_total_act_energy")/1000);
Odczyt zapotrzebowania
return(parsejson(EM.GetStatus,"c_act_power")/1000);
Atrybuty serwisowe
${electric_current} [A]
return(parsejson(EM.GetStatus,"c_current"));
${electric_voltage} [V]
return(parsejson(EM.GetStatus,"c_voltage"));
${power_factor}
return(parsejson(EM.GetStatus,"c_pf"));
${grid_frequency} [Hz]
return(parsejson(EM.GetStatus,"c_freq"));
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (8)
  • Phase A Apparent Power — Apparent power in VA, available per phase — could complement active power
  • Total Apparent Power — Sum of apparent power on all phases [VA]
  • Neutral Current — Current on neutral conductor [A]
  • Total Returned Energy — Total active returned energy [Wh] — relevant for solar/grid feed-in
  • Phase A Returned Energy — Per-phase returned energy [Wh] — same available for B and C
  • Uptime — Seconds since last reboot, available in Sys.GetStatus
  • Free RAM — Available RAM in bytes
  • Phase Sequence Monitoring — Enable/disable phase sequence error detection via EM.SetConfig

Źródła