INFORMACJA : Strona oraz Forum Smart'ny Dom zostały przeniesione na nowy serwer. W razie zauważenia problemów z działaniem, proszę zgłaszać je tutaj. W ciągu kilku następnych dni serwer będzie "podkręcany" i mogą występować chwilowe przerwy w jego działaniu.
Za niedogodności z góry przepraszam, admin
Część pierwsza o tradycyjnej, ale nowoczesnej instalacji elektrycznej. Link.
To co do tej pory zostało opisane to tradycyjna, ale nowoczesna instalacja elektryczna, która pozwala na zastosowania gotowych rozwiązań, ale co najważniejsze pozwala dodać automatykę mniej lub bardziej DIY.
Tu też kończy się sprawny serwis każdego elektryka wezwanego do awarii, a co gorsza poniżej jest już część, która pod wątpliwość podda np ubezpieczyciel.
Instalacja dla automatyki domowej.
To są wszystkie dodatkowe elementy, które możemy dodać po czasie. W to także wchodzi szybki i łatwy montaż gotowych rozwiązań oferowanych przez wiele firm.
Do tej pory mam tradycyjna, ale nowoczesna instalacje, która serwisem może zająć się każdy elektryk. Ma ona jeszcze jedna zaletę, działa autonomicznie i jest nie zależna od systemu automatyki. Inaczej mówiąc jak padnie malina (której nie polecam do automatyki domowej) to oświetlenie wciąż będzie działać jak w tradycyjnej instalacji, także można zostawić żonę samą w domu i nie obawiać się że będzie ściągać z np. delegacji.
Trochę o samym przekaźniku.
Przekaźniki te działają na bardzo podobnej zasadzie jak popularnie przekaźniki elektromagnetyczne i/ssr'y. Posiadają dwa złącza śrubowe A1 i A2 do podłączenia przełącznika monostabilnego (typu dzwonek).
Posiadają dwa wejścia i dwa wyjścia idące parami. Tor pierwszy wejście oznaczone 1 i wyjściem oznaczonym 2. Tor drugi to kolejna para 3 i 4. Oba tory sterowane z jednej cewki są od siebie odseparowane, znaczy to że w każdym torze może płynąć inne napięcie.
Tor pierwszy.
Wykorzystamy go do naszej instalacji elektrycznej 230v i tym samym o torze pierwszym możemy zapomnieć.
Drugi tor przekaźnika a sprawdzanie stanu.
Ten tor wykorzystamy do naszej automatyki domowej. Pierwszym najważniejszym jest możliwość przekazania do systemu stanu tego toru. Stan tory czyli inaczej czy światło jest włączone czy wyłączone, przekażemy (jak w moim przypadku) wykorzystując odczytanie stanu gpio w ESP, określając klasę urządzenia jako light.
No tak tylko ESP8266 ma tylko parę wyjść/wejść. A Tutaj mam ponad 40 punktów do sterowana. Tu z pomocą przybywa expander do 128 wejść/wyjść.
Dlaczego wybrałem ESP8266 i ESPhome?
Ze względu na API. Do Arduino z każdą aktualizacja trzeba podpinać się z laptopem przez USB. Czasem jest to nie wygodne i bardzo czasochłonne, w większości aby dostać się do portu USB Arduino musimy liczyć się z jego wyciągnięciem z szafy. Esphome pozwala zaktualizować ESP8266 zdalnie.
Drugi dzwonek sterujący.
Przekaźnik elektromagnetyczny i/lub SSR będzie drugim przełącznikiem monostabilnym. Jego podłączenie jest równolegle do tego, który jest naszym przełącznikiem w instalacji tradycyjnej. Do ESP8266 możemy dodać również przełącznik, który wyzwoli naszego SSR z innej lokalizacji lub przy np. działaniu longpress czy dwukliku. Możliwości jest bardzo dużo.
Sam SSR musi zacząć się tylko na 0.3 sekundy max. Także w kodzie uwzględniłem ta konieczność.
Sterowanie z systemu.
Tu spotkałem kolejny problem.
Stan jest znany, ale po kliknięciu w HA włączenie SSR włączał się na stale. A tu potrzeba tylko impulsu max 0.3 sekundy. Esphome pozwala utworzyć szablon (na zdjęciu 'test1 template) i na jego podstawie zmiana stanu w HA następowała poprawnie.
Kolejny problem. Stan przekaźnika to jedno a zmiana to drugie. Nie jest to jedna encja, która sterujemy a dwie osobne.
Szybkie porady na grupie na FB i przygotowany kod gotowy.
kod custom-card
kod dla ESP
ps. w kodzie dla esp można ustawić, aby przycisk 'test1' był operacyjny i nie widoczny dla HA.
Dawid 'Wenar' Guzicki
Podziękowania dla ludzi z facebookowej grupy "Home Asisstant Polska"
EDIT: 10.12.2021 kod dla Olimex iso-poe dla 3 expanderów i2c https://pastebin.com/gtWpAJ0Y
kod zawiera tylko sterowanie przekaźnikami podłączonymi po I2C napisany w esphome.
EDIT 2: 10.12.2021 kod dla Olimex iso-poe dla 3 expanderów i2c https://pastebin.com/am4ja5bW
kod zawiera tylko sprawdzanie stanu przekaźnika bistabilnego podłączonymi po I2C napisany w esphome.
czesc ... skoro nie polecasz maliny napisz prosze co bylo by dobrym wyborem (wiem ze ciezkie), sam mam malinke z dompticz ale juz szwagierce bym tego nie polecil bo sie nie zna kompletnie
, czy np dell wyse z HA bylby lepszy pod taki dom ?
pozdrawiam
@on6222 tak trzeba nato dobrać do indywidualnych potrzeb na ten moment z też z braku czasu używam terminal Dell Wyse, ale to raczej platforma na małą wymagający system. Intel Nuc. Zjada tyle samo prądu co Dell. To rozwiązanie, albo inny mini pc z i7 i minimum 4gb ramu.
Fajny projekt. Ale tak się zastanawiam po co tyle włączników, Szczególnie takich, które blokują całą automatykę.
Myślę, że dobrym pomysłem by było zastosować włączniki schodowe i wywalić resztę niepotrzebnych włączników, szczególnie blokujących działanie automatyki,
Połączysz wyjścia z przekaźników do schodowego i masz sterowanie nie zależne od automatyki ale też nie blokujące automatykę kiedy trzeba jej użyć. Chyba, że już za późno i masz już zamontowane wszystko.
A jak potrzebujesz więcej przełączników to możesz dodać krzyżowe.
Myślę o czymś takim.
@steel_rat w tej instalacji nic nie blokuje automatyki , sterowanie realizowane jest impulsem a wszystkie włączniki to przyciski dzwonkowe ( chwilowe) , nie potrzeba tu schodowych i krzyżowych. Poczytaj o przekaźnikach impulsowych ( bistabilnych ) i sterowaniu nimi.
@wenar do samej instalacji elektrycznej nie będę się odnosił bo każdy ma swoje preferencje i każdy rodzaj instalacji ma swoje wady i zalety , dodam tylko że warto wydzielić sobie obwody zasilające "ważne" urządzenia domowe tj. lodówka, piec lub pompa ciepła , pralka, (alarm + domofon + serwer automatyki - to nawet przed wyłacznikiem różnicowo-prądowym ) , wywalenie różnicówki nie odłącza zasilania tych urządzeń).
Układ gwiazdy jak najbardziej uniwersalny i oprócz większych kosztów trudno się doszukać innych wad .
Autoamatyka oświetlenia oparta na wemos + kilka expanderów MCP23017 do mnie nie przemawia , awaria wemosa i automatyzacja ośw leży , to samo może się stać w przypadku uszkodzenia jednego expandera , który może położyć całą magistralę I2C. Może gdyby kilka tych wemos z jednym MCP23017 każdy , wtedy zmniejszysz ryzyko awarii całej automatyki oświetlenia.
Szkoda że nie napisałeś dlaczego nie polecasz "Maliny" , stwierdzenie bez uzasadnienia to tylko twój pogląd a gdyby to uzasadnić można wyciągnąć wnioski , albo się do tego odnieść
Ogólnie dzięki za wpis na pewno pomoże wielu osobom zaczynającym przygodę z automatyką
Odnośnie użycia wemos i expanderow. Jestem w trakcie projektowania płytki na szynę din. Głównie po to aby mieć w szufladzie przygotowany egzemplarz na wymianę. Choć powiem że to zapożyczony pomysł i u kolegi z FB działa już jakiś czas bez awaryjnie i w dodatku sprawniej niż Arduino. Sam sprawdzałem działanie Arduino jako sterownika światła i niestety ma wady takie jak np nie działa jak nie ma dostępu do serwera mqtt i lub nie działa gdy nie ma dostępu do routera. Taki wemos czy NodeMCU z esphome działa niezależnie. Nie potrzebuję dostępu do sieci i serwera. Sam w sobie posiada już automatykę która wyzwolisz z przycisku. Automatykę taka jaką mu się zaprogramuje. Osiągnięcie tego na Arduino wymagało by wielu godzin pracy przy kodzie.
I btw czy to wemos czy Arduino oba są potencjalnym słabym punktem. Może w przyszłości zaprojektuje wysłana płytkę pod to, ale to lata od teraz.
@steel_rat ilość dzwonków jest dowolna. Może go nie być lub być ich 10 do każdego przełącznika podpina się je rownolegle. I nie ma żadnego efektu blokowania automatyki. SSR wykorzystasz jako drugi dzwonek jak w moim przypadku do którego wcale nie musisz dodawać przełącznika. Ale możesz i możesz go zaprogramować tak aby wyzwalał więcej niż jedno światło. Może to być szablon na całą scenerię.
Mam taki obecnie nazwany max master. Który wyłącza wszystko co mam używam go przed snem. Scena odpala się w 20 minutowej sekwencji, tak abym zasnął zrelaksowany.
@wenar Hmm trochę mnie zaskoczyłeś z tymi wieloma godzinami pisania kodu pod arduino, mogę Ci wysłać w gratisie Atmegę 168 ( arduino nano ze słabszym procesorem) , który podłączysz do zwykłej ładowarki od tel j obsłużysz cztery przekaźniki + cztery przyciski monostabilne, (więcej kanałów np 8 można zrobić na nano z ATMEGA328) , a jak podłączysz to do portu USB swojego Terminala Dell i wstawisz kilka linijek kodu do HA będziesz widział te przyciski + przekaźniki w swoim systemie.
Ale mniejsza o to , biorąc pod uwagę że budujesz scentralizowany system automatyki , to warto brać przykład z tych co robią to od lat np KNX , gdzie nikt nie buduje całego oświetlenia na jednym "AKTORZE" - tak nazywają swoje moduły , tylko jeden moduł obsługuje max 8 obwodów .
Myślę że warto rozważyć czy kilka ESP z jednym expanderem każdy , nie będzie lepszym rozwiązaniem niż robienie takiego monolitu.
Oczywiście jak zrobisz , Twoja sprawa 🙂
Ale mniejsza o to , biorąc pod uwagę że budujesz scentralizowany system automatyki , to warto brać przykład z tych co robią to od lat np KNX , gdzie nikt nie buduje całego oświetlenia na jednym "AKTORZE" - tak nazywają swoje moduły , tylko jeden moduł obsługuje max 8 obwodów .
Myślę że warto rozważyć czy kilka ESP z jednym expanderem każdy , nie będzie lepszym rozwiązaniem niż robienie takiego monolitu.
Oczywiście jak zrobisz , Twoja sprawa 🙂
Zastanawiam się czy oddzielać sekcjami dom czy np separować sterowanie na jednym, na następnym sprawdzanie stanu a na innym przyciski dodatkowe.
@wenar mi odpowiedz nasuwa się sama Po co mi przyciski i status jak nie działa sterowanie ?
@isom taka prawda. Z jednej strony chciałoby się aby sprzęt zajmował jak najmniej miejsca a z drugiej strony musi być to praktyczne i jak najmniej awaryjne.
Sorry jesli odkopuje antyczny temat, ale mam pytanie odnisnie sygnalu z przekaznika ktory idzie do pinu GPIO - czy dobrze rozumiem, ze na przewodzie niebieskim idacym z [4] do GPIO na wemos, jest napiecie 230V? Tak na chlopski rozum wynika z przedstawionego schematu. Z tego co wyczytalem, piny GPIO sa przygotowane do przyjecia ~3.3V. Jak w takim razie sygnal z drugiego toru przekaznika "przyjac" na plytce ESP zeby jej nie usmazyc?
@zablotzky nie odkopujesz antyku bo na grupie na FB cały czas są dyskusje w temacie.
Dlatego przekaźnik jest dwu-torowy.
Jeden tor 230v
A na drugi podajesz co chcesz. Może to być też 230v a może to być 3.3v lub 5v
Ja mam część na 12v
Nagle mnie oswiecilo! Czyli jednym torem leci 230V, to co trafia do lampy, a drugim torem leci niskie napiecie, ktore bedzie odczytywane przez GPIO... no przeciez to jest banalnie proste 🙂
Teraz uwaga, pytanie moze byc glupie: czy zamiast robic osobny obwod z napieciem 3.3V z generatora, moge sie posluzyc pinem 3.3V z esp32? Samo ESP32 zasilam z pinu 5v, z pinu 3.3V puszczam kabel ktory idzie drugim torem na przekazniku i trafia do GPIO - czy w takim ukladzie poprawnie bede w stanie odczytac stan on/off? Czy moze lepiej (prosciej, bezpieczniej) bedzie sprowadzic zasilanie sieciowe z 230V do 3.3V i ta droga doprowadzic do GPIO?
@zablotzky zamknięcie obwodu przez przekaźnik poda stan gpio złączonego z masą.
Czy gpio idzie w pin 4 na przekazniki a masa na pin 3. Złączenie ich daje znać ESP że lampa się świeci.
Skonstruowałem sobie platformę testową - przekaźnik bistabilny dwutorowy, włącznik dzwonkowy, płytka ESP32, przekaźnik 5v. Jednym torem 230V z sieci, drugim torem 3.3V z ESP, sygnał wraca do pinu #25 tylko jak światło jest włączone. Niby działa, ale są dwie Ale:
1) Przy przełączaniu światła zawiesza ESP (zrywa połączenie i musi się jakby od nowa połączyć, domyślam się że się wtedy resetuje). Zarówno jak to robię z poziomu HA jak również i z przycisku. Domyślam się, że to przez sygnał który idzie drugim torem do pinu #25 (jak go odepnę, to działa bez problemu)
2) Nie jestem w stanie odczytać stanu z pinu #25, mój kod:
binary_sensor: - platform: gpio pin: number: 25 mode: input: true pullup: true name: "Status d1" device_class: light
Coś sknociłem?
EDIT: ad2 poprawiłem kod i śmiga:
binary_sensor: - platform: gpio pin: number: 25 mode: input: true pulldown: true name: "Status d1" device_class: light
Ale wciąż mam problem ze zrywaniem połączenia w ESP, w logu widzę to:
[16:48:37][D][binary_sensor:036]: 'Status d1': Sending state OFF [16:48:41][D][switch:013]: 'test1 template' Turning ON. [16:48:41][D][switch:013]: 'test 1' Turning ON. INFO czujniki-test.local: Error while reading incoming messages: Error while reading data: [Errno 104] Connection reset by peer INFO Disconnected from ESPHome API for czujniki-test.local WARNING Disconnected from API INFO czujniki-test.local: Ping Failed: Error while reading data: [Errno 104] Connection reset by peer INFO Successfully connected to czujniki-test.local [16:48:49][D][api:098]: Accepted 192.168.1.216 [16:48:49][D][api.connection:736]: Home Assistant 2021.11.5 (192.168.1.216): Connected successfully
@zablotzky używam olimex Poe prze i2c odbieram stany a płytka odczytująca stany jest za optoizolacja także trochę inaczej to u mnie wygląda.
Zmień pin. Bo nie wiem czy ten za coś innego nie odpowiada.
Ps.
Zobacz mój kod z pierwszego postu. Na stole z wemosem mi to działało.
Ogólnie wszystko działa w ostateczności. Tyle że, co jakiś czas się ESP resetuje jak przełączam światło z poziomu HA. Nawet po zmianie pinu na 14
@zablotzky upewnij się że przekaźnik ma dwa tory izolowane.
I sprawdź czy masa dla ESP i przekaźnika jest wspólna.
Może by tak kolega zapewnił lepsze zasilanie dla tego esp32 , przy przełączaniu cewka przekaźnika pobiera sporo a ten stabilizatorek na zasilaczu płytek stykowych ma niewielką wydajność