|
|
裝了功率監測之後,真正有用的是「怎麼讀這些資料」。
這篇講實際的分析方法。

第一步:找出你的「基礎負載」
基礎負載 = 家裡沒人、什麼都沒在用的時候,還在吃的電。
怎麼量:
- 看凌晨三四點的功率(最低點)
- 那個數字就是你的基礎負載
用模板算出來:
- template:
- - sensor:
- - name: 基礎負載
- unique_id: base_load
- unit_of_measurement: W
- device_class: power
- state: >
- {{ states('sensor.總功率') | float(0) }}
- availability: >
- {{ now().hour == 3 }}
複製代碼
或者更簡單:用 statistics 整合抓「最近 24 小時的最小值」。
- sensor:
- - platform: statistics
- name: 24小時最低功率
- entity_id: sensor.總功率
- state_characteristic: value_min
- max_age:
- hours: 24
複製代碼
基礎負載的參考值
- 50-100W —— 很好(冰箱 + 網路設備)
- 100-200W —— 普通
- 200-300W —— 偏高,有東西在偷吃電
- 300W 以上 —— 一定有問題,值得查
為什麼要在意:
基礎負載 200W 的話,一個月就是 144 度。
按每度 5 元算,一年多花 8,600 元 —— 而且你完全沒用到。

第二步:抓出偷吃電的東西
方法一:逐一斷電法(最原始但最準)
- 半夜家裡沒人用電的時候
- 記下總功率
- 一個一個拔插頭,每拔一個記一次
- 差多少就是那個東西吃多少
常見的意外發現:
- 機上盒待機 15-25W(一年 1,000 元以上)
- 舊的電視待機 10W 以上
- 電熱水瓶保溫 30-50W ← 這個最兇
- 音響、擴大機待機
- 沒在用但插著的充電器(其實很小,1W 以下,不是重點)
方法二:用資料找異常
找出「開著超過 N 小時的高耗電裝置」:
- template:
- - sensor:
- - name: 持續高功率的裝置
- state: >
- {{ states.sensor
- | selectattr('attributes.device_class', 'defined')
- | selectattr('attributes.device_class', 'eq', 'power')
- | selectattr('state', 'is_number')
- | selectattr('state', 'gt', '50')
- | map(attribute='name') | list | join('、') }}
複製代碼
方法三:看用電曲線的形狀

不同的東西有不同的「指紋」:
- 冰箱 —— 週期性的方波。開十五分鐘、停三十分鐘
- 變頻冷氣 —— 剛開很高,然後降下來維持
- 定頻冷氣 —— 一直在開開關關
- 電熱水瓶 —— 間隔性的高峰(保溫加熱)
- 洗衣機 —— 幾個明顯的階段(進水、洗、脫水)
- 待機電力 —— 一條平平的線
用途:
看到「明明沒人在家卻有週期性的高峰」,
就知道有東西在自己運轉(通常是除濕機或熱水瓶)。
第三步:算出真正值得改的
很多人搞錯優先順序。
算法:
- 一年的錢 = 功率(W) × 每天小時數 × 365 ÷ 1000 × 每度電價
複製代碼
實際的對照(以每度 5 元計):
- 電熱水瓶保溫 40W × 24 小時 → 一年約 1,750 元
- 機上盒待機 20W × 20 小時 → 一年約 730 元
- 舊冰箱比新的多吃 100W × 24 小時 → 一年約 4,380 元
- 手機充電器空插 0.5W × 24 小時 → 一年約 22 元 ← 不用管
結論:
- 拔充電器沒有意義
- 熱水瓶改成即熱式或用保溫瓶才有感
- 十五年以上的冰箱換掉,省的電可能兩三年就回本

冷氣:最大的一塊
夏天冷氣通常佔家庭用電的 40-60%。
用資料能做什麼:
一、算出「每小時多少錢」
- template:
- - sensor:
- - name: 冷氣每小時花費
- unit_of_measurement: "TWD/h"
- state: >
- {{ (states('sensor.冷氣功率') | float(0) / 1000 * 5) | round(1) }}
複製代碼
放在儀表板上,你會很有感。
二、比較「設 26 度」和「設 28 度」的實際差別
- 連續幾天各設一個溫度
- 看能源儀表板的每日用電
- 這是你家的實際數字,不是網路上的通則
三、找出「開了但沒人」的時段
- automation:
- - alias: 冷氣開著但沒人
- triggers:
- - trigger: state
- entity_id: binary_sensor.客廳有人
- to: "off"
- for: "00:30:00"
- conditions:
- - condition: numeric_state
- entity_id: sensor.冷氣功率
- above: 100
- actions:
- - action: notify.mobile_app_phone
- data:
- message: >
- 客廳沒人半小時了,冷氣還開著
- (目前 {{ states('sensor.冷氣功率') }}W)
複製代碼
四、記錄「開機後多久達到設定溫度」
這個數字可以告訴你:
- 冷氣夠不夠力(太久 = 噸數不足或該洗了)
- 預冷要提前多久
用 history_stats 算:
- sensor:
- - platform: history_stats
- name: 冷氣今日運轉時數
- entity_id: climate.客廳
- state: "cool"
- type: time
- start: "{{ today_at('00:00') }}"
- end: "{{ now() }}"
複製代碼
幾個實用的統計工具

utility_meter(分期計費)
- utility_meter:
- 每月用電:
- source: sensor.總用電量
- cycle: monthly
- 冷氣每月用電:
- source: sensor.冷氣用電量
- cycle: monthly
複製代碼
會自動在每月一號歸零,還會保留上一期的數字。
可以設 offset 對齊台電的抄表日:
- 每期用電:
- source: sensor.總用電量
- cycle: monthly
- offset:
- days: 5
複製代碼
統計(statistics)
- sensor:
- - platform: statistics
- name: 冷氣平均功率
- entity_id: sensor.冷氣功率
- state_characteristic: mean
- max_age:
- hours: 24
複製代碼
可以算的東西:mean(平均)、median(中位數)、
value_max / value_min、total、change 等等。
history_stats(某個狀態持續多久)
上面冷氣那個例子就是。也可以算「燈開了幾小時」。
用 SQL 做複雜查詢
HA 的資料在 SQLite(或 MariaDB)裡,可以用 SQL 整合直接查:
- sensor:
- - platform: sql
- queries:
- - name: 本月最高單日用電
- query: >
- SELECT MAX(state) as value FROM statistics
- WHERE metadata_id = (
- SELECT id FROM statistics_meta
- WHERE statistic_id = 'sensor.每日用電'
- )
- column: value
複製代碼
這是進階用法,但有些統計用模板算不出來的時候很好用。
一個完整的能源儀表板該有什麼
- 現在的總功率(大字)
- 今天到現在用了幾度 / 幾塊錢
- 本期累計 + 預估帳單
- 前五名耗電裝置的圓餅圖
- 基礎負載(異常時變紅)
- 冷氣今日運轉時數
- 跟上個月同期的比較
最後一項最有用 —— 絕對數字沒有意義,趨勢才有。
---
下一篇:用 ESPHome 自己做電力監測,
以及太陽能與儲能在 HA 裡怎麼整合。 |
|