Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Kredit
Do značnej miery som skopíroval implementáciu Savjee, ale namiesto použitia Shelly som použil Sonoff Basic. Pozrite sa na jeho webové stránky a kanál YouTube!
www.savjee.be/2020/06/make-garage-door-ope…
www.youtube.com/c/Savjee/
Predpoklady
- Máte spustenú inštanciu Home Assistant a viete, ako ju používať
- Máte spustenú inštanciu ESPHome a viete, ako ju používať
Zásoby
Sonoff Basic-https://www.amazon.com/Sonoff-Remote-Control-Comp…
Kontaktný senzor -
Sériové USB -
Tepelná pištoľ -
Spájkovačka -
Tepelne zmršťovacie bužírky -
Drôt -
Drôtený rukáv -
Káble Dupont -
Softvér:
Domáci asistent -
ESPhome -
ESP Easy -
Krok 1: Úprava výkonu Sonoff RF R2
VYLÚČENIE ZODPOVEDNOSTI
Nie som elektrotechnik a nepredstieram, že ho hrám na internete. Ak sa rozhodnete upraviť Sonoff Basic, robíte to na vlastné riziko. Takto som upravil svoj Sonoff Basic, ale neodporúčam vám, aby ste urobili to isté. Tiež tým nechcem naznačiť, že to robím správne alebo bezpečne.
Začíname
Csongor Varga vo svojom videu uvádza, že nie je bezpečné upravovať túto verziu Sonoffa ako predchádzajúcu verziu prerušením stopy. Viac nájdete tu. Spájkovacie pripojenie pre relé a spájkovacie spojenie pre poistku, ktorá dodáva energiu obvodom, sú príliš blízko na to, aby bolo možné vykonať metódu rezania. Obehol som to tak, že som odstránil väčšinu stopy a premiestnil poistku.
- Nájdite poistku, ktorá napája obvody
- Miesto, kde je neutrálny vodič spájkovaný na vstupe
- Odpojte poistku, vyberte ju a odložte nabok
- Odpojte neutrálny vodič zo vstupu a vyberte ho
- Vystrihnite stopu, ako je vidieť na fotografii v piatom kroku
- Vyrežte zárez, ako je vidieť na fotografii v kroku 6
- Zapájajte poistku opačným spôsobom, ako ste ju vybrali, a spájajte dlhý koniec so vstupom do vedenia
- Odizolujte neutrálny vodič a spájkujte ho s doskou, ako je vidieť na fotografii v kroku 8
Krok 2: ESPHome - Vytvorenie softvéru
Prepínač na konfiguráciu relé. Toto bude interné, aby nebolo priamo prístupné aplikácii Home Assistant.
prepínač:
- platforma: gpio pin: 12 id: relay_1 názov: "sonoff_basic_4_switch" interný: true Na kontaktný senzor budeme potrebovať binárny senzor, ktorý nám povie, či sú garážové brány zatvorené alebo otvorené
binárny_senzor:
- platforma: gpio pin: číslo: 3 režim: INPUT_PULLUP názov: "Senzor kontaktu garážových brán" id: contact_sensor internal: true filters: delay_on_off: 500ms Môžeme nakonfigurovať tlačidlo na Sonoffovi na prepínanie relé
- platforma: gpio
id: button_0 pin: číslo: 0 invertované: True mode: INPUT_PULLUP on_click: then: - switch.turn_on: relay_1 - delay: 500ms - switch.turn_off: relay_1 Nakoniec kryt s prívlastkom garáž
obálka:
- platforma: šablóna zariadenie_trieda: názov garáže: ID „garážovej brány“: template_cov lambda: |- if (id (contact_sensor).state) {return COVER_OPEN; } else {return COVER_CLOSED; } open_action: - switch.turn_on: relé_1 - oneskorenie: 0,5 s - switch.turn_off: relay_1 close_action: - switch.turn_on: relé_1 - oneskorenie: 0,5s - switch.turn_off: relé_1 Tu je celý YAML
wifi:
ssid: password: manual_ip: static_ip: gateway: subnet: dns1: dns2: # Enable fallback hotspot (captive portal) for if wifi connection failed ap: ssid: password: captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: substitutions: # Upravte premenné na základe vašich nastavení názov hostiteľa: 'sonoff_basic_4' esphome: name: $ hostname platforma: ESP8266 doska: esp01_1m board_flash_mode: dout status_led: pin: číslo: 13 prevrátené: True binary_sensor: - platforma: gpio pin: číslo: 3 režim: INPUT_PULLUP názov: „Senzor kontaktu garážových brán“id: contact_sensor internal: true filters: delay_on_off: 500ms - platform: gpio id: button_0 pin: number: 0 inverted: True mode: INPUT_PULLUP on_click: then: - switch.turn_on: relé_1 - oneskorenie: 500 ms - switch.turn_off: relé_1 prepínač: - platforma: gpio pin: 12 id: relé_1 názov: "sonoff_basic_4_switch" interný: pravý kryt: - platforma: šablóna device_class: názov garáže: "Garážová brána" id: template_cov lambda: |- if (id (contact_sensor).state) {retu rn COVER_OPEN; } else {return COVER_CLOSED; } open_action: - switch.turn_on: relay_1 - oneskorenie: 0,5 s - switch.turn_off: relay_1 close_action: - switch.turn_on: relay_1 - delay: 0,5s - switch.turn_off: relay_1 sensor: - platform: wifi_signal name: "sonoff_basic_4_wifi_signal" interval aktualizácie: 60 s - platforma: názov uptime: "sonoff_basic_4_up_time" textový snímač: - platforma: názov verzie: "sonoff_basic_4_version"
Krok 3: ESPEasy - Flash Sonoff Basic
Na to budete potrebovať adaptér USB na sériový port.
- RX na sériovom adaptéri ide na TX na Sonofe
- TX na sériovom adaptéri ide na RX na Sonoff
- V ESPHome skompilujte kód
- Stiahnite si binárku
- Skopírujte súbor.bin do svojho adresára ESPEasy
- Pripojte svoje sériové káble k Sonoff
- Podržte tlačidlo na zariadení Sonoff a zapojte adaptér Serial to USB do počítača
- V adresári ESPEasy otvorte FlashESP8266.exe
- Vyberte port COM
- Vyberte súbor.bin
- Kliknite na položku Flash
Krok 4: Zapojenie všetkého
Použil som na to dupontové káble a napájací kábel počítača, ale môžete použiť to, čo sa vám páči.
- Spájkujte vodič k terminálu RX na Sonofe
- Spájkujte vodič na svorku GND na Sonoffe
- Pripojte vodiče k odchádzajúcim neutrálnym a linkovým svorkám
- Nasaďte si puzdro Sonoff
- Odrežte vstupnú stranu predlžovacieho kábla, odizolujte drôty a pripevnite k nemu Sonoffovu linku a neutrálny vstup
- Naskrutkujte uzávery Sonoffa a uistite sa, že je prívodný vodič zaistený
- Otestujte, či váš kontaktný snímač a relé pracujú správne
Krok 5: Pripevnite k garážovým bránam
-
Pripojte kontaktný senzor (ja som pripevnil môj na kladku)
Nemal som žiadny drôtový elektronický drôt, a tak som na pripojenie kontaktného senzora použil drôt reproduktora a obal kábla.
- Pripojte Sonoff k niečomu (použil som konzolu, ktorá držala otvárač garážových brán)
- Pripojte káble
Krok 6: Automatizácia domáceho asistenta - upozornenie, ak je garáž otvorená 2 hodiny
Spúšť: Ak sú garážové brány otvorené 2 hodiny
Akcia: Odoslať upozornenie na môj telefón, telefón mojich priateľiek a na môj kanál sváru doma
automatizácie.yaml
- id: notification_if_garage_is_open_for_2_hours
alias: "upozornenie, ak je garáž otvorená na 2 hodiny", spúšťač: platforma: stav entity_id: cover.garage_door na: otvorené: hodiny: 2 akcie: - služba: Notify.mobile_app_courtney_s_iphone data: title: "[?] [?] Garáž ponechané otvorené! " správa: „Garážová brána je otvorená 2 hodiny. Zatvoriť?“data: push: category: ios_close_garage - služba: Notify.mobile_app_pixel_3a data: title: "[?] [?] Garáž ponechaná otvorená!" správa: „Garážová brána je otvorená 2 hodiny. Zatvoriť?“údaje: akcie: - akcia: android_close_garage názov: Zatvoriť garáž - služba: Notify.discord údaje: správa: "[?] [?] Garážová brána je otvorená 2 hodiny. Chcete ju zavrieť?" cieľ: ["VAŠE ID DISKORDOVÉHO KANÁLU"]
Ak chcete dostať upozornenie na iOS, ktoré má tlačidlo na zatvorenie garážových brán, musíte do súboru configuration.yaml pridať nasledujúce.
konfigurácia.yaml
ios:
push: category: - name: Close Garage identifier: 'ios_close_garage' actions: - identifier: 'IOS_CLOSE_GARAGE' title: 'Close Garage' activationMode: 'background' authenticationRequired: true # Require FaceID / TouchID destructive: false behavior: 'default'
Teraz môžete pridať automatizáciu, ktorá sa volá po stlačení tlačidla zatvorenia garážovej brány v upozornení push systému IOS.
automatizácie.yaml
- id: 'ios_mobile_app_notification_close_garage_door'
alias: upozornenie mobilnej aplikácie ios zatvoriť spúšť brány: platforma: udalosť event_type: ios.notification_action_fired event_data: actionName: IOS_CLOSE_GARAGE akcia: - oneskorenie: 00:00:15 - služba: cover.close_cover data: entity_id: cover.garage_door
Automatizácia, ktorá sa vyvolá po stlačení tlačidla zatvorenia garážových brán v upozornení push systému Android.
automatizácie.yaml
- id: 'android_mobile_app_notification_close_garage_door'
alias: upozornenie mobilnej aplikácie pre Android zatvoriť spúšť brány: - event_data: action: android_close_garage event_type: mobile_app_notification_action platform: action event: - delay: 00:00:15 - service: cover.close_cover data: entity_id: cover.garage_door