# Shelly 2.5 - informacje ogólne

**URL:** <https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885>\
**Category:** Uncategorized\
**Created:** [20 Maj 2022 22:29 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885 "2022-05-20T22:29:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [20 Maj 2022 22:29 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/1 "2022-05-20T22:29:48Z")

</div>

Witam,  
Trochę bawiłem się ostatnio modułami Shelly 2.5 i nie wszystkie informację znalazłem na forum. Poniżej podsumowanie rzeczy, które się dowiedziałem (może komuś się przyda).

**1. Oryginalna integracja Shelly** - konfiguracja bardzo prosta (raczej nie trzeba tłumaczyć)  
Uwagi: jeden z modułów mam sterowany w połączeniu z czujnikiem ruchu podpiętym pod inny moduł (PIR → Wemos → HA → Shelly). Czasami działa bardzo szybko, a czasami lagi dochodzą do 4-5 sekund. Niedługo będę wgrywać Tasmote i sprawdzę czy coś się zmieni.

Informacyjnie, poza aplikacją można sterować jeszcze przez stronę internetową po zalogowaniu się: [https://home.shelly.cloud/](https://home.shelly.cloud/)

**2. Wgrywanie Tasmota na Shelly**

- Pierwsza metoda - bezprzewodowa  
Moduł Shelly 2.5 dodajemy do naszej sieci WiFi i musimy sprawdzić jego IP (można podejrzeć w ustawieniach → Informacja o urządzeniu → IP Urządzenia)  
Zgodnie z instrukcją ze strony: [https://github.com/yaourdt/mgos-to-tasmota](https://github.com/yaourdt/mgos-to-tasmota)  
Wystarczy uruchomić w przeglądarce stronę którą jest komendą dla Shelly 2.5

```auto
- w linku uzupełnić brakujące IP modułu - ???
http://192.168.0.???/ota?url=http://dl.dasker.eu/firmware/mg2tasmota-Shelly25.zip

```

Wyskoczy informacja:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/913f4f2ee0734b17daea46c39a40afa48527c5a5.png)  
i gotowe! (oczywiście trzeba skonfigurować Tasmote)

- Druga metoda - przewodowa  
Trzeba zakupić (posiadać) programator obsługujący flash-owanie ESP8266 i przewód do komunikacji. Przewód można też wykonać samemu (moduł Shelly ma gniazdo do programowania z rastrem 1,27mm). Ja wykorzystałem polutowane druciki od rezystorów z podstawowym przewodem łączeniowym do płytki stykowej.  
Schemat do połączenia się z Shelly:  
 ![shelly_tasmota_17](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/9105f527dab00b8b0fe96d963d7ed8cfd6a21de4.jpeg)  
Do wgrywania skorzystałem z Tasmotizer:  
[[Releases · tasmota/tasmotizer · GitHub](https://github.com/tasmota/tasmotizer/releases) ([Releases · tasmota/tasmotizer · GitHub](https://github.com/tasmota/tasmotizer/releases))

**3. Konfiguracja Tasmota**  
Ręczne ustawienie konfiguracji:

 ![Bez tytułu1](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/92042af8a3bce6905ce288399857d918b45468eb.jpeg)

Lub szablon:

```auto
{"NAME":"Shelly 2.5","GPIO":[320,0,34,0,224,129,0,0,640,128,608,225,3456,4736],"FLAG":0,"BASE":18}

```

**4. Wgrywanie oryginalnego softu Shelly na Shelly 2.5**  
[https://www.shelly-support.eu/forum/index.php?thread/438-shelly-2-5-restoring-the-firmware/](https://www.shelly-support.eu/forum/index.php?thread/438-shelly-2-5-restoring-the-firmware/)

Metoda tylko przewodowa: (wykorzystałem posiadany programator i kabel)  
Tym samym programem (Tasmotizer) wgrałem plik:

[https://www.shelly-support.eu/filebase/index.php?filebase/112-shelly-2-5/](https://www.shelly-support.eu/filebase/index.php?filebase/112-shelly-2-5/)  
lub  
[shelly25.bin](https://ai-speaker.discourse.group/uploads/short-url/kbMbkgBaFUjnodRPEXhwCl0kXXX.bin) (2 MB)  
Po wgraniu reset, parowanie z aplikacją i aktualizacja oprogramowania.  
I można odsyłać na ewentualną naprawę gwarancyjną 🙂

---

<div class="post-metadata">

**Autor:** ![Cezary.K](https://avatars.discourse-cdn.com/v4/letter/c/a88e4f/32.png) [@Cezary.K](https://ai-speaker.discourse.group/u/Cezary.K)\
**Data wpisu:** [21 Maj 2022 05:30 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/2 "2022-05-21T05:30:09Z")

</div>

Jeśli nie przeszedłeś w ustawieniach modułu Shelly na komunikację lokalną po MQTT, czyli nie odłączyłeś go od chmury, to by tłumaczyło opóźnienia w działaniu .

 ![Screenshot_20220521-073542_Chrome](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/c/cb2fdecd4c69ee0f85feb577c59384bc95373876.jpeg)

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [5 Czerwiec 2022 21:26 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/3 "2022-06-05T21:26:44Z")

</div>

Dalsze informację o konfiguracji Shelly pod działaniem Tasmota:

- Automatyczne wykrywanie przekaźników jako ŚWIATŁO w HA

```auto
SetOption30 1

```

- Zmiana wyświetlania licznika energii dla każdego przekaźnika osobno

```auto
SetOption129 1

```

![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1f934030fe741b6f7dabb4f630b7121dd4ea1d86.png)

- Zmiana temperatury awaryjnego wyłączenia przekaźnika (\*80 stopni)

```auto
SetOption42 80

```

- Konfiguracja działania przycisków podłączonych pod Shelly  
(jak korzystam z poniższego ustawienia)

```auto
SetOption1 1 (ograniczenie działania do pojedynczych naciśnięć)
SetOption11 0 (wyłączenie dodatkowych funkcji zmiany przycisku)
SetOption13 1 (natychmiastowa reakcja po naciśnięciu)

```

Szczegółowe dane pod linkiem:

> **[Commands - Tasmota](https://tasmota.github.io/docs/Commands/#setoptions)**
>
> Documentation (Wiki) for Tasmota

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [5 Czerwiec 2022 21:37 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/4 "2022-06-05T21:37:06Z")

</div>

Jeden z modułów Shelly 2.5 testuje z funkcją przycisków **Multi-Press**

> **[Buttons and Switches - Tasmota](https://tasmota.github.io/docs/Buttons-and-Switches/#multi-press-functions)**
>
> Documentation (Wiki) for Tasmota

Chciałbym przypisać do przycisków dodatkowe akcje niezwiązane z tym modułem.  
Czy np. odtworzenie powiadomienia po wciśnięciu 2 krotnym przycisku. Światło się nie zapali, ale wyśle do HA wiadomość:  
`MQT: stat/dom_xxxxxxx/BUTTON2T = {"TRIG":"DOUBLE"}`  
Zastanawiam się jak tą wiadomość najłatwiej obsłużyć?

---

<div class="post-metadata">

**Autor:** ![Cezary.K](https://avatars.discourse-cdn.com/v4/letter/c/a88e4f/32.png) [@Cezary.K](https://ai-speaker.discourse.group/u/Cezary.K)\
**Data wpisu:** [6 Czerwiec 2022 07:01 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/5 "2022-06-06T07:01:38Z")

</div>

> [@bartas87poz](#):
>
> Zastanawiam się jak tą wiadomość najłatwiej obsłużyć?

Wyzwalaczem automatyzacji może być odebrany komunikat `stat/dom_xxxxxxx/BUTTON2T = {"TRIG":"DOUBLE"}`

 ![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/b/b78db982d30b11b86bee41ca55700bf8e1d82de5.png)

> [@bartas87poz](#):
>
> odtworzenie powiadomienia po wciśnięciu 2 krotnym przycisku.

Akcja automatyzacji - wykonanie usługi `AIS AI: mob_notify` lub/i `AIS AI: say_it` czy co tam sobie wybierzesz z listy w narzędziach deweloperskich :

 ![obraz](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/19adf7d4297a47c6d5124b7b5541482c24a4a558.png)

Chciałbym Ci @bartas87poz polecić lekturę funkcji _ **Backlog** _ [~](https://tasmota.github.io/docs/Commands/#the-power-of-backlog) pozwoli Ci na dowolne użycie komunikatów MQTT.  
Można wykorzystać reguły Tasmota i zyskać na większej niezależności działania. Poniżej link do przykładów reguł:  
_ **Pojedyncze naciśnięcie, podwójne naciśnięcie i przytrzymanie** _ [~](https://tasmota.github.io/docs/Rules/#button-single-press-double-press-and-hold)  
Jeśli chcesz poznać zastosowanie reguł, to koniecznie przeczytaj o zasadach ich tworzenia, łatwiej zrozumiesz ich działanie w przykładach z dokumentacji.  
Można również, do sterowania w automatyzacji HA, wykorzystać usługę `MQTT: Publish` w połączeniu z `Backlog`.

> [@Sterowanie Taśmą LED RGBW poprzez moduł H801 (AI-Speaker - Home Assistant)](https://ai-speaker.discourse.group/t/sterowanie-tasma-led-rgbw-poprzez-modul-h801-ai-speaker-home-assistant/112/67):
>
> Bardzo dziękuję [zdjęcie][Sebastian](https://ai-speaker.discourse.group/t/sterowanie-tasma-led-rgbw-poprzez-modul-h801-ai-speaker-home-assistant/112/66). Nie wpadłem na to, że mogę opublikować komendy dla Tasmota po MQTT. Proste jak … odszukać polecenie, załadować, wycelować w topic i odpalać (np przez automatyzację). Wniosek - tabelę komend Tasmota koniecznie przestudiować [(link)](https://tasmota.github.io/docs/Commands/#blinkcount). Przerywanie/mruganie - gotowiec Power 3 [image] A do tego konfigurowalne przez Blink [image] Przykład: payload: BlinkTime 2; BlinkCount 0; Power 3; delay 60; Power 4 topic: cmnd/dom\_722073/Backlog BlinkTime 2 - ustawiamy …

Mój przykład akacji w automatyzacji HA:

```auto
service: mqtt.publish
data:
  payload: Color 107,78,0,77; var1 107,78,0,77
  topic: cmnd/dom_722073/Backlog

```

Polecam dodatkową lekturę z inspirującego bloga:

> **[Tasmota Lights in Home Assistant Using Template Schema](https://blakadder.com/template_schema_lights/)**
>
> The complex world of integrating Tasmota lights into Home Assistant using template schema.

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [8 Czerwiec 2022 20:20 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/6 "2022-06-08T20:20:52Z")

</div>

> [@Cezary.K](#):
>
> Można również, do sterowania w automatyzacji HA, wykorzystać usługę `MQTT: Publish` w połączeniu z `Backlog`.

Trochę mnie to zainspirowało, oczywiście reguły w Tasmota znam, funkcję Backlog również.  
Żeby mieć pełną kontrole wyłączyłem połączenie **Button** z **przekaźnikiem**.  
Służy do tego `Setoption73 1` i całość napisałem samemu.

Prawie wszystkie automatyzacje mam opisane w Node-red i nie chciałem korzystać z automatyzacji w HA (przynajmniej na razie).

Przygotowałem dodatkowy binary\_sensor który sam się dodaje do urządzenia i aktywuje po podwójnym naciśnięciu (od niego już dalej wyzwalane są kolejne akcje) .

Podsumowanie.  
Konfiguracja Tasmota:

- SetOption1 1 (ograniczenie działania do pojedynczych naciśnięć)
- SetOption11 0 (wyłączenie dodatkowych funkcji zmiany przycisku)
- SetOption13 0 (umożliwienie podwójnego naciśnięcia)
- SetOption42 80 (ustawienie temperatury wyłączenia przekaźnika)
- SetOption129 1 (ustawienie licznika energii dla każdego przekaźnika osobno)
- SetOption30 1 (ustawienie przełącznika jako światło)
- Setoption73 1 (wysyłanie mqtt zamiast aktywacji wyjścia)

Reguły:

```auto
Rule1 ON button1#state=10 DO Power1 2 ENDON ON button1#state=11 DO Backlog RuleTimer1 2; publish stat/%topic%/LIGHT1 1 ENDON ON Rules#Timer=1 DO publish stat/%topic%/LIGHT1 0 ENDON ON button2#state=10 DO Power2 2 ENDON ON button2#state=11 DO Backlog RuleTimer2 2; publish stat/%topic%/LIGHT2 1 ENDON ON Rules#Timer=2 DO publish stat/%topic%/LIGHT2 0 ENDON
Rule2 ON Mqtt#Connected do publish2 homeassistant/binary_sensor/%deviceid%_1_light/config {"name":"Kuchnia lampa gora2","state_topic":"stat/%topic%/LIGHT1","payload_on":1,"payload_off":0,"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","device_class":"light","force_update":true,"unique_id":"%deviceid%_1_light","device":{"identifiers":["%deviceid%"]}} ENDON
ON Mqtt#Connected do publish2 homeassistant/binary_sensor/%deviceid%_2_light/config {"name":"Kuchnia lampa blat2","state_topic":"stat/%topic%/LIGHT2","payload_on":1,"payload_off":0,"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","device_class":"light","force_update":true,"unique_id":"%deviceid%_2_light","device":{"identifiers":["%deviceid%"]}} ENDON
Rule1 1
Rule2 1

```

Efekt:  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/0/0346041e291b5fa55910fd3b8f01fc143035f742.png)

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [9 Czerwiec 2022 06:09 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/7 "2022-06-09T06:09:20Z")

</div>

> [@bartas87poz](#):
>
> MQT: stat/dom\_xxxxxxx/BUTTON2T = {“TRIG”:“DOUBLE”}

Dlaczego tak nie mogłeś zrobić? Ja tak mam switchem

```auto
MQT: stat/dom_xxxxxxx/SWITCH1T = {"TRIG":"HOLD"}

```

zwykły łącznik z dwiema pozycjami i albo naciskam raz to sie światło zapala toogle, albo dwa razy i automatyzacja w NR wyłącza wszystko w pokoju. jest jako HOLD. Jeden przełącznik, dwie akcje. Nie wiem ile potrzebujesz.  
Teraz jak router Ci się popsuje, AP zawiesi, sprzęt z NR, mqtt padnie, to nawet światła nie włączysz.  
Raz sobie niechcący zapchałem pule IP na routerze przez anonimizację MAC i wifi się skończyło 😛

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [10 Czerwiec 2022 19:27 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/8 "2022-06-10T19:27:39Z")

</div>

> [@bartik22](#):
>
> Dlaczego tak nie mogłeś zrobić? Ja tak mam switchem

Chyba nie do końca sprawdziłeś zapisane reguły w wątku wyżej.  
Rule1 - wykonuje akcje (lokalnie)  
Rule2 - tworzy automatycznie binary\_sensor, który jest aktywowany podczas podwójnego naciśnięcia.

Opis reguły:

```auto
Rule1 
ON button1#state=10 DO Power1 2 ENDON (pojedyncze naciśnięcie przycisku aktywuje TOOGLE na wyjściu)
ON button1#state=11 DO Backlog RuleTimer1 2; publish stat/%topic%/LIGHT1 1 ENDON (podwójne naciśnięcie aktywuje timer na 2 sekundy i binary_sensor ustawia na 1)
ON Rules#Timer=1 DO publish stat/%topic%/LIGHT1 0 ENDON (po 2 sekundach binary_sensor ustawiany na 0)
i to samo dla przycisku drugiego

```

Czyli sterowanie oświetleniem jest lokalnie, a podwójne naciśnięcie aktywuje akcje.

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [12 Czerwiec 2022 09:22 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/9 "2022-06-12T09:22:30Z")

</div>

Faktycznie nie zauważyłem tego pierwszego 🙂  
Czyli masz łącznik monostabilny?

---

<div class="post-metadata">

**Autor:** ![bartas87poz](https://avatars.discourse-cdn.com/v4/letter/b/c37758/32.png) [@bartas87poz](https://ai-speaker.discourse.group/u/bartas87poz)\
**Data wpisu:** [16 Czerwiec 2022 20:48 UTC](https://ai-speaker.discourse.group/t/shelly-2-5-informacje-ogolne/2885/10 "2022-06-16T20:48:20Z")

</div>

Tak mam łącznik monostabilny, w łazience mam automatyczne sterowanie światłem uzależnione od czujnika ruchu w łazience, czujnika ruchu na korytarzu i kontaktronu w drzwiach. Przy łączniku bistabilnym co chwile w innej pozycji załączałoby się światło, a to mnie osobiście denerwuje (łącznik powinien zapalić światło zawsze w jednej pozycji - dolnej).

Chwile używam już takiego rozwiązania i jedno mnie irytuje, po wciśnięciu przycisku ustawionego jako `Button1` zapala się światło z opóźnieniem około 1sekundy. Można to wyłączyć za pomocą komendy `SetOption13 1`, ale traci się możliwość wywołania wielokrotnego naciśnięcia lub HOLD.

I tu dała mi do myślenia sugestia:

> [@bartik22](#):
>
> Ja tak mam switchem

Zmieniłem `Button1` na `Switch1`  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/2/2960cf61ad3454f6c805b1014fd159013b3a6c8a.png)

I ustawiłem parametry:

- SetOption30 1 (ustawienie przełącznika jako światło)
- SwitchMode1 6 (ustawienie trybu działania łącznika monostabilnego)
- SwitchMode2 6 (ustawienie trybu działania łącznika monostabilnego)
- SetOption32 15 (czas po którym zadziała HOLD - 1,5s)

Jakie są różnice - światło zapala się od razu po naciśnięciu, a akcje dodatkową mogę aktywować przez wywołanie HOLD (do dyspozycji jest tylko jedna akcja dodatkowa). Przy Button1 miałem 6 kombinacji naciśnięć + HOLD. Ale kto spamięta, która kombinacja co robi - mnie osobiście na razie nie potrzebne

Jeśli komuś się przyda to zamieszczam reguły do powyższego ustawienia:

```auto
Rule1 
ON Switch1#state=3 DO Backlog Power1 2; publish stat/%topic%/LIGHT1 1 ENDON 
ON Power1#state=0 DO publish stat/%topic%/LIGHT1 0 ENDON 
ON Switch2#state=3 DO Backlog Power2 2; publish stat/%topic%/LIGHT2 1 ENDON 
ON Power2#state=0 DO publish stat/%topic%/LIGHT2 0 ENDON 

Rule2 
ON Mqtt#Connected do publish2 homeassistant/binary_sensor/%deviceid%_1_light/config {"name":"Lazienka_lampa_prysznic_hold","state_topic":"stat/%topic%/LIGHT1","payload_on":1,"payload_off":0,"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","device_class":"light","force_update":true,"unique_id":"%deviceid%_1_light","device":{"identifiers":["%deviceid%"]}} ENDON
ON Mqtt#Connected do publish2 homeassistant/binary_sensor/%deviceid%_2_light/config {"name":"Lazienka_lampa_umywalka_hold","state_topic":"stat/%topic%/LIGHT2","payload_on":1,"payload_off":0,"availability_topic":"tele/%topic%/LWT","payload_available":"Online","payload_not_available":"Offline","device_class":"light","force_update":true,"unique_id":"%deviceid%_2_light","device":{"identifiers":["%deviceid%"]}} ENDON

```
