ที่เปิดประตูโรงรถอัจฉริยะราคาถูก: 6 ขั้นตอน (พร้อมรูปภาพ)
ที่เปิดประตูโรงรถอัจฉริยะราคาถูก: 6 ขั้นตอน (พร้อมรูปภาพ)
Anonim
Image
Image

เครดิต

ฉันค่อนข้างคัดลอกการใช้งานของ Savjee แต่แทนที่จะใช้ Shelly ฉันใช้ Sonoff Basic ตรวจสอบเว็บไซต์และช่อง YouTube ของเขา!

www.savjee.be/2020/06/make-garage-door-ope…

www.youtube.com/c/Savjee/

สมมติฐาน

  • คุณมีอินสแตนซ์ของ Home Assistant ที่ทำงานอยู่และคุณรู้วิธีใช้งาน
  • คุณมีอินสแตนซ์ ESPHome ที่ทำงานอยู่และคุณรู้วิธีใช้งาน

เสบียง

Sonoff Basic -

Contact Sensor -

USB เป็นซีเรียล -

ปืนความร้อน -

หัวแร้ง -

ท่อหดความร้อน -

ลวด -

ปลอกลวด -

สายดูปองท์ -

ซอฟต์แวร์:

ผู้ช่วยในบ้าน -

ESPhome -

ESP ง่าย -

ขั้นตอนที่ 1: การปรับเปลี่ยน Sonoff RF R2 Power

การปรับเปลี่ยน Sonoff RF R2 Power
การปรับเปลี่ยน Sonoff RF R2 Power
การปรับเปลี่ยน Sonoff RF R2 Power
การปรับเปลี่ยน Sonoff RF R2 Power
การปรับเปลี่ยน Sonoff RF R2 Power
การปรับเปลี่ยน Sonoff RF R2 Power

ข้อจำกัดความรับผิดชอบ

ฉันไม่ใช่วิศวกรไฟฟ้าและไม่ได้แสร้งทำเป็นเล่นบนอินเทอร์เน็ต หากคุณตัดสินใจที่จะแก้ไข Sonoff Basic คุณจะต้องยอมรับความเสี่ยงเอง นี่คือวิธีที่ฉันได้แก้ไข Sonoff Basic ของฉัน แต่ไม่แนะนำให้คุณทำเช่นเดียวกัน ฉันไม่ได้หมายความว่าฉันกำลังทำอย่างถูกต้องหรือปลอดภัย

เริ่มต้น

Csongor Varga ชี้ให้เห็นถึงข้อดีในวิดีโอของเขาว่าไม่ปลอดภัยที่จะดัดแปลง Sonoff เวอร์ชันนี้เหมือนกับเวอร์ชันก่อนหน้าโดยตัดการติดตาม ดูเพิ่มเติมที่นี่ การเชื่อมต่อแบบบัดกรีสำหรับรีเลย์และการเชื่อมต่อแบบบัดกรีสำหรับฟิวส์ที่จ่ายพลังงานให้กับวงจรนั้นอยู่ใกล้เกินไปสำหรับวิธีการติดตามการตัด ฉันแก้ไขปัญหานี้โดยลบร่องรอยส่วนใหญ่และย้ายฟิวส์

  1. ค้นหาฟิวส์ที่จ่ายไฟให้กับวงจร
  2. ตำแหน่งที่ลวดเป็นกลางบัดกรีเข้ากับทางเข้า
  3. ถอดฟิวส์ ถอด และพักไว้
  4. ถอดลวดที่เป็นกลางออกจากทางเข้าและถอดออก
  5. ตัดรอยตามที่เห็นในภาพในขั้นตอนที่ห้า
  6. ตัดรอยบากตามที่เห็นในรูปภาพในขั้นตอนที่ 6
  7. บัดกรีฟิวส์ในทางตรงข้ามที่คุณเอามันออกมาและประสานปลายด้านยาวเข้ากับช่องทางเข้า
  8. ลอกลวดที่เป็นกลางแล้วประสานเข้ากับบอร์ดตามที่เห็นในภาพในขั้นตอนที่8

ขั้นตอนที่ 2: ESPHome - การสร้างซอฟต์แวร์

สวิตช์เพื่อกำหนดค่ารีเลย์ สิ่งนี้จะอยู่ภายในเพื่อไม่ให้สัมผัสกับ Home Assistant โดยตรง

สวิตซ์:

- แพลตฟอร์ม: gpio พิน: 12 id: relay_1 ชื่อ: "sonoff_basic_4_switch" ภายใน: จริง เราจะต้องมีเซ็นเซอร์ไบนารีสำหรับเซ็นเซอร์สัมผัสที่จะบอกเราว่าประตูโรงรถปิดหรือเปิดอยู่

binary_sensor:

- แพลตฟอร์ม: gpio pin: หมายเลข: 3 โหมด: INPUT_PULLUP ชื่อ: "Garage Door Contact Sensor" id: contact_sensor ภายใน: ตัวกรองจริง: delayed_on_off: 500ms เราสามารถกำหนดค่าปุ่มบน Sonoff เพื่อสลับรีเลย์

- แพลตฟอร์ม: gpio

id: button_0 พิน: หมายเลข: 0 กลับหัว: โหมด True: INPUT_PULLUP on_click: จากนั้น: - switch.turn_on: relay_1 - หน่วงเวลา: 500ms - switch.turn_off: relay_1 ปิดท้ายด้วยโรงรถแอตทริบิวต์

ปิดบัง:

- แพลตฟอร์ม: เทมเพลต device_class: ชื่อโรงรถ: "ประตูโรงรถ" id: template_cov lambda: |- if (id (contact_sensor).state) { return COVER_OPEN; } อื่น ๆ { ส่งคืน COVER_CLOSED; } open_action: - switch.turn_on: relay_1 - หน่วงเวลา: 0.5s - switch.turn_off: relay_1 close_action: - switch.turn_on: relay_1 - หน่วงเวลา: 0.5s - switch.turn_off: relay_1 นี่คือ YAML. แบบเต็ม

อินเตอร์เน็ตไร้สาย:

ssid: รหัสผ่าน: manual_ip: static_ip: เกตเวย์: ซับเน็ต: dns1: dns2: # เปิดใช้งานฮอตสปอตสำรอง (พอร์ทัลแบบ Captive) ในกรณีที่การเชื่อมต่อ wifi ล้มเหลว ap: ssid: รหัสผ่าน: captive_portal: # เปิดใช้งานตัวบันทึกการบันทึก: # เปิดใช้งาน Home Assistant API api: ota: การแทนที่: # แก้ไขตัวแปรตามการตั้งค่าของคุณ ชื่อโฮสต์: 'sonoff_basic_4' esphome: ชื่อ: $hostname platform: ESP8266 board: esp01_1m board_flash_mode: dout status_led: pin: number: 13 inverted: True binary_sensor: - แพลตฟอร์ม: gpio pin: หมายเลข: 3 โหมด: INPUT_PULLUP ชื่อ: "เซ็นเซอร์สัมผัสประตูโรงรถ" id: contact_sensor ภายใน: ตัวกรองจริง: delayed_on_off: 500ms - แพลตฟอร์ม: gpio id: button_0 พิน: หมายเลข: 0 กลับหัว: โหมดจริง: INPUT_PULLUP on_click: จากนั้น: - switch.turn_on: relay_1 - หน่วงเวลา: 500ms - switch.turn_off: relay_1 สวิตช์: - แพลตฟอร์ม: gpio pin: 12 id: relay_1 ชื่อ: "sonoff_basic_4_switch" ภายใน: จริง ปก: - แพลตฟอร์ม: เทมเพลต device_class: ชื่อโรงรถ: "Garage Door" id: template_cov lambda: |- if (id(contact_sensor).state) { retu rn COVER_OPEN; } อื่น ๆ { ส่งคืน COVER_CLOSED; } open_action: - switch.turn_on: relay_1 - หน่วงเวลา: 0.5s - switch.turn_off: relay_1 close_action: - switch.turn_on: relay_1 - หน่วงเวลา: 0.5s - switch.turn_off: relay_1 เซ็นเซอร์: - แพลตฟอร์ม: wifi_signal ชื่อ: "sonoff_basic_4_wifi_signal" update_interval: 60s - แพลตฟอร์ม: ชื่อเวลาทำงาน: "sonoff_basic_4_up_time" text_sensor: - แพลตฟอร์ม: ชื่อเวอร์ชัน: "sonoff_basic_4_version"

ขั้นตอนที่ 3: ESPEasy - กระพริบ Sonoff Basic

ESPEasy - กระพริบ Sonoff Basic
ESPEasy - กระพริบ Sonoff Basic
ESPEasy - กระพริบ Sonoff Basic
ESPEasy - กระพริบ Sonoff Basic
ESPEasy - กระพริบ Sonoff Basic
ESPEasy - กระพริบ Sonoff Basic

คุณจะต้องใช้อะแดปเตอร์ USB กับซีเรียลสำหรับสิ่งนี้

  • RX บนอะแดปเตอร์อนุกรมไปที่ TX บน Sonoff
  • TX บนอะแดปเตอร์อนุกรมไปที่ RX บน Sonoff
  1. ใน ESPHome รวบรวมรหัส
  2. ดาวน์โหลดไบนารี
  3. คัดลอกไฟล์.bin ไปยังไดเร็กทอรี ESPEasy ของคุณ
  4. ต่อสายซีเรียลของคุณเข้ากับ Sonoff
  5. กดปุ่มบน Sonoff ค้างไว้แล้วเสียบอะแดปเตอร์ Serial to USB เข้ากับคอมพิวเตอร์ของคุณ
  6. ในไดเร็กทอรี ESPEasy เปิด FlashESP8266.exe
  7. เลือกพอร์ต COM ของคุณ
  8. เลือก.bin
  9. คลิกแฟลช

ขั้นตอนที่ 4: การเดินสายไฟทุกอย่างขึ้น

เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น
เดินสายทุกอย่างขึ้น

ฉันใช้สายเคเบิลดูปองท์และสายไฟคอมพิวเตอร์สำหรับสิ่งนี้ แต่คุณสามารถใช้สิ่งที่คุณต้องการได้

  1. บัดกรีลวดเข้ากับขั้ว RX บน Sonoff
  2. บัดกรีลวดเข้ากับขั้ว GND บน Sonoff
  3. ต่อสายไฟเข้ากับขั้วต่อสายกลางและสายขาออก
  4. ใส่เคส Sonoff ไว้
  5. ตัดด้านขาเข้าของสายต่อ ดึงสายไฟออก แล้วต่อเข้ากับสายของ Sonoff และทางเข้าที่เป็นกลาง
  6. ขันฝาของ Sonoff เพื่อให้แน่ใจว่าสายเข้าปลอดภัย
  7. ทดสอบเพื่อให้แน่ใจว่าคอนแทคเซนเซอร์และรีเลย์ของคุณทำงานอย่างถูกต้อง

ขั้นตอนที่ 5: แนบกับประตูโรงรถ

ติดประตูโรงรถ
ติดประตูโรงรถ
ติดประตูโรงรถ
ติดประตูโรงรถ
ติดประตูโรงรถ
ติดประตูโรงรถ
  1. ติดเซ็นเซอร์สัมผัส (ฉันแนบของฉันกับรอก)

    ฉันไม่มีสายไฟแบบอิเล็กทรอนิกส์ เลยใช้สายลำโพงและสายพันสายไฟเพื่อติดเซ็นเซอร์สัมผัส

  2. ติด Sonoff กับบางสิ่งบางอย่าง (ฉันใช้วงเล็บที่ถือที่เปิดประตูโรงรถ)
  3. เชื่อมต่อสายเคเบิล

ขั้นตอนที่ 6: Home Assistant Automation - การแจ้งเตือนหากโรงรถเปิดเป็นเวลา 2 ชั่วโมง

ทริกเกอร์: ถ้าประตูโรงรถเปิด 2 ชั่วโมง

การดำเนินการ: ส่งการแจ้งเตือนไปยังโทรศัพท์ของฉัน โทรศัพท์ของแฟน และไปยังช่องที่ไม่ลงรอยกันที่บ้านของฉัน

ระบบอัตโนมัติ.yaml

- id: notification_if_garage_is_open_for_2_hours

นามแฝง: "การแจ้งเตือนหากโรงรถเปิด 2 ชั่วโมง" ทริกเกอร์: แพลตฟอร์ม: state entity_id: cover.garage_door ถึง: เปิดสำหรับ: ชั่วโมง: 2 การกระทำ: - บริการ: notify.mobile_app_courtney_s_iphone ข้อมูล: ชื่อ: "[?][?] Garage เปิดทิ้งไว้!" ข้อความ: "ประตูโรงรถเปิดมา 2 ชั่วโมงแล้ว ปิดเลยไหม" ข้อมูล: กด: หมวดหมู่: ios_close_garage - บริการ: notify.mobile_app_pixel_3a ข้อมูล: ชื่อ: "[?][?] Garage left open!" ข้อความ: "ประตูโรงรถเปิดมา 2 ชั่วโมงแล้ว ปิดเลยไหม" ข้อมูล: การกระทำ: - การกระทำ: android_close_garage ชื่อ: ปิดโรงรถ - บริการ: notify.discord ข้อมูล: ข้อความ: "[?][?] ประตูโรงรถเปิดแล้ว 2 ชั่วโมง ปิดมันได้หรือไม่" เป้าหมาย: ["รหัสช่อง DISCORD ของคุณ"]

หากต้องการรับการแจ้งเตือนบน IOS ที่มีปุ่มปิดประตูโรงรถ คุณต้องเพิ่มข้อมูลต่อไปนี้ในไฟล์ configuration.yaml

configuration.yaml

ไอโอเอส:

พุช: หมวดหมู่: - ชื่อ: ปิดตัวระบุโรงรถ: 'ios_close_garage' การกระทำ: - ตัวระบุ: 'IOS_CLOSE_GARAGE' ชื่อ: 'ปิดโรงรถ' การเปิดใช้งานโหมด: 'พื้นหลัง' การตรวจสอบสิทธิ์จำเป็น: จริง # ต้องใช้ FaceID / TouchID ทำลายล้าง: พฤติกรรมเท็จ: 'ค่าเริ่มต้น'

ตอนนี้คุณสามารถเพิ่มระบบอัตโนมัติที่เรียกว่าเมื่อคุณกดปุ่มปิดประตูโรงรถบนการแจ้งเตือนแบบพุชของ IOS

ระบบอัตโนมัติ.yaml

- id: 'ios_mobile_app_notification_close_garage_door'

นามแฝง: การแจ้งเตือนแอพมือถือ ios ปิดทริกเกอร์ประตูโรงรถ: แพลตฟอร์ม: เหตุการณ์ event_type: ios.notification_action_fired event_data: actionName: IOS_CLOSE_GARAGE การกระทำ: - ล่าช้า: 00:00:15 - บริการ: cover.close_cover ข้อมูล: entity_id: cover.garage_door

ระบบอัตโนมัติที่เรียกว่าเมื่อคุณกดปุ่มปิดประตูโรงรถบนการแจ้งเตือนแบบพุชของ Android

ระบบอัตโนมัติ.yaml

- รหัส: 'android_mobile_app_notification_close_garage_door'

นามแฝง: การแจ้งเตือนแอพมือถือ Android ปิดทริกเกอร์ประตูโรงรถ: - event_data: การกระทำ: android_close_garage event_type: mobile_app_notification_action แพลตฟอร์ม: การดำเนินการของเหตุการณ์: - ล่าช้า: 00:00:15 - บริการ: ข้อมูล cover.close_cover: entity_id: cover.garage_door