
Shelly 3EM to 3-fazowy licznik energii Wi-Fi z pierwszej generacji urządzeń Shelly (Gen1). Mierzy moc czynną, napięcie, prąd, współczynnik mocy oraz energię łączną niezależnie dla każdej z trzech faz przy użyciu trzech dołączonych dzielonych przekładników 120 A i zawiera wbudowany przekaźnik 10 A, zwykle używany do sterowania cewką zewnętrznego stycznika mocy. TapHome komunikuje się z urządzeniem przez MQTT — urządzenie wysyła pomiary per faza do brokera, moduł TapHome PacketParser subskrybuje drzewo topiców shellies/# i kieruje wartości do czterech urządzeń podrzędnych (3 liczniki energii + 1 przełącznik stycznika).
To jest wariant MQTT szablonu Shelly 3EM. Dostępny jest również wariant HTTP — wybierz MQTT, jeśli już uruchamiasz lokalnego brokera MQTT, chcesz aktualizacji push zamiast pollingu lub musisz dzielić licznik z wieloma odbiorcami (TapHome plus inny system). Włączenie MQTT na firmware Gen1 wyłącza Shelly Cloud — oba nie mogą działać równocześnie.
Konfiguracja
Włączenie MQTT w Shelly 3EM
Otwórz interfejs webowy Shelly 3EM (http://{device-ip} lub http://shelly3em-{MAC}.local) i skonfiguruj klienta MQTT:
- Przejdź do Internet & Security → Advanced - Developer Settings
- Zaznacz Enable action execution via MQTT
- Wypełnij Server wartością
{adres IP brokera MQTT}:{port}— zwykle192.168.1.10:1883 - (Opcjonalnie) Ustaw Username i Password, jeśli broker wymaga uwierzytelnienia
- Kliknij SAVE — urządzenie zrestartuje się i połączy z brokerem
Urządzenia Shelly Gen1 nie obsługują MQTT przez TLS. Komunikacja między urządzeniem a brokerem to nieszyfrowany plain TCP na porcie 1883. Nazwa użytkownika i hasło są wysyłane w postaci jawnej. Używaj brokera MQTT tylko w zaufanej sieci lokalnej.
Włączenie MQTT automatycznie wyłącza Shelly Cloud na firmware Gen1. Aby przywrócić, odznacz opcję MQTT i ponownie włącz Cloud w Internet & Security.
Znalezienie Device ID
Szablon TapHome subskrybuje shellies/shellyem3-{dID}/#, gdzie {dID} to sufiks MAC urządzenia używany jako prefiks topic MQTT.
Aby znaleźć go w interfejsie webowym Shelly 3EM:
- Otwórz interfejs webowy urządzenia w przeglądarce
- Przejdź do Settings → Device Info
- Skopiuj pierwszy ciąg Device ID (NIE wartość w nawiasach) — odpowiada to adresowi MAC interfejsu WiFi (np.
DC4F227649A1)
Alternatywnie wywołaj GET http://{device-ip}/settings i odczytaj pole mqtt.id.
Konfiguracja szablonu
Po zaimportowaniu szablonu w TapHome ustaw trzy parametry importu:
| Parametr | Opis | Przykład |
|---|---|---|
| IpAddress | Adres IP brokera MQTT | 192.168.1.10 |
| Port | Port brokera MQTT | 1883 |
| dID | Device ID (sufiks MAC) urządzenia Shelly 3EM | DC4F227649A1 |
Moduł następnie subskrybuje shellies/# (QoS 0), a skrypty listener kierują wiadomości emeter i relay per faza do odpowiednich urządzeń podrzędnych. Domyślny okres aktualizacji MQTT urządzenia to 30 sekund — można go zmniejszyć przez GET http://{device-ip}/settings?mqtt_update_period=N (wartość 0 publikuje tylko przy zmianie).
Prefiks topic MQTT na linii to
shellyem3-{MAC}, podczas gdy nazwa hosta mDNS urządzenia toshelly3em-{MAC}.local— Shelly używa dwóch różnych form dla tego samego urządzenia. Szablon podąża za rzeczywistym prefiksem topic MQTT (shellyem3-). Jeśli wiadomości MQTT nie docierają, zasubskrybujshellies/#klientem MQTT, aby sprawdzić, jakiego prefiksu firmware faktycznie używa.
Możliwości urządzenia
Moc czynna i energia łączna per faza
Szablon tworzy trzy urządzenia liczników energii — po jednym dla każdej fazy (przekładnik 1 → faza A, przekładnik 2 → faza B, przekładnik 3 → faza C). Każdy licznik odczytuje dwie wartości:
- Moc czynna — moc chwilowa z
shellies/shellyem3-{dID}/emeter/{i}/power(W), dzielona przez 1000 i zapisywana jako kW - Łączna zużyta energia — kumulatywna energia za cały okres z
.../emeter/{i}/total(Wh), dzielona przez 1000 i zapisywana jako kWh
Każdy przekładnik jest dimensjonowany na 120 A i jest nieinwazyjny (zacisk clip-on, bez konieczności rozcinania przewodu). Dołączone 3 przekładniki są indywidualnie oznakowane i kalibrowane — NIE są wymienne między kanałami.
Parametry elektryczne per faza
Każdy licznik udostępnia cztery atrybuty service do zaawansowanego monitoringu:
- Napięcie [V] — napięcie skuteczne (RMS) faza-zero na danej fazie (
.../emeter/{i}/voltage) - Prąd [A] — prąd skuteczny (RMS) mierzony przez odpowiedni przekładnik (
.../emeter/{i}/current) - Współczynnik mocy — stosunek mocy czynnej do pozornej, zakres −1.00 do 1.00 (
.../emeter/{i}/pf) - Energia oddana [Wh] — łączna energia oddana do sieci na danej fazie (
.../emeter/{i}/total_returned), użyteczna dla PV / pomiaru dwukierunkowego
Kombinacja total (zużyta) i total_returned (eksportowana) per faza czyni szablon odpowiednim dla instalacji solarnych / oddających energię do sieci.
Reset liczników energii
Każda faza ma akcję service Reset Total, która publikuje reset_totals na shellies/shellyem3-{dID}/emeter/{i}/command. Zeruje to liczniki total i total_returned dla konkretnej fazy — przydatne przy zmianie zastosowania licznika lub rozpoczęciu nowego okresu pomiaru.
Przekaźnik stycznikowy
Wbudowany przekaźnik 10 A jest udostępniony jako urządzenie przełącznikowe. Stan jest odczytywany z shellies/shellyem3-{dID}/relay/0 (on → 1, cokolwiek innego → 0) i sterowany poprzez publikację on lub off na .../relay/0/command. Przekaźnik jest dimensjonowany na 10 A / 240 V AC i zwykle podłączany przez zaciski I (wejście fazy) i O (wyjście przekaźnika) do sterowania cewką zewnętrznego stycznika mocy do przełączania większych obciążeń.
Szablon MQTT nie publikuje 3-fazowej sumy mocy (
total_powerna Gen1 jest dostępne tylko przez HTTP). Utwórz w TapHome wirtualne urządzenie sumujące trzy wartości mocy per faza, jeśli potrzebujesz pojedynczej wartości mocy domowej.
Rozwiązywanie problemów
Brak odbieranych wiadomości MQTT
- Potwierdź, że MQTT jest włączony w Shelly web UI (Internet & Security → Advanced - Developer Settings → Enable action execution via MQTT) i urządzenie zrestartowało się po zapisaniu
- Sprawdź, że IP i port brokera w urządzeniu odpowiadają parametrom importu
IpAddress/Portw TapHome - Zasubskrybuj
shellies/#klientem MQTT (np. MQTT Explorer,mosquitto_sub) i sprawdź, czy urządzenie cokolwiek publikuje — zweryfikuj, że rzeczywisty prefiks topic (shellyem3-{dID}) odpowiadadIDwprowadzonemu w TapHome - Upewnij się, że broker MQTT działa i jest osiągalny zarówno z Shelly 3EM, jak i z TapHome Core
- Jeśli IP urządzenia ostatnio się zmienił, spróbuj połączyć się przez nazwę hosta mDNS
shelly3em-{MAC}.local, aby zweryfikować dostępność urządzenia w sieci
Wartości energii pokazują zero lub nieprawdopodobne wartości
- Potwierdź, że każdy przekładnik jest podłączony do właściwego wejścia — przekładnik oznaczony
IAmusi być podłączony do zaciskówIA-/IA+,IBdoIB-/IB+,ICdoIC-/IC+. Przekładniki są kalibrowane per kanał i nie są wymienne. - Sprawdź, że strzałka na obudowie przekładnika wskazuje kierunek przepływu prądu (od źródła do obciążenia). Odwrócony przekładnik daje ujemny współczynnik mocy i odwraca klasyfikację zużycia / oddania.
- Sprawdź, że wejścia napięciowe
VA,VB,VCsą podłączone do tych samych faz, które mierzą przekładniki — błędne sparowanie napięcie / prąd daje błędne wartości mocy i współczynnika mocy. - Jeśli pojedyncza faza pokazuje zero, podczas gdy pozostałe są poprawne, wymień ten przekładnik na sprawdzony i zlokalizuj problem między przekładnikiem a obwodem.
Nie można włączyć MQTT — Cloud jest aktywny
Na firmware Gen1 MQTT i Shelly Cloud są wzajemnie wykluczające się. Jeśli pole Enable action execution via MQTT jest wyszarzone, najpierw wyłącz Shelly Cloud w Internet & Security → Cloud, a potem ponownie otwórz ustawienia MQTT.
Historia Shelly Cloud zniknęła po włączeniu MQTT
To zachowanie oczekiwane — włączenie MQTT wyłącza Cloud wraz z jego 365-dniową historią. Jeśli potrzebujesz zarówno sterowania MQTT w czasie rzeczywistym w TapHome, jak i długoterminowej historii, kieruj wiadomości MQTT przez własnego brokera i przechowuj dane historyczne w TapHome (lub osobnym systemie logowania).
Każdy przekładnik musi być zawsze podłączony do zacisków Shelly 3EM zanim zostanie zacisnięty wokół przewodu pod napięciem. Napięcie indukowane na otwartym uzwojeniu wtórnym przekładnika może osiągać niebezpieczne wartości i uszkodzić przekładnik.