Đèn hành lang tự động trong Home Assistant: hướng dẫn đầy đủ
Dựng automation đèn hành lang theo chuyển động trong Home Assistant: trigger, điều kiện trời tối, mode restart, YAML đầy đủ, cách Node-RED và blueprint.
Đèn hành lang tự bật khi có người và tự tắt khi vắng là automation đáng làm đầu tiên trong Home Assistant: dễ dựng, dùng mỗi ngày, và cho thấy ngay giá trị của nhà tự động. Bài này đi từ cách automation hoạt động đến YAML hoàn chỉnh, kèm mẹo tránh lỗi đèn tắt vào mặt người, cách làm bằng Node-RED và dùng blueprint cho nhanh.
Cách automation này hoạt động
Một automation Home Assistant luôn gồm ba phần: kích hoạt, điều kiện và hành động. Với đèn hành lang, kích hoạt là cảm biến chuyển động báo có người, điều kiện là trời đủ tối để cần đèn, hành động là bật đèn rồi tắt khi vắng.
Điểm cốt lõi nằm ở chế độ chạy. Đặt mode: restart để mỗi lần có chuyển động mới sẽ hủy lần chạy đang chờ và bắt đầu lại từ đầu. Nhờ vậy đèn giữ sáng suốt thời gian còn người, và chỉ tắt sau khi thật sự vắng một lúc. Đây là bài này khác với một automation ngây thơ hay tắt đèn vào mặt người còn đứng đó.
Cần chuẩn bị
- Home Assistant đang chạy, ví dụ trên một Raspberry Pi 5 đặt cố định trong nhà.
- Một cảm biến chuyển động đã ghép vào Home Assistant, tốt nhất là Zigbee để chạy cục bộ. Cách ghép thiết bị Zigbee được nói kỹ trong bài Aqara và Home Assistant.
- Một đèn điều khiển được, ví dụ một bộ Philips Hue hoặc bóng thông minh bất kỳ đã thêm vào Home Assistant.
- Tùy chọn: một cảm biến đo sáng (lux) trong hành lang. Không có thì dùng
sun.sunthay thế.
Đặt tên entity rõ ràng theo phòng trước khi bắt đầu, ví dụ binary_sensor.hallway_motion, light.hallway. Tên gần với cách bạn nói giúp đọc lại automation dễ hơn nhiều.
Các bước dựng
YAML hoàn chỉnh
Đây là bản đầy đủ dùng cảm biến lux làm điều kiện trời tối. Sửa tên entity cho khớp nhà bạn.
automation:
- alias: "Đèn hành lang theo chuyển động"
mode: restart
trigger:
- platform: state
entity_id: binary_sensor.hallway_motion
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.hallway_illuminance
below: 30
action:
- service: light.turn_on
target:
entity_id: light.hallway
data:
brightness_pct: 60
- wait_for_trigger:
- platform: state
entity_id: binary_sensor.hallway_motion
to: "off"
- delay: "00:02:00"
- service: light.turn_off
target:
entity_id: light.hallwayLogic đọc như sau: có chuyển động khi trời tối thì bật đèn ở 60 phần trăm độ sáng, đợi cảm biến báo hết người, đệm thêm 2 phút rồi tắt. Nếu trong lúc đợi hoặc đệm lại có chuyển động mới, mode: restart hủy lần chạy này và bắt đầu lại, nên đèn vẫn sáng.
Biến thể đêm khuya
Sau 23 giờ, ánh sáng dịu và ấm giúp mắt đỡ chói khi đi vệ sinh ban đêm. Thay khối light.turn_on đầu tiên bằng:
- choose:
- conditions:
- condition: time
after: "23:00:00"
before: "05:00:00"
sequence:
- service: light.turn_on
target:
entity_id: light.hallway
data:
brightness_pct: 15
color_temp_kelvin: 2200
default:
- service: light.turn_on
target:
entity_id: light.hallway
data:
brightness_pct: 60Trời tối: dùng lux hay mặt trời
Nếu có cảm biến đo sáng trong hành lang, dùng nó cho chính xác vì hành lang kín thường tối cả ban ngày. Không có thì dùng mặt trời thay thế, đổi khối condition thành:
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"Cách mặt trời đơn giản và không tốn thiết bị, đổi lại ban ngày trời sáng mà hành lang tối thì đèn không bật. Với hành lang kín, một cảm biến lux nhỏ là khoản đáng đầu tư.
Lỗi đèn tắt vào mặt người
Nguyên nhân phổ biến nhất là dùng mode mặc định thay vì restart, hoặc thời gian trễ ngắn hơn khoảng mù của cảm biến hồng ngoại. Giữ mode: restart, đặt trễ 1 đến 2 phút, và cân nhắc cảm biến mmWave cho khu vực hay đứng yên.
Cách khác: dựng bằng Node-RED
Nếu ngại YAML, cùng logic này dựng được bằng kéo thả. Dùng node sự kiện lắng nghe cảm biến chuyển động, một node điều kiện kiểm tra độ sáng, node gọi dịch vụ bật đèn, rồi một node trigger gia hạn 2 phút để gọi tắt khi hết chuyển động. Cách cài và nối Node-RED với Home Assistant nằm trong bài Node-RED cơ bản.
Dùng blueprint cho nhanh
Home Assistant có sẵn blueprint "Motion-activated Light" trong Settings, Automations, Blueprints. Bạn chỉ cần chọn cảm biến chuyển động, đèn và thời gian tắt là chạy được ngay, không phải viết YAML. Blueprint gốc khá đơn giản, thiếu điều kiện lux và độ sáng theo giờ như bản ở trên. Cách hợp lý là bắt đầu bằng blueprint cho nhanh, khi cần logic đêm khuya hay điều kiện trời tối thì chuyển sang YAML tự viết.
Khắc phục sự cố
Phần lớn lỗi đèn theo chuyển động rơi vào vài nhóm quen thuộc. Bảng dưới đây gom triệu chứng, nguyên nhân gốc và cách sửa.
| Triệu chứng | Nguyên nhân gốc | Cách sửa |
|---|---|---|
| Đèn tắt vào mặt người còn đứng | mode mặc định bỏ qua chuyển động mới; delay ngắn hơn khoảng mù của PIR; PIR không thấy người đứng yên | Đặt mode: restart; tăng delay lên 1 đến 2 phút; dùng cảm biến mmWave cho khu hay đứng yên |
| Đèn bật cả ban ngày | Ngưỡng lux quá cao; dùng điều kiện mặt trời cho hành lang kín luôn tối | Hạ ngưỡng lux; lắp cảm biến lux thật thay vì dựa vào mặt trời |
| Đèn không bật | Sai entity_id; điều kiện trời tối đang chặn; automation bị tắt; cảm biến unavailable | Đối chiếu tên ở Developer Tools, States; xem Trace để biết điều kiện nào fail; bật lại automation |
| Đèn nhấp nháy bật tắt | Cảm biến lux đặt ngay dưới đèn gây vòng lặp; nhiều automation cùng điều khiển một đèn | Dời cảm biến lux khỏi vùng đèn chiếu; gộp về một automation |
| Đèn không bao giờ tắt | wait_for_trigger không nhận được sự kiện off vì cảm biến kẹt ở on | Thêm timeout cho wait_for_trigger; kiểm tra cảm biến có nhả về off trong Logbook |
| Cả hệ đèn tự dưng chết | Cảm biến pin báo unavailable vì hết pin nên trigger không bắn | Thay pin; thêm automation phụ cảnh báo khi cảm biến mất kết nối lâu |
Quy trình chẩn đoán
Trace là công cụ số một
Hầu hết lỗi automation tìm ra chỉ bằng Trace vì nó tô màu đúng bước bị dừng. Condition màu đỏ nghĩa là điều kiện trời tối chặn; trigger không xuất hiện nghĩa là vấn đề nằm ở cảm biến.
Thói quen tránh lỗi từ đầu
- Luôn để
mode: restartcho đèn theo chuyển động, đây là nguyên nhân số một của lỗi tắt vào mặt người. - Đặt delay dài hơn khoảng mù của cảm biến.
- Đặt tên entity theo phòng để đọc lại và sửa nhanh.
- Mỗi đèn một automation điều khiển để tránh hai automation đánh nhau.
- Giữ cảm biến và đèn chạy cục bộ để hoạt động cả khi mất mạng.
- Theo dõi pin cảm biến bằng một automation cảnh báo unavailable.
Phần cứng gợi ý theo ngân sách
Ba mức cấu hình cho cùng một automation, từ thử nhanh đến mượt nhất.
| Thành phần | 💸 Budget | ⭐ Best Overall | 💎 Premium |
|---|---|---|---|
| Cảm biến | PIR Wi-Fi/Tuya | PIR Zigbee + lux | mmWave hiện diện |
| Đèn | Công tắc thông minh | Bóng Zigbee | Philips Hue chỉnh màu |
| Hub | Không (Wi-Fi) | Hub Zigbee | Hue Bridge + coordinator |
| Máy chủ | App hãng (không HA) | Raspberry Pi (HA) | Pi 5 / NUC chạy HA |
| Điều kiện trời tối | sun.sun | Cảm biến lux thật | Lux + theo giờ |
Phần cứng có slug mua được: công tắc Sonoff (mức Budget), hub Zigbee Xiaomi và máy chủ Raspberry Pi 5 (mức Best Overall), bóng Philips Hue (mức Premium). Cảm biến PIR và mmWave tùy mẫu bạn chọn trên sàn.
| Hạng mục | Budget | Best Overall | Premium |
|---|---|---|---|
| Cảm biến | ~150,000–250,000đ | ~250,000–350,000đ | ~600,000–1,000,000đ |
| Đèn / công tắc | ~150,000đ | ~300,000đ | ~1,200,000đ+ |
| Hub | 0đ | ~1,490,000đ | ~1,500,000đ+ |
| Máy chủ HA | 0đ | ~1,990,000đ | ~2,000,000đ+ |
| Tổng (chưa có nền) | ~400,000–700,000đ | ~4,000,000đ | ~5–8 triệu |
| Tổng (đã có HA + hub) | không áp dụng | ~600,000đ | ~1,800,000đ+ |
Ưu điểm
Nhược điểm
Với phần lớn nhà Việt, mức Best Overall đáng tiền nhất: chạy cục bộ ổn định và làm nền cho mọi automation khác. Nếu đã có Home Assistant và hub sẵn thì chỉ tốn khoảng 600 nghìn. Budget hợp người muốn thử trước, Premium chỉ đáng khi bạn ghét cảnh đèn tắt lúc đứng yên.
Đây là một trong nhiều kịch bản đáng làm. Xem thêm chín kịch bản còn lại trong bài 10 automation Home Assistant đáng làm, hoặc bắt đầu từ nền tảng trong bài smart home Việt Nam 2026. Còn nhiều hướng dẫn khác trong chuyên mục nhà thông minh của MyAutoLife.
Câu hỏi thường gặp
Vì sao đèn hay tắt khi tôi vẫn đứng trong hành lang?
Cảm biến hồng ngoại chỉ thấy chuyển động, đứng yên một lúc là nó báo hết người. Tăng thời gian trễ, hoặc đổi sang cảm biến hiện diện mmWave vốn nhận cả người đứng yên.
mode: restart khác mode mặc định thế nào?
Với mode restart, mỗi lần có chuyển động mới sẽ hủy lần chạy đang chờ và bắt đầu lại, nên đèn giữ sáng và đồng hồ tắt được reset. Mode single mặc định sẽ bỏ qua chuyển động mới, khiến đèn tắt sớm vào mặt người còn đứng đó.
Không có cảm biến đo sáng thì lấy gì làm điều kiện trời tối?
Dùng sun.sun với trạng thái below_horizon. Cách này không chính xác bằng cảm biến lux trong hành lang kín, nhưng đủ tốt và không tốn thêm thiết bị.
Automation này có chạy khi mất mạng không?
Có, nếu cảm biến và đèn đều chạy cục bộ qua Zigbee hoặc ESPHome. Toàn bộ logic xử lý ngay trên Home Assistant, không cần internet.
Nên đặt thời gian trễ tắt bao lâu?
Khoảng 1 đến 2 phút cho hành lang là hợp lý. Đừng đặt ngắn hơn khoảng mù của cảm biến hồng ngoại, nếu không đèn tắt rồi mới nhận lại chuyển động.
MyAutoLife Team
Đội ngũ MyAutoLife tự kiểm chứng mọi sản phẩm trước khi đánh giá. Dữ liệu, giá và quan điểm dựa trên trải nghiệm thực tế tại Việt Nam.
Kiểm duyệt chuyên môn: Hung Tran
Bài viết liên quan
10 automation Home Assistant đáng làm cho nhà Việt 2026
10 kịch bản tự động hóa Home Assistant thực dụng cho nhà Việt: đèn theo chuyển động, cảnh báo an toàn, chế độ vắng nhà và tiết kiệm năng lượng, kèm cách dựng.
Aqara + Home Assistant: ghép thiết bị đúng cách 2026
Hai cách ghép thiết bị Aqara vào Home Assistant: giữ hub Aqara hay nối thẳng Zigbee qua coordinator. So sánh, các bước chính, và lỗi thường gặp khi ghép.
HomeKit vs Google Home vs Xiaomi 2026: chọn hệ nào cho nhà Việt?
So sánh ba hệ smart home cho nhà Việt: Apple HomeKit, Google Home và Xiaomi Mi Home về giá, thiết bị, giọng nói, bảo mật và khi nào nên chọn từng hệ.
Nhận bản tin MyAutoLife
Mỗi tuần 1 email: AI tools đáng dùng + mẹo smart home. Không spam, hủy bất kỳ lúc nào.