Problem z Shelly Dimmer 2

Witam

W dniu dzisiejszym dotarł do mnie moduł Shelly Dimmer 2. Wgrałem do niego Tasmotę z http://ota.tasmota.com/tasmota/
szablon z https://templates.blakadder.com/shelly_Dimmer_2.html
skonfigurowałem Wifi i MQTT i moduł bez problemu pojawił się w AIS.
Mimo tego że wszystko wygląda ok. moduł nie steruje żarówką ani z AIS jak i ze strony modułu. Czy ktoś z was używa takiego modułu i może potwierdzić że działa mu prawidłowo? Czy trzeba coś jeszcze konfigurować dla tego modułu? Kończą mi się pomysły.


A tak tylko spytam. Oryginalny soft Shelly po MQTT Ci nie działał?

No właśnie nie sprawdziłem ponieważ od razu zrobiłem flash. Jak niczeg ciekawego nie dowiem się na forum to wgram oryginał mam nadzieje że da radę - kopię robiłem Tasmotizerem. Używasz może tego modułu z oryginalnym softem?

Nie, mam tylko 1 sztukę shelly 1, ale to jest jedyne urządzenie, które nie sprawiło mi nawet najdrobniejszego problemu, a jest na oryginalnym sofcie.

Właśnie czytam starając się Tobie pomóc o tym ściemniaczu. Jest specyficzny, bo ma na pokładzie mikro-kontroler STM32.

Obstawiam, że chodzi o jakieś ustawienia konfiguracji dla GPIO4 i GPIO5 - SHD. Już chyba nie trzeba dodatkowo zmienić oprogramowanie dla STM…
A może zwyczajnie parę komend do skonfigurowania

obraz

Wybacz ale nie mam czasu na kolejną doktoryzację z kolejnego kawałka Tasmota, zwłaszcza jak go nie używam. Lecz sądząc po tym, że używasz Tasmotizera dasz sobie radę.

1 polubienie

Przywróciłem na Shelly Dimer 2 oryginalny firmware. Nie mogłem jednak tego zrobić Tasmotizerem czy ESP Easy. Po wgranie firmwaru moduł nie pokazywał wifi. Uzyskałem pomoc na forum Shelly, gdyby ktoś potrzebował przywrócić oryginalny firmware to trzeba skorzystać z tej strony. https://github.com/yaourdt/tasmota-to-mgos
Moduł jest sprawny mogę nim sterować przez jego stronę. Mam do ciebie pytanie jak zintegrować moduł z AIS trzeba instalować integrację Shelly czy wystarczy uzupełnić MQTT na module?

Nie wiem, ale ja bym skonfigurował mqtt z discovery i sprawdził. Jesli nie zadziała to wtedy Integracje shelly, jest ich chyba 5 :slight_smile:
Bienia bym podpytał o en temat jeśli mqtt nie zadziała.

Męczę się z tym modułem bezskutecznie cały wieczór. Na module ustawiłem:

W configuration.yaml dodałem:
binary_sensor:
- platform: mqtt
name: “Shelly Dimmer Kitchen ext. Switch 1 (MQTT)”
state_topic: “shellies/dom_shellydimmer2-XXXXXX/input/0”
payload_on: “1”
payload_off: “0”
availability:
payload_available: ‘true’
payload_not_available: ‘false’
topic: ‘shellies/dom_shellydimmer2-XXXXXX/online’
qos: 1

Niestety moduł nie jest widoczny w AIS. Czy to jest dobra konfiguracja?
Próbowałem też zainstalować integrację która jest w asystencie domowym. ale wywala mi taki komunikat:
obraz

Czy ta integracja jest odpowiednia do modułów Shelly? Proszę o pomoc kogoś bardziej ogarniętego w tematach integracji.

Podrawiam
Jarek

Wprowadziłem Ciebie w błąd, Shelly nie ma auto-discovery.
Integrowałem u siebie tego Shelly już tak dawno, że zapomniałem jak to robiłem. Zrobiłem to ręcznie przez plik lights.yaml.


Tutaj już wy-komentowany, ponieważ w ramach przeprosin postanowiłem przetestować dla Ciebie skrypty Bienia.

Pobierasz to repozytorium i kopiujesz folder python_scripts do “/data/data/pl.sviete.dom/files/home/AIS”
image

Do pliku configuration.yaml dodajesz tylko 1 linijkę:
image

Do pliku automations.yaml:

W konsoli Jolki: “pm2 restart ais”
Czekasz aż się uruchomi i odpalasz Automatyzację “Shellies Announce”.
Efekt w moim przypadku, był taki że nic się nie pojawiło. Spojrzałem w logi HA/Jolki, a tam informacja żeby zaktualizować firmware na Shelly, zrobiłem update, ponowne uruchomienie “Shellies Announce” i:

Ponieważ jest to u mnie światło to trzeba poprawić klasę urządzenia. Potrzebny do tego jest identyfikator:
image

Edytuję automatyzację “Shellies Discovery”, można to zrobic przez UI, lub przez pliki(tylko potem trzeba przeładować Automatyzacje w konfiguracji HA):


Dopisałem 3 ostatnie linijki > Zapisz.
Uruchomienie “Shellies Announce” i gotowe:

Teraz tylko muszę poprawić automatyzacje związane z pralnią :slight_smile:
Edit: ponieważ nazwałem urządzenie tak samo (pralnia) to nazwa encji się nie zmieniła, więc wszystkie automatyzacje oparte na tej encji dalej działają. :slight_smile:

W razie problemów pisz, postaram się pomóc.

2 polubienia

Witam

Przede wszystkim dziękuje ci bardzo za pomoc. Po wykonaniu konfiguracji zgodnie z twoją instrukcją dimmer bez problemu dodał się do AIS i działa prawidłowo. Nie poprawiałem jedynie klasy urządzenia, ponieważ bez tego i tak mogę dodać kartę do sterowania dimmerem. Czy te zmiany są do czegoś niezbędne?

obraz

Nie miałeś problemu z aktualizacją firmware na Shelly? chciałem dodać do AIS żarówkę Duo bulb i w logach mam komunikat o potrzebie aktualizacji.

Ale moduł twierdzi że jest aktualny. Choć z daty wynika fw że jest dość stary.

Jeszcze raz dzięki za pomoc.

Edit: Problem z aktualizacją rozwiązany. Za radą jednego z kolegów z forum Shelly zaktualizowałem żarówkę z archiwum http://archive.shelly-faq.de/ po tym bez problemu dodała się do AIS.

1 polubienie

Dziś po pelnym resecie aplikacji AiS przestało mi działać Shellies Discovery. Czy to ma związek z aktyalizacją? (chyba zmienił sie phyton) Da się to jakoś naprawić?

Logger: homeassistant.components.automation.shellies_discovery
Source: components/python_script/init.py:147
Integration: Automatyzacja (documentation, issues)
First occurred: 23:53:58 (18 occurrences)
Last logged: 23:56:58

Shellies Discovery: Error executing script. Unexpected error for call_service at pos 1: Unknown slice type: <ast.Constant object at 0xef4b1af0>
While executing automation automation.shellies_discovery
Shellies Discovery: Error executing script. Unexpected error for call_service at pos 1: Unknown slice type: <ast.Constant object at 0xefd6d460>
Shellies Discovery: Error executing script. Unexpected error for call_service at pos 1: Unknown slice type: <ast.Constant object at 0xef4786a0>
Shellies Discovery: Error executing script. Unexpected error for call_service at pos 1: Unknown slice type: <ast.Constant object at 0xee309430>

Traceback (most recent call last):
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/helpers/script.py”, line 253, in _async_step
await getattr(
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/helpers/script.py”, line 463, in _async_call_service_step
await self._async_run_long_action(service_task)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/helpers/script.py”, line 422, in _async_run_long_action
long_task.result()
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/core.py”, line 1490, in async_call
task.result()
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/core.py”, line 1529, in _execute_service
await self._hass.async_add_executor_job(handler.job.target, service_call)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/concurrent/futures/thread.py”, line 52, in run
result = self.fn(*self.args, **self.kwargs)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/components/python_script/init.py”, line 108, in python_script_service_handler
execute_script(hass, call.service, call.data)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/components/python_script/init.py”, line 140, in execute_script
execute(hass, filename, source, data)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/homeassistant/components/python_script/init.py”, line 147, in execute
compiled = compile_restricted_exec(source, filename=filename)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/compile.py”, line 90, in compile_restricted_exec
return _compile_restricted_mode(
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/compile.py”, line 68, in compile_restricted_mode
policy_instance.visit(c_ast)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 407, in visit
return visitor(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 1437, in visit_Module
node = self.node_contents_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 535, in node_contents_visit
return super(RestrictingNodeTransformer, self).generic_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 483, in generic_visit
value = self.visit(value)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 407, in visit
return visitor(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 1310, in visit_FunctionDef
node = self.node_contents_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 535, in node_contents_visit
return super(RestrictingNodeTransformer, self).generic_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 483, in generic_visit
value = self.visit(value)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 407, in visit
return visitor(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 1394, in visit_Return
return self.node_contents_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 535, in node_contents_visit
return super(RestrictingNodeTransformer, self).generic_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 492, in generic_visit
new_node = self.visit(old_value)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 407, in visit
return visitor(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 873, in visit_Call
node = self.node_contents_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 535, in node_contents_visit
return super(RestrictingNodeTransformer, self).generic_visit(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 483, in generic_visit
value = self.visit(value)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/ast.py”, line 407, in visit
return visitor(node)
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 966, in visit_Subscript
args=[node.value, self.transform_slice(node.slice)],
File “/data/data/pl.sviete.dom/files/usr/lib/python3.9/site-packages/RestrictedPython/transformer.py”, line 390, in transform_slice
raise NotImplementedError(“Unknown slice type: {0}”.format(slice
))
NotImplementedError: Unknown slice type: <ast.Constant object at 0xef83a820>

Z tego co widzę to problem jest już znany

Da się go jakoś obejść problem żeby można było integrować moduły Shelly z AiS?

Mi działa normalnie a ktoś próbować usunąć indodac jeszcze raz ? Usunołem i dodałem shelly

A jak integrowałeś? Bo mi też już działa tylko zapomniałem napisać jak rozwiązałem a mianowicie w najnowszej wersji AiS działa perfekcyjnie wbudowana integracja (w poprzedniej prosiła o wybudzenie urządzeń bateryjnych i tak w kółko).

Stravi pomógł wgrać mi integrację

Fix jest w HA w wersji: 2020.12.1, czyli aktualnie Beta Jolki o imieniu Bartek :slight_smile:

Ok jest integracja shelly na bramce podaje się tylko IP przełącznika i wszystko działa