Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Modyfikacja mocy Sonoff RF R2
- Krok 2: ESPHome - Tworzenie oprogramowania
- Krok 3: ESPEasy - Flashowanie Sonoff Basic
- Krok 4: Okablowanie wszystkiego
- Krok 5: Przymocuj do bramy garażowej
- Krok 6: Automatyzacja Home Assistant - powiadomienie, jeśli garaż jest otwarty przez 2 godziny
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Kredyt
Prawie skopiowałem implementację Savjee, ale zamiast używać Shelly, użyłem Sonoff Basic. Sprawdź jego stronę internetową i kanał YouTube!
www.savjee.be/2020/06/make-garage-door-ope…
www.youtube.com/c/Savjee/
Założenia
- Masz uruchomioną instancję Home Assistant i wiesz, jak z niej korzystać
- Masz uruchomioną instancję ESPHome i wiesz, jak z niej korzystać
Kieszonkowe dzieci
Sonoff Basic -
Czujnik kontaktowy -
USB do portu szeregowego -
Opalarka -
Lutownica -
Rurki termokurczliwe -
Drut -
Tuleja druciana -
Kable Dupont -
Oprogramowanie:
Asystent domowy -
ESPhome -
ESP Easy -
Krok 1: Modyfikacja mocy Sonoff RF R2
ZASTRZEŻENIE
Nie jestem inżynierem elektrykiem i nie udaję, że gram w niego w Internecie. Jeśli zdecydujesz się zmodyfikować Sonoff Basic, robisz to na własne ryzyko. W ten sposób zmodyfikowałem mój Sonoff Basic, ale nie zalecam robienia tego samego. Nie sugeruję też, że robię to poprawnie lub bezpiecznie.
Rozpoczęcie pracy
Csongor Varga w swoim filmie mówi o tym, że modyfikowanie tej wersji Sonoffa, tak jak w poprzedniej wersji, przez wycinanie śladów, nie jest bezpieczne. Zobacz więcej tutaj. Połączenie lutowane przekaźnika i połączenie lutowane bezpiecznika zasilającego obwody są zbyt blisko, aby wykonać metodę cięcia. Obszedłem to, usuwając większość śladów i przekładając bezpiecznik.
- Zlokalizuj bezpiecznik, który dostarcza zasilanie do obwodów
- Miejsce, w którym przewód neutralny jest przylutowany do wlotu
- Wylutuj bezpiecznik, wyjmij i odłóż na bok
- Wylutuj przewód neutralny z wlotu i wyjmij
- Wytnij ślad, jak widać na zdjęciu w kroku piątym
- Wytnij wycięcie, jak widać na zdjęciu w kroku 6
- Przylutuj bezpiecznik w przeciwnym kierunku, w jaki go wyjąłeś i przylutuj długi koniec do wlotu linii
- Zdejmij przewód neutralny i przylutuj go do płytki, jak widać na zdjęciu w kroku 8
Krok 2: ESPHome - Tworzenie oprogramowania
Przełącznik do konfiguracji przekaźnika. Będzie to wewnętrzne, aby nie było bezpośrednio widoczne dla Asystenta w domu.
przełącznik:
- platforma: gpio pin: 12 id: relay_1 name: "sonoff_basic_4_switch" wewnętrzny: true Potrzebny nam będzie czujnik binarny do czujnika kontaktowego, który powie nam czy brama garażowa jest zamknięta czy otwarta
czujnik_binarny:
- platforma: gpio pin: numer: 3 tryb: INPUT_PULLUP nazwa: "Czujnik kontaktowy drzwi garażowych" id: contact_sensor wewnętrzny: true filtry: delayed_on_off: 500ms Możemy skonfigurować przycisk na Sonoff, aby przełączać przekaźnik
- platforma: gpio
id: button_0 pin: number: 0 inverted: True mode: INPUT_PULLUP on_click: wtedy: - switch.turn_on: relay_1 - delay: 500ms - switch.turn_off: relay_1 Na koniec okładka z atrybutem garaż
okładka:
- platforma: template device_class: nazwa garażu: "Garage Door" id: template_cov lambda: |- if (id(contact_sensor).state) { return COVER_OPEN; } else { return COVER_CLOSED; } open_action: - switch.turn_on: relay_1 - delay: 0.5s - switch.turn_off: relay_1 close_action: - switch.turn_on: relay_1 - delay: 0.5s - switch.turn_off: relay_1 Oto pełny YAML
Wi-Fi:
ssid: password: manual_ip: static_ip: gateway: subnet: dns1: dns2: # Włącz awaryjny hotspot (portal przechwytujący) na wypadek awarii połączenia Wi-Fi ap: ssid: password: captive_portal: # Włącz logowanie: # Włącz API Home Assistant: ota: substitutions: # Modyfikuj zmienne na podstawie ustawień hostname: 'sonoff_basic_4' esphome: name: $hostname platforma: ESP8266 board: esp01_1m board_flash_mode: dout status_led: pin: number: 13 inverted: True binary_sensor: - platforma: gpio pin: number: 3 tryb: INPUT_PULLUP nazwa: "Garage Door Contact Sensor" id: contact_sensor wewnętrzny: true filtry: delayed_on_off: 500ms - platforma: gpio id: button_0 pin: number: 0 inverted: True mode: INPUT_PULLUP on_click: następnie: - switch.turn_on: relay_1 - opóźnienie: 500ms - switch.turn_off: relay_1 switch: - platforma: gpio pin: 12 id: relay_1 name: "sonoff_basic_4_switch" internal: true cover: - platform: template device_class: nazwa garażu: "Garage Door" id: template_cov lambda: |- if (id(contact_sensor).state) { retu rn POKRYWA_OPEN; } else { return COVER_CLOSED; } open_action: - switch.turn_on: relay_1 - delay: 0.5s - switch.turn_off: relay_1 close_action: - switch.turn_on: relay_1 - delay: 0.5s - switch.turn_off: relay_1 sensor: - platforma: wifi_signal name: "sonoff_basic_4_wifi_signal" update_interval: 60s - platforma: nazwa uptime: "sonoff_basic_4_up_time" text_sensor: - platforma: nazwa wersji: "sonoff_basic_4_version"
Krok 3: ESPEasy - Flashowanie Sonoff Basic
Potrzebny będzie do tego adapter USB do portu szeregowego.
- RX na adapterze szeregowym idzie do TX na Sonoff
- TX na adapterze szeregowym idzie do RX na Sonoff
- W ESPHome skompiluj kod
- Pobierz plik binarny
- Skopiuj plik.bin do katalogu ESPEasy
- Podłącz przewody szeregowe do Sonoff
- Przytrzymaj przycisk na Sonoff i podłącz przejściówkę Serial na USB do komputera
- W katalogu ESPEasy Otwórz FlashESP8266.exe
- Wybierz swój port COM
- Wybierz plik.bin
- Kliknij Flash
Krok 4: Okablowanie wszystkiego
Użyłem do tego kabli dupontowych i kabla zasilającego komputer, ale możesz użyć tego, co lubisz.
- Przylutuj przewód do zacisku RX na Sonoff
- Przylutuj przewód do zacisku GND na Sonoff
- Podłącz przewody do wychodzących zacisków neutralnych i liniowych
- Załóż obudowę Sonoff
- Odetnij stronę wlotową przedłużacza, zdejmij przewody i podłącz go do linii Sonoffa i neutralnego wlotu
- Przykręć zaślepki Sonoffa, upewniając się, że przewód wlotowy jest bezpieczny
- Sprawdź, czy czujnik kontaktowy i przekaźnik działają poprawnie
Krok 5: Przymocuj do bramy garażowej
-
Podłącz czujnik kontaktowy (ja przymocowałem mój do koła pasowego)
Nie miałem żadnego drutu elektronicznego, więc użyłem przewodu głośnikowego i owijki do kabla, aby przymocować czujnik kontaktowy.
- Przymocuj Sonoff do czegoś (użyłem wspornika podtrzymującego otwieracz do drzwi garażowych)
- Podłącz kable
Krok 6: Automatyzacja Home Assistant - powiadomienie, jeśli garaż jest otwarty przez 2 godziny
Wyzwalacz: Jeśli brama garażowa jest otwarta przez 2 godziny
Akcja: Wysyłaj powiadomienia na mój telefon, telefon mojej dziewczyny i na mój domowy kanał Discord
automatyzacja.yaml
- id: powiadomienie_jeśli_garaż_jest_otwarty_przez_2_godzin
alias: "powiadomienie, jeśli garaż jest otwarty przez 2 godziny" trigger: platform: state entity_id: cover.garage_door to: otwarte przez: hours: 2 action: - service: notify.mobile_app_courtney_s_iphone data: title: "[?][?]Garaż pozostawione otwarte!" komunikat: „Brama garażu jest otwarta od 2 godzin. Zamknąć?” data: push: category: ios_close_garage - usługa: notify.mobile_app_pixel_3a data: title: "[?][?]Garaż otwarty!" komunikat: „Brama garażu jest otwarta od 2 godzin. Zamknąć?” data: actions: - action: android_close_garage title: Zamknij garaż - service: notify.discord data: message: "[?][?]Brama garażu jest otwarta od 2 godzin. Zamknąć?" cel: ["TWÓJ ID KANAŁU DISCORD"]
Aby otrzymać powiadomienie na IOS, który ma przycisk zamykania bramy garażowej, musisz dodać następujące elementy do pliku configuration.yaml.
konfiguracja.yaml
ios:
push: kategorie: - nazwa: Zamknij garaż identyfikator: 'ios_close_garage' akcje: - identyfikator: 'IOS_CLOSE_GARAGE' tytuł: 'Zamknij garaż' aktywacjaMode: uwierzytelnianie w tle Wymagane: prawda # Wymagaj FaceID / TouchID destrukcyjny: fałszywe zachowanie: 'domyślne'
Teraz możesz dodać automatyzację, która jest wywoływana po naciśnięciu przycisku zamykania bramy garażowej w powiadomieniu push IOS.
automatyzacja.yaml
- id: „ios_mobile_app_notification_close_garage_door”
alias: powiadomienie w aplikacji mobilnej ios wyzwalacz zamknięcia bramy garażowej: platforma: zdarzenie typ_zdarzenia: ios.notification_action_fired dane_zdarzenia: nazwa_akcji: IOS_CLOSE_GARAGE akcja: - opóźnienie: 00:00:15 - service: cover.close_cover dane: entity_id: cover.garage_door
Automatyzacja, która jest wywoływana po naciśnięciu przycisku zamykania bramy garażowej w powiadomieniu push na Androida.
automatyzacja.yaml
- identyfikator: „android_mobile_app_notification_close_garage_door”
alias: powiadomienie aplikacji mobilnej na Androida wyzwalacz zamknięcia bramy garażowej: - event_data: action: android_close_garage event_type: mobile_app_notification_action platforma: event action: - delay: 00:00:15 - service: cover.close_cover data: entity_id: cover.garage_door