
Shelly EM to jednofazowy licznik energii z dwoma niezależnymi kanałami pomiarowymi i wyjściem przekaźnikowym 2A do sterowania stycznikiem. Każdy kanał łączy si�� z zewnętrznym przekładnikiem prądowym (klamrą CT) – dostępnym w wariantach 50A i 120A – umożliwiając nieinwazyjny monitoring dwóch oddzielnych obwodów jednocześnie. Ten szablon łączy się z urządzeniem przez broker MQTT w sieci lokalnej. Połączenie z chmurą nie jest wymagane.
Szablon tworzy trzy urządzenia: dwa liczniki energii (po jednym na kanał CT) śledzące kumulatywne zużycie energii oraz przełącznik dla przekaźnika stycznikowego.
Konfiguracja
Device ID
Shelly EM używa Device ID w formacie shellyem-XXXXXX, gdzie XXXXXX to ostatnie 6 znaków adresu MAC w formacie szesnastkowym (np. shellyem-B929CC). Podczas importu szablonu wpisz tylko część szesnastkową (np. B929CC) w parametrze Device ID.
Device ID można znaleźć:
- W interfejsie webowym Shelly: Settings > Device Info
- Przez API:
GET http://<device-ip>/settings– polemqtt.id
To urządzenie obsługuje odkrywanie mDNS. Zamiast adresu IP możesz użyć nazwy hosta
shellyem-{MAC}.localpodczas konfiguracji brokera MQTT. Zamień{MAC}na pełny adres MAC w formacie szesnastkowym (np.shellyem-b929cc.local). Użycie nazwy hosta zapobiega problemom z łącznością przy zmianie adresu IP urządzenia.
Konfiguracja MQTT
Przed importem szablonu włącz MQTT na urządzeniu Shelly EM:
- Otwórz interfejs webowy Shelly pod adresem
http://<device-ip> - Przejdź do Internet & Security > Advanced — Developer Settings
- Zaznacz Enable action execution via MQTT
- W polu Server wpisz adres brokera MQTT w formacie
broker-ip:1883 - Naciśnij SAVE
W urządzeniach Shelly Gen1 włączenie MQTT wyłącza Shelly Cloud. Obie funkcje nie mogą działać jednocześnie.
Konfiguracja szablonu
Po zaimportowaniu szablonu w TapHome:
- Ustaw MQTT Broker IP na adres Twojego brokera MQTT
- Ustaw MQTT Broker Port (domyślnie
1883) - Ustaw Device ID na szesnastkową część Device ID urządzenia Shelly EM (np.
B929CC)
Moduł subskrybuje topic shellies/#, a skrypty listener na każdym urządzeniu filtrują wiadomości według skonfigurowanego Device ID.
Możliwości urządzenia
Pomiar energii (na kanał)
Każdy kanał jest w TapHome widoczny jako niezależne urządzenie Licznik energii. Skrypt listener subskrybuje dwa topiki MQTT na kanał:
| Topic | Jednostka | Opis |
|---|---|---|
emeter/{i}/energy | watominuty | Kumulatywna energia od ostatniego restartu – dzielona przez 60 000 do konwersji na kWh |
emeter/{i}/total | Wh | Trwałe całkowite zużycie energii – przetrwa restarty |
Szablon przechowuje obie wartości: Ed (energia z topiku watominut, skonwertowana na kWh) i To (całkowite zużycie w Wh z trwałego topiku).
Topic
energyzeruje się przy restarcie urządzenia. Dla trwałego śledzenia energii szablon odczytuje również topictotal, który przetrwa restarty.
Każdy kanał udostępnia również atrybut serwisowy Napięcie, który odczytuje napięcie sieciowe RMS z topiku MQTT emeter/{i}/voltage.
Skrypty
readtotalconsumptionireaddemandto zakomentowany boilerplate szablonu – wszystkie dane energetyczne przychodzą przez listener MQTT. Oznacza to, że szablon nie zapewnia odczytów mocy chwilowej (W). Śledzona jest tylko energia kumulatywna (kWh) i całkowite zużycie (Wh). Chwilowa moc czynna jest dostępna przez topic MQTTemeter/{i}/power, ale ten szablon go nie subskrybuje.
Przekaźnik stycznikowy
Wyjście przekaźnikowe jest widoczne jako przełącznik w TapHome. Przekaźnik jest wymiarowany na 2A / 230 VAC – jest przeznaczony wyłącznie do sterowania stycznikiem, nie do bezpośredniego przełączania obciążeń.
- Odczyt: subskrybuje topic
shellies/shellyem-{id}/relay/0– payloadon= włączony,off= wyłączony - Zapis: publikuje
onluboffdoshellies/shellyem-{id}/relay/0/command
Przekaźnik jest wymiarowany tylko na 2A. Dla obciążeń przekraczających ten limit zawsze używaj zewnętrznego stycznika. Bezpośrednie podłączenie obciążeń dużej mocy uszkodzi przekaźnik.
Rozwiązywanie problemów
Brak danych energetycznych
- Sprawdź, czy MQTT jest włączone w interfejsie webowym Shelly (Internet & Security > Advanced – MQTT)
- Sprawdź, czy adres i port brokera MQTT są poprawne zarówno w ustawieniach urządzenia Shelly, jak i modułu TapHome
- Sprawdź, czy zmienna niestandardowa Device ID dokładnie odpowiada Device ID urządzenia Shelly (np.
B929CC) - Za pomocą klienta MQTT (np. MQTT Explorer) zasubskrybuj topic
shellies/#i sprawdź, czy urządzenie publikuje topikiemeter/0/energyiemeter/1/energy
Dane tylko z jednego kanału
- Sprawdź, czy klamra CT jest podłączona do właściwego gniazda 3,5 mm (kanał 0 lub kanał 1)
- Sprawdź, czy przez monitorowany przewód płynie prąd – klamra CT musi obejmować pojedynczy przewód, nie cały kabel
- Osobno zasubskrybuj topiki
shellies/shellyem-{id}/emeter/0/#ishellies/shellyem-{id}/emeter/1/#i sprawdź, czy oba kanały publikują dane
Przekaźnik nie reaguje
- Sprawdź, czy Shelly EM jest zasilane i połączone z brokerem MQTT
- Ręcznie opublikuj
onluboffdoshellies/shellyem-{id}/relay/0/commandprzez klienta MQTT, aby przetestować działanie przekaźnika niezależnie od TapHome - Sprawdź prawidłowe okablowanie wyjścia przekaźnikowego (sprawd�� oznaczenia zacisków na urządzeniu)
Urządzenia Shelly Gen1 nie obsługują MQTT przez TLS. Komunikacja między urządzeniem a brokerem MQTT jest nieszyfrowana (plain MQTT, port 1883). Upewnij się, że broker MQTT znajduje się w zaufanej sieci lokalnej.