空間: 臥室
智慧應用: 離床警示
智慧家庭類型: 智慧感測 + 智慧安防
應用概述: 長者半夜離床超過 15 分鐘發送通知
為什麼需要離床警示?
根據衛生福利部統計,65 歲以上長者每年約 40% 經歷跌倒,其中 50% 發生在家中,夜間更是高危時段。長者夜間離床原因多元——上廁所、取水、走向浴室——每一次行動都潛藏風險。傳統照顧方式要求照顧者緷�{習慣,每小時巡房確認剩全,長期導致照顧者睡眠不足、身心俱嶲。
離床警示系統的四大幫助面向:
-
精神層面 — 增加照顧者安心程度
不再需要混眠等待,可安穩入睡,同時掌握長者狀況 -
效率層面 — 夜間安心隨從,貼心警示
黃金救援時間內趕到,減少跌e��後的延誤救治 -
隱私保護 — 15 分鐘緩衝設計
尊重長輩日常活動自由,非 24 小時監控,而是合理關懷 -
身心健康 — 預防照顧者燃燒症候群
長期規律睡眠改善,減少職業傷害和情緒問題
核心技術:三層感測方案
1. 床墊感測器(Pressure Mat Sensor) - 原理:感應床墊受壓,判斷是否有人在床上 - 優點:隱蔽非侵入式,安裝簡單 - 精準度:95% 以上
2. 毫米波感測器(mmWave Radar) - 原理:無線電波感測人體活動,穿透衣物、被子 - 優點:不受光線影響,可感測細微動作 - 應用:與床墊感測器搭配,驗證是否真正離床
3. 人體紅外線感測器(PIR Motion Sensor) - 原理:感應人體熱源移動 - 優點:低功耗,成本經濟 - 應用:門框、走廊、浴室門口監測
隱私尊重的設計哲學
15 分鐘的緩衝時間不是隨意選定,而是基於: - 平均盥洗時間:上廁所 + 洗手 = 8-12 分鐘 - 浴室往返時間:離床 → 走廊 → 浴室 = 3-5 分鐘 - 安全容許範圍:緊急狀況通常在 15-20 分鐘內表現
超過 15 分鐘才發送第一次通知,表示: - 尊重長輩的日常自主性 - 不會因為正常盥洗而頻繁警報 - 同時捕捉異常狀況(昏迷、跌倒無法起身)
多層級警報機制
| 時間點 | 狀態 | 照顧者收到通知 | 備註 |
|---|---|---|---|
| 0-15 分鐘 | 離床 | (無) | 系統後台計時,保護隱私 |
| 15 分鐘 | 未回床 | 第一次通知到手機 | 渫和提醒,照顧者可選擇觀察 |
| 30 分鐘 | 持續未回 | 升級警報:電話通話 + 短信 | 通知多位家人成員 |
| 45 分鐘 | 仍未回應 | 緊急聯絡:119、社區警衛 | 按設定自動升級 |
特殊場景處理: - 如浴室偵測到動態 → 自動延長計時 5 分鐘(表示在安全地點活動) - 如廚房感測器有人 → 自動調整警報敏感度 - 白天模式下 → 暫停或關閉警報,減少說觸
照顧者燃燒症候群的預防
實施前的現況: - 每晚平均驚醒 3-4 次 - 難以進入深度睡眠 - 長期睡眠不足導致免疫力下降、認知能力減弱
實施後的改變(一個月觀察): 1. 睡眠品質提升 60-70%(深度睡眠時間增加) 2. 白天精神好轉,情緒穩定度改善 3. 反應時間更快(真正緊急時刻反應敏捷) 4. 照顧信心提升,不再自責「沒有照好」 5. 與長者互動品質改善(不再帶著疲憊情緒) 6. 家庭關係和諧度提升,減少因睡眠不足的家庭衝突
常見問題
Q1: 15 分鐘會不會太短?長輩可能還在廁所
A: 我們根據實際調查,正常盥洗(上廁所 + 洗手)平均 8-12 分鐘,15 分鐘已充分緩衝。若長輩確實需要更長時間,可調整為 20-25 分鐘,但建議與醫師討論身體狀況。
Q2: 感測器會不會很明顯,長輩會拒絕?
A: 現代床墊感測器薄如瑜珈墊(2-3mm),放在床下完全看不見。紅外線感測器也可選擇白色或米色,融入居家裝潢。關鍵是 事先溝通——說明這是為了「互相安心」,而非監控。
Q3: 誤觸率高嗎?我不想天天收到假警報
A: 高品質感測器誤觸率 < 3%。常見誤觸原因是寵物或來訪者,解決方案是 時間限制(只在夜間 22:00-06:00 啟動)和 多感測器驗證(霃同時觸發床墊 + 門口感測,才算真正離床)。
Q4: 費用大概多少?安裝複雜嗎?
A: 完整系統(床墊感測器 + 3 個動作感測器 + 智慧樞紐)約 NT$8,000-15,000。安裝無需改動房屋結構,自行 DIY 可行,或請廠商協助 1-2 小時即可完成。
系統架構概覽
本部分涵蓋 Home Assistant 完整設定流程,包含感測器、輔助工具、場景、自動化和腳本。
核心 Entities
二元感測器(Binary Sensors):
binary_sensor.bed_occupancy
# 床墊感測器 - 判斷是否有人在床上
# 狀態:on(有人) / off(無人)
# 更新頻率:每 10 秒檢查一次
binary_sensor.room_motion
# 臥室動作感測器 - 偵測房間內是否有人活動
# 位置:房間角落(覆蓋範圍 4m × 4m
# 狀態:on(有動作) / off(無動作)
binary_sensor.bathroom_motion
# 浴室動作感測器 - 判斷長者是否在浴室
# 位置:浴室門框
# 狀態:on(有動作) / off(無動作)
person.elder_tracking
# 人物追蹤 - 多層位置推斷
# 結合床墊感測 + 動作感測 + 地理位置(可選)
# 狀態:home / away / 自訂(bedroom / bathroom / hallway)
輔助工具(Helpers)
布林開關(Input Boolean):
input_boolean.bed_alert_enabled
# 離床警示啟用 - 控制整個系統開關
# 預設:on(啟用)
# 用途:可手動暫停,如長者白天休息
input_boolean.elder_away_from_bed
# 長者離床標誌 - 追蹤當前離床狀態
# 由自動化更新,不手動干預
# on = 離床中,off = 在床上
數值輸入(Input Number):
input_number.alert_delay_minutes
# 第一次通知延遲(分鐘)- 15 分鐘緩衝時間
# 最小值:5,最大值:30
# 預設:15
input_number.escalation_minutes
# 升級警報延遲(分鐘)- 觸發第二層警報
# 最小值:15,最大值:60
# 預設:30
計時器(Timer):
timer.bed_absence_timer
# 離床計時器 - 記錄長者離床時長
# 由自動化自動啟動/停止
# 不手動操作
日期時間輸入(Input DateTime):
input_datetime.monitoring_start
# 監控開始時間 - 夜間模式啟動
# 預設:22:00(晚上 10 點)
input_datetime.monitoring_end
# 監控結束時間 - 夜間模式結束
# 預設:06:00(早上 6 點)
場景(Scenes)
scene.night_monitoring_enabled
# 夜間監控啟動
# 觸發:
# - 監控時間段內自動啟用
# - 手動開啟
# 動作:
# - input_boolean.bed_alert_enabled = on
# - 亮度調整到 0%(臥室燈暗化)
# - 喇叭音量調低至 20%(通知音量温和)
scene.alarm_triggered
# 警報觸發場景
# 動作:
# - 走廊燈全亮(100%,幫助長者視線)
# - 浴室燈亮起
# - 客廳電視暫停(提示照顧者有警報)
# - 喇叭音量調升至 70%(重要警報聲)
自動化(Automations)
自動化 1:離床 → 啟動計時器
alias: 長者離床計時開始
trigger:
platform: state
entity_id: binary_sensor.bed_occupancy
from: "on"
to: "off"
for:
seconds: 30 # 防止誤觸,等待 30 秒確認
condition:
- condition: state
entity_id: input_boolean.bed_alert_enabled
state: "on"
- condition: time
after: input_datetime.monitoring_start
before: input_datetime.monitoring_end
action:
- service: timer.start
target:
entity_id: timer.bed_absence_timer
data:
duration: "00:30:00" # 設定 30 分鐘計時(用於升級警報)
自動化 2:回床 → 取消計時器
alias: 長者回床取消警示
trigger:
platform: state
entity_id: binary_sensor.bed_occupancy
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.elder_away_from_bed
state: "on"
action:
- service: timer.cancel
target:
entity_id: timer.bed_absence_timer
- service: input_boolean.turn_off
target:
entity_id: input_boolean.elder_away_from_bed
- service: notify.mobile_app_caregiver
data:
message: "長輩已回床,系統恢復監控"
title: "✓ 安全確認"
自動化 3:15 分鐘到 → 發送第一次通知
alias: 離床 15 分鐘通知照顧者
trigger:
platform: template
value_template: >
{% if states('timer.bed_absence_timer') == 'active' %}
{% set duration = state_attr('timer.bed_absence_timer', 'duration') %}
{% set remaining = state_attr('timer.bed_absence_timer', 'remaining') %}
{% if duration and remaining %}
{{ (as_timestamp(now()) - (as_timestamp(now()) - (duration.total_seconds() - remaining.total_seconds())))
>= (input_number.alert_delay_minutes | float(15) * 60) }}
{% endif %}
{% endif %}
condition:
- condition: state
entity_id: binary_sensor.bed_occupancy
state: "off"
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.elder_away_from_bed
- service: notify.mobile_app_caregiver
data:
message: "⚠️ 長輩離床已 15 分鐘,請確認安全"
title: "床邊警示 - 第一次通知"
data:
ttl: 0
priority: "high"
自動化 4:30 分鐘 → 升級警報
alias: 離床 30 分鐘升級警報
trigger:
platform: template
value_template: >
{% if states('timer.bed_absence_timer') == 'active' %}
{% set remaining = state_attr('timer.bed_absence_timer', 'remaining') %}
{% if remaining %}
{{ remaining.total_seconds() <= 0 }}
{% endif %}
{% endif %}
condition:
- condition: state
entity_id: binary_sensor.bed_occupancy
state: "off"
action:
- service: notify.mobile_app_caregiver
data:
message: "🚨 緊急!長輩離床已 30 分鐘,立即檢查"
title: "離床警示 - 升級警報"
- service: notify.mobile_app_family_member
data:
message: "長輩離床超時,家主已通知"
title: "家庭警報"
- service: scene.turn_on
target:
entity_id: scene.alarm_triggered
- service: tts.google_translate_say
target:
entity_id: media_player.speaker_bedroom
data:
message: "警報:長輩離床時間過長,請立即確認"
自動化 5:浴室偵測 → 延長計時
alias: 浴室活動延長計時
trigger:
platform: state
entity_id: binary_sensor.bathroom_motion
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.elder_away_from_bed
state: "on"
- condition: state
entity_id: timer.bed_absence_timer
state: "active"
action:
- service: timer.start
target:
entity_id: timer.bed_absence_timer
data:
duration: "00:30:00" # 重新啟動計時(延長 5 分鐘)
- service: logbook.log
data:
name: "離床位置"
message: "長者在浴室活動 - 計時重啟"
自動化 6:時間限制自動啟用監控
alias: 夜間時段自動啟用監控
trigger:
platform: time
at: input_datetime.monitoring_start
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.bed_alert_enabled
- service: scene.turn_on
target:
entity_id: scene.night_monitoring_enabled
- service: notify.mobile_app_caregiver
data:
message: "🌙 夜間監控已啟動"
title: "系統通知"
腳本(Scripts)
腳本 1:手動啟用監控
script.manual_enable_bed_monitoring:
alias: "手動啟用床邊監控"
description: "立即啟用或重新啟用離床警示"
sequence:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.bed_alert_enabled
- service: input_boolean.turn_off
target:
entity_id: input_boolean.elder_away_from_bed
- service: timer.cancel
target:
entity_id: timer.bed_absence_timer
- service: notify.mobile_app_caregiver
data:
message: "監控已啟用,系統進入待命狀態"
title: "✓ 確認"
腳本 2:手動停用監控
script.manual_disable_bed_monitoring:
alias: "手動停用床邊警示"
description: "暫停監控(如長者白天休息)"
sequence:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.bed_alert_enabled
- service: timer.cancel
target:
entity_id: timer.bed_absence_timer
- service: notify.mobile_app_caregiver
data:
message: "監控已停用"
title: "系統通知"
腳本 3:發送即時狀態報告
script.send_status_report:
alias: "發送即時狀態報告"
description: "傳送長者當前狀態"
sequence:
- service: notify.mobile_app_caregiver
data:
message: >
📊 即時狀態報告 {{ now().strftime('%H:%M') }}
🛏️ 床上狀態:{{ states('binary_sensor.bed_occupancy') }}
🚶 房間活動:{{ states('binary_sensor.room_motion') }}
🚿 浴室活動:{{ states('binary_sensor.bathroom_motion') }}
🛎️ 警示狀態:{{ states('input_boolean.bed_alert_enabled') }}
title: "長者狀態檢查"
設定提示 & 常見問題排除
【注意事項】
- 感測器安裝
- 床墊感測器需放在使用中的床下,確保觸發靈敏度
- 房間感測器避免朝向窗戶(防陽光并擾)
-
浴室感測器需防水等級 ≥ IP44
-
通知服務
- 需提前在 Home Assistant 設定 Mobile App / Line / Telegram
-
渫試通知可靠性:先手動觸發一次
-
隱私考量
- 勿在共用區域安裝監控攝像頭
- 限制家人對長者位置數據的存取
-
定期檢視日誌,避免過度監控
-
夜間模式
- 確保監控開始/結束時間與長者作息一致
- 考慮季節變化(冬季天亮晚,夏季天亮早)
【常見問題排除】
| 問題 | 可能原因 | 解決方案 |
|---|---|---|
| 感測器無反應 | 感測器未配對或斷電 | 檢查藍牙連線、USB 電源、電池電量 |
| 誤觸過多 | 寵物、訪客、敏感度過高 | 調整感測器位置、啟用時間限制、加入條件 |
| 通知未送達 | 手機未連線或通知被關閉 | 檢查手機 WiFi、允許通知權限、測試連線 |
| 計時器無法啟動 | 自動化條件未滿足 | 檢查時間範圍、感測器狀態、邏輯條件 |
# Home Assistant 離床警示系統快速建置
你的目標:協助使用者在 Home Assistant 中完整設定臥室離床警示系統。
## 步驟 1:連線診斷
訢問:
- 你的 Home Assistant 版本是?(2024.x 或更新)
- 已連接的感測器:床墊感測器型號、品牌、通訊協議(藭牙/WiFi/Zigbee)?
- Home Assistant 樞紐(Hub)型號是什麼?
## 步驟 2:發現 Binary Sensors 與通知服務
依序詢問並幫助使用者確認:
- 床墊感測器已在 Home Assistant 中出現 entity_id 是?(如 binary_sensor.bed_occupancy)
- 房間動作感測器的 entity_id?
- 浴室動作感測器的 entity_id?
- 已安裝的通知服務:Mobile App / Line / Telegram / 電話服務?
(若未安裝,提供逐步安裝指引)
## 步驟 3:建立輔助工具(Helpers)
依序訢問並逐一建立:
**⚠️ 逐一詢問,不要假設預設值**
1. `input_boolean.bed_alert_enabled` — 警示啟用開關
- 詢問預設狀態?(推薦:on)
2. `input_number.alert_delay_minutes` — 第一次通知延遲
- **詢問:長者半夜離床幾分鐘後要發送第一次通知?**
- 建議範圍:10-20 分鐘(預設:15)
- 若長者行動遲緩,建議 20 分鐘
3. `input_number.escalation_minutes` — 升級警報延遲
- **訢問:第一次通知後幾分鐘升級点緊急警報?**
- 建議範圍:15-30 分鐘(預設:30)
4. `timer.bed_absence_timer` — 離床計時器(自動建立,無需手動)
5. `input_datetime.monitoring_start` — 監控開始時間
- **訢問:夜間監控什麼時間開始?**
- 詢問範例:22:00 / 23:00 / 20:00?
6. `input_datetime.monitoring_end` — 監控結束時間
- **訢問:夜間監控什麼時間結束?**
- 詢問範例:06:00 / 07:00 / 08:00?
## 步驟 4:建立場景(Scenes)
⚠️ **逐一詢問使用者設定**
**場景 A:夜間監控啟動 `scene.night_monitoring_enabled`**
- 詢問:啟用監控時,臥室燈要不要自動變暗?(推薦:是,20% 亮度)
- 訢問:通知音量要多大?(推薦:30%)
- 訢問:其他房間燈要自動開啟嗎?(如走廊燈)
**場景 B:警報觸發 `scene.alarm_triggered`**
- 詢問:警報觸發時,走廊燈要全亮嗎?(推薦:是,100%)
- 訢問:浴室燈要開嗎?
- 訢問:其他設備要聯動嗎?(如電視暫停、門鈴)
## 步驟 5:建立自動化(Automations)
⚠️ **逐一詢問,不要假設預設值**
**自動化 1:離床 → 啟動計時器**
- 已建立預設自動化,無需額外詢問
**自動化 2:回床 → 取消計時器**
- 訢問:長者回床時要發送確認通知嗎?(推薦:是)
- 訢問:通知內容偏好簡短還是詳細?
**自動化 3:15 分鐘到 → 發送第一次通知**
- **訢問:第一次通知要傳給誰?**
(如主照顧者手機、Line、電話)
- **詢問:通知方式:只傳訊息、還是同時打電話?**
**自動化 4:30 分鐘 → 升級警報**
- **詢問:升級警報時要通知誰?**
(主照顧者 + 備用家人 + 119?)
- **詢問:升級警報用什麼方式?**
(電話、簡訊、推播、喇叭廣播?)
- **訢問:要不要同時打開走廊和浴室的燈?**
**自動化 5:浴室偵測 → 延長計時**
- 訢問:如果長者在浴室活動,計時器要延長多少時間?(推薦:5-10 分鐘)
- 詢問:廚房區域也有感測器嗎?如果有,也要延長計時嗎?
**自動化 6:時間限制自動啟用監控**
- 詢問:白天(例如 06:00-22:00)要不要也監控?(推薦:否,減少誤觸)
- 詢問:周末要用不同的監控時間嗎?
## 步驟 6:建立腳本(Scripts)
依次幫助建立三個腳本,無需額外詢問:
1. `script.manual_enable_bed_monitoring` — 手動啟用
2. `script.manual_disable_bed_monitoring` — 手動停用
3. `script.send_status_report` — 發送狀態報告
提供快速啟用方式:
- 在手機 Home Assistant App 上添加快捷方式
- 在 Dashboard 上添加按鈕卡片
## 步驟 7:驗證與除錯
完整檢查清單:
- [ ] 所有 entity_id 都正確指向實際感測器
- [ ] 測試床墊感測器:躺下 → entity_id 變 on,起床 → 變 off(需驗證延遲 30 秒機制)
- [ ] 模擬離床 15 分鐘 → 確認通知送達指定手機
- [ ] 模擬離床 30 分鐘 → 確認升級警報觸發
- [ ] 渫試浴室感測器 → 確認計時器延長生效
- [ ] 檢查時間限制 → 夜間模式啟用/停用是否準時
- [ ] 測試手動啟用/停用腳本 → Dashboard 按鈕是否有效
- [ ] 檢查日誌(Developer Tools → Logs)→ 無異常錯誤訊息
**常見除錯問題:**
- 感測器未出現在 Entities 中?→ 檢查 integration 是否安裝、設備是否配對
- 自動化未觸發?→ 檢查 trigger / condition / action 語法
- 通知未送達?→ 確認 notify service 已設定、測試連線
- 計時器卡住?→ 刪除舊的 timer entity,重新建立新的
**系統上線前檢查:**
訢問使用者:
- 所有家庭成員都知道這個系統嗎?(建議提前溝通、解釋隱私設計)
- 緊急聯絡號碼是否正確設定?
- 感測器電池是否充滿?
- 有沒有想調整警報延遲時間?
文章完成
此 3 部分文章涵蓋理論背景、HA 完整設定與 AI 逐步建置提示詞,可直接作為長期護理照護專業人員與居家智慥家庭愛好者的參考指南。