Ugrás a tartalomhoz

Kapunyitó és garázsajtó okosítása – Sonoff SV

Modern antracit tolókapu egy családi ház bejáratánál, okosított kapuvezérlés témájához
A meglévő tolókapu okosítása sok esetben a gyári vezérlés megtartásával is megvalósítható. Illusztráció.

Egy hagyományos, távirányítós kapunyitó okosításához nem feltétlenül szükséges a motor vagy a vezérlőelektronika cseréje. A meglévő rendszer megfelelő illesztéssel Home Assistantba integrálható, így a távoli vezérlés mellett a kapu állapota is követhetővé válik.

A saját rendszeremben ezt a feladatot egy Sonoff SV és ESPHome páros végzi, immár több éve stabilan. Az eredetileg tolókapuhoz kialakított megoldást garázsajtóknál is alkalmazom, némileg eltérő érzékelőkkel.

A meglévő kapuvezérlés megtartása

A tolókapu hagyományos, távirányítós motorvezérléssel működik. A vezérlőelektronikán rendelkezésre áll egy külső nyomógomb-bemenet, amelyet a Sonoff SV reléje működtet.

A megoldás lényege egyszerű: az ESPHome egy másodperces reléimpulzust állít elő, pontosan úgy, mintha valaki röviden megnyomná a kapunyitó nyomógombját.

Fontos, hogy a Sonoff SV ebben a kialakításban izolált, potenciálfüggetlen relékontaktussal működik. A használt hardverváltozatnál ehhez el kellett végezni a relé tápellátástól történő leválasztását biztosító módosítást. A Sonoff SV gyári alapállapotában a relékimenet nem feltétlenül potenciálmentes, ezért ez a kialakítás egyik lényeges műszaki feltétele.

A Sonoff SV alacsony feszültségű tápellátását nálam a kapunyitó vezérlőpaneljének megfelelő kimenete biztosítja. Ha ilyen nem áll rendelkezésre, megfelelően méretezett, külön DC-tápegység is használható.

A gyári kapuvezérlés teljes egészében megmarad: a motor működtetéséért, a végállásokért és az akadályérzékelésért továbbra is az eredeti elektronika felel.

Négy visszajelzés – több mint egyszerű relévezérlés

Egy hagyományos Wi-Fi-relé önmagában nem tudja, hogy a kapu valóban nyitva vagy zárva van-e. Legfeljebb a legutóbb kiadott parancsról rendelkezik információval.

Ezért a rendszerben négy különálló digitális bemenet működik.

JelzésMegvalósításESP8266 GPIO
Kapu teljesen zárvaGyári zárt végálláskapcsolóGPIO4
Kapu teljesen nyitvaGyári nyitott végálláskapcsolóGPIO5
Nyitási irány aktívÁramérzékelőGPIO3
Zárási irány aktívÁramérzékelőGPIO14

A gyári végálláskapcsolók közvetlenül a kapu két véghelyzetéről szolgáltatnak visszajelzést. A két további bemenet pedig a motor működési irányának felismerésére szolgál.

Sonoff SV relémodul és Fearlie M3050 áramérzékelők egy munkaasztalon
A kapunyitó és garázsajtó okosításánál használt Sonoff SV relémodul és két M3050 áramérzékelő egy munkaasztalon. Illusztráció.

Motorirány felismerése áramérzékelőkkel

A tolókapu motorjának nyitási és zárási irányához külön kapcsolt fázisvezeték tartozik. Ezeket egy-egy Fearile M3050 áramérzékelő figyeli.

Mindkét irány fázisvezetéke át van vezetve a hozzá tartozó érzékelőn. Amikor az adott vezetéken a motor áramfelvétele megjelenik, az érzékelő kapcsolókimenete zár, és a megfelelő ESP8266 GPIO-bemenetet aktív állapotba húzza.

Ez alapján az ESPHome megkülönbözteti:

  • A motor nyitási irányú működését.
  • A motor zárási irányú működését.
  • Azt az állapotot, amikor egyik irányhoz sem érkezik áramérzékelési jel.

Az érzékelők kimenete a Sonoff SV alacsony feszültségű bemeneti áramköréhez illeszkedik. A hálózati feszültségű motorvezetékek és az ESP8266 logikai bemenetei között megfelelő elektromos leválasztás szükséges.

A módszer előnye, hogy nincs szükség a motor mechanikai módosítására vagy külön mozgó alkatrész beépítésére. Az irányinformáció a motor elektromos működéséből származik.

Ugyanakkor az áramfelvétel nem egyenlő a tényleges fizikai mozgás bizonyításával. Egy megszorult vagy rendellenesen működő motor is vehet fel áramot, ezért ez a jelzés nem használható önálló akadályérzékelésként vagy biztonsági védelemként.

ESPHome Feedback Cover – a négy jelből egy kapu-entitás

A vezérlés szoftveres alapja az ESPHome feedback cover komponense.

Ez a komponens képes egyetlen kapu-entitásban egyesíteni a nyitási és zárási parancsokat, a végállásokat, valamint az irányonkénti mozgás-visszajelzéseket.

A konfigurációban a GPIO-bemenetek INPUT_PULLUP üzemmódban, invertált logikával működnek, mivel az érzékelők aktív állapotban a bemenetet alacsony szintre húzzák. A bemenetek 20 ms-os szűrést is kapnak.

A teljes nyitási és zárási idő a példánkban 24 másodperc. (ennyi idő kell a nyitáshoz, ez méréssel kézzel beállítandó érték) Ez alapján az ESPHome a két végállás közötti becsült pozíciót is meg tudja határozni. A végállások viszont közvetlen szenzorjelzésen alapulnak.

A has_built_in_endstop: true beállítás azt jelzi, hogy a kapunyitó saját végálláskezeléssel rendelkezik.

A mozgás-visszajelzések különösen hasznosak akkor, amikor a kaput a gyári távirányítóval vagy más külső kezelőszervvel indítjuk. Az ESPHome ilyenkor is képes felismerni a motor aktiválódását és a mozgás irányát, így a Home Assistant állapota nem kizárólag a saját parancsaiból következtethető ki.

Gyalogos és teljes nyitás időzített impulzusokkal

A konfigurációban két kiegészítő, időzített funkció is található.

Gyalogos nyitás (Gate Walk): egy reléimpulzus elindítja a kaput, majd 10 másodperccel később egy második impulzus megállítja. Így a kapu részlegesen kinyitható.

Teljes nyitás (Gate Full): ugyanennek a megoldásnak a 24 másodperces változata.

Ezek a funkciók a hagyományos kapuvezérlő impulzusonként változó működési állapotát használják ki, nem önálló motorvezérlést valósítanak meg.

Ennek természetesen van korlátja. Ha a kapu már részben nyitva van, vagy a vezérlő az előző impulzus miatt más állapotban működik, a következő időzített impulzus hatása eltérhet a várttól. A kapu pozíciója ezért ezzel a módszerrel nem garantálható.

Ez egy bevált, saját rendszerre kialakított kényelmi funkció, de nem univerzális megoldás minden kapuvezérlőhöz.

Ugyanez a megoldás garázsajtóknál

A tolókapunál alkalmazott működési elvet a garázsajtóknál is felhasználtam.

A relé itt is a gyári vezérlés nyomógombfunkcióját működteti, az ESPHome pedig a rendelkezésre álló állapotjeleket dolgozza fel.

A lényeges különbség a végállások érzékelése: a garázsajtóknál ezeket utólag felszerelt mágneses reed kapcsolók biztosítják.

Így akkor is kaphatunk megbízható véghelyzet-visszajelzést, ha a meglévő garázsajtó-vezérlés nem rendelkezik külön, egyszerűen felhasználható állapotkimenetekkel.

A megoldás jól példázza, hogy ugyanaz az ESPHome-alapú vezérlési logika különböző kaputechnikákhoz is illeszthető, amennyiben az elektromos és működési feltételek adottak.

Modern antracit szekcionált garázsajtó egy családi háznál, garázsajtó okosítás témájához
Ugyanaz a vezérlési logika garázsajtóknál is használható, eltérő érzékelőkkel és visszajelzésekkel. Illusztráció.

Home Assistant-integráció

A Sonoff SV az ESPHome natív API-ján keresztül csatlakozik a Home Assistanthoz.

A kapu nem egyszerű kapcsolóként, hanem cover entitásként jelenik meg, amely képes a nyitási, zárási és megállítási parancsok kezelésére, valamint az aktuális állapot megjelenítésére.

Ennek köszönhetően a kapu állapotát felhasználhatjuk egyedi kezelőfelületeken, értesítéseknél vagy további automatizációk részeként is.

A hagyományos távirányító természetesen továbbra is működik. Az okosotthon-integráció nem váltja ki a meglévő rendszert, hanem egy újabb vezérlési és visszajelzési lehetőséggel egészíti ki.

ESPHome Kód
substitutions:
  name: "sonoff-sv--gate"
  friendly_name: "Sonoff SV - Gate"


esphome:
  name: ${name}
  friendly_name: ${friendly_name}

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "XXX"

ota:
  - platform: esphome
    password: "XXX"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "sonoff-sv-gate-fallback"
    password: "fallbackpassword"

captive_portal:

#web_server:
#  port: 80

##############################################################################

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "IP Address"
      disabled_by_default: true

sensor:
  - platform: uptime
    name: "Uptime"
    disabled_by_default: true

  - platform: wifi_signal
    name: "WiFi Signal"
    update_interval: 60s

binary_sensor:

  - platform: status
    name: "Status"

  - platform: gpio
    name: "GPIO 4 - Closed"
    id: sensor4
    pin:
      number: GPIO4
      inverted: true
      mode: INPUT_PULLUP
    filters:
      - delayed_on: 20ms
      - delayed_off: 20ms

  - platform: gpio
    name: "GPIO 5 - Open"
    id: sensor5
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: true
    filters:
      - delayed_on: 20ms
      - delayed_off: 20ms

  - platform: gpio
    name: "GPIO 14 - Closing"
    id: sensor14
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: true
    filters:
      - delayed_on: 20ms
      - delayed_off: 20ms

  - platform: gpio
    name: "GPIO 3 - Opening"
    id: sensor3
    pin:
      number: GPIO3
      mode: INPUT_PULLUP
      inverted: true
    filters:
      - delayed_on: 20ms
      - delayed_off: 20ms


# HW button on board

  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: "HW Button"
    on_multi_click:
      - timing:
          - ON for at most 1s
          - OFF for at least 0.2s
        then:
          - switch.turn_on: relay
      - timing:
          - ON for at least 8s
        then:
          - button.press: Reset

button:
  - platform: factory_reset
    name: Restart with Factory Default Settings
    id: Reset

  - platform: restart
    name: Device Restart


switch:
  - platform: gpio
    pin: GPIO12
    name: "Gate Manual"
    id: relay
    on_turn_on:
      - light.turn_on: wifi_led
      - delay: 1s
      - switch.turn_off: relay
      - light.turn_off: wifi_led

  - platform: template
    name: "Gate Walk"
    id: relay_walk
    turn_on_action:
      - switch.turn_on: relay
      - delay: 1s
      - switch.turn_off: relay
      - delay: 10s
      - switch.turn_on: relay
      - delay: 1s
      - switch.turn_off: relay

  - platform: template
    name: "Gate Full"
    id: relay_full
    turn_on_action:
      - switch.turn_on: relay
      - delay: 1s
      - switch.turn_off: relay
      - delay: 24s
      - switch.turn_on: relay
      - delay: 1s
      - switch.turn_off: relay

light:
  - platform: status_led
    name: "Status LED"
    id: wifi_led
    pin: 
     number: GPIO13
     inverted: true

cover:
  - platform: feedback
    name: "Gate"
    device_class: garage
    has_built_in_endstop: true
    
    open_action:
      - switch.turn_on: relay
    open_duration: 24sec
    open_endstop: sensor5
    open_sensor: sensor3

    close_action:
      - switch.turn_on: relay
    close_duration: 24sec
    close_endstop: sensor4
    close_sensor: sensor14

    stop_action:
      - switch.turn_on: relay


    

Többéves tapasztalatok

A kapu- és garázsajtóvezérlések körülbelül 3–4 éve működnek stabilan, jelentkező működési problémák nélkül.

A saját tapasztalatom alapján a megoldás legnagyobb előnye nem pusztán az, hogy a kapu telefonról is vezérelhető. Sokkal fontosabb, hogy a gyári végálláskapcsolók és a motor áramfelvételének érzékelése révén az állapota is követhető.

Egy megfelelően kialakított okosításnak nem kell lecserélnie a már bevált kaputechnikát. Elég, ha biztonságosan illeszkedik hozzá, és a meglévő funkciókat hasznos információkkal egészíti ki.

Biztonsági figyelmeztetés és felelősség

⚠️ FIGYELEM – VILLAMOS BIZTONSÁG

A hálózati feszültséggel működő eszközök helytelen bekötése, szétszerelése vagy módosítása áramütést, tüzet és anyagi kárt okozhat. A készülék megbontása és soros programozása kizárólag a hálózatról leválasztott, ellenőrzötten feszültségmentes állapotban történhet.

A villamos szerelési munkákat megfelelő szakképzettséggel rendelkező szakember végezze, a gyártói előírások és a hatályos biztonsági követelmények betartásával. Az egyedi firmware telepítése a gyártói garanciát is érintheti.

A cikk tájékoztató jellegű, saját tapasztalatokon alapuló műszaki ismertető, amely nem helyettesíti a gyártói dokumentációt, a szakszerű tervezést vagy kivitelezést. A bemutatott megoldások alkalmazása saját felelősségre történik. A szerző és a weboldal üzemeltetője a tartalom felhasználásából eredő károkért a jogszabályok által megengedett körben nem vállal felelősséget.


Okosítanád a meglévő kapunyitódat?

Egy hagyományos kapu- vagy garázsajtó-vezérlés sok esetben a meglévő motor megtartásával is integrálható az okosotthonba. Vedd fel velünk a kapcsolatot, és nézzük meg a lehetőségeket!

    Cookie-k használata

    Ez a weboldal cookie-kat használ a felhasználói élmény javítása érdekében. Az "Elfogadom" gombra kattintva hozzájárulsz ezek használatához.