透過Home Assistant實做魚缸的監控與輔助管理之一:系統概要

因篇幅關係,拆成以下幾篇易於閱讀。

過去在海水缸時期使用Neptune Apex 2016來做整套魚缸的管理,像是水質監測(溫度、pH、ORP和鹽度)、燈光定時、水位監測、漏水警報、造浪控制、設備開關控制、自動滴定和自動餵食等等。Neptune Apex 2016是一套非常完整的系統,缺點是非常的貴、需要從國外自行購入以及網路上的相關資源非常有限,最後在海水缸撤缸後就送人了。現在新設的金魚缸沒有這麼複雜,於是自己透過ESP32、Home Assistant與Gosund WP12延長線來做成這一套系統。

目前已設計好的功能有

分類項目
水溫主缸水溫監視與警報
補水桶水溫監視
水溫線異常警報
主缸過去一小時溫差過大警報
主缸與補水桶間溫差警報
pHpH值多點校正
pH值監視與警報
TDSTDS值監視與警報
控制器離線警報
情境維護模式
設備控制燈具依時間或實體按鍵開關
補水馬達低水位時自動停止
沉水馬達低水位時自動停止
沉水馬達在手動停止後依設定時間自動開啟
加熱棒依水溫自動開關
風扇依水溫或實體按鍵開關
設備意外啟動或停止警報
設備失效警報
補水手動補水
自動補水與停止自動補水
可補水的溫差設定
補水前的溫差與水位確認
其他漏水警報

整個系統架構如下

  • 用了二個ESP32接上所有感應器,包含水溫、TDS、pH和水位的監測,其中ESP32 Main這顆還掛上了一個LCD擺在魚缸邊來顯示水溫、TDS和pH值。所有數據透過MQTT發送到MQTT broker上給後續的Home Assistant使用。可惜的是因無法解決的電源干擾問題,pH模組需要獨立接上另一顆ESP32,這樣讀值才會正確,不然其實應該只需要一顆ESP32就夠了。
  • Home Assistant做為系統的核心,訂閱MQTT broker上的特定主題可以獲取感應器的讀值並將這些讀值依照需求改寫成sensor。
  • Home Assistant根據這些sensor的資料做出對應的自動化,比如說傳送手機警報或是自動操作設備。
  • Gosund WP12是一條可以連接Wi-Fi的延長線,是米家生態圈的一員,支援MIOT協議,在Home Assistant中可以經由XiaoMi MIOT整合接入,透過Home Assistant來操作延長器上設備。

ESP32與1602AA LCD的配置

特別講一下Gosund WP12這條延長線

  • 接入Home Assistant中可以看到六個插座的開關實體(switch entity)、一個USB的總開關實體(包含二個type-A與一個type-C)、一個延長線總開關實體、一個LCD燈光實體與一個即時功耗的實體,可惜的是沒有提供各別插座的功耗。
  • 原本這種設備就是外連到伺服器接收指令做動作,但接入Home Assistant後我習慣都會把它們關在防火牆內,但這條延長線在連接不到伺服器時會自己重啟,會變成短暫的「不可用」狀態,這對於自動化來講是有風險的。

在Home Assistant中,目前在lovelace中的介面長的像這樣。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端