Unit Watering Home Assistant 連携ガイド

本チュートリアルでは、Unit Watering 静電容量式土壌水分検出・調節ユニットを Home Assistant に統合し、スマートな土壌モニタリングと自動灌水制御を実現する方法を説明します。

1. 準備

環境準備

  1. Home Assistant 公式ドキュメント を参照して Home Assistant をインストールします。
  2. ESPHome 公式ドキュメント を参照して ESPHome Device Builder アドオンをインストールします。

ハードウェア製品

  • Unit Watering
  • 互換性のあるコントローラー(Atom、Stamp、Stick、Core、Basic シリーズなど)
注意
Unit Watering を Home Assistant に統合するには、互換性のあるコントローラーが必要です。プロジェクトに応じてコントローラーとインターフェースピンを選択してください。

2. 設定の変更

静電容量式土壌水分センサーは電圧/ADC 値を報告するため、使用するメインコントローラーに合わせて ADC コンポーネントを有効化・設定する必要があります。

# Example configuration entry
sensor:
  - platform: adc
    pin: GPIOXX
    name: "xxxx"
    update_interval: 60s

例えば Atom Lite を使用する場合:

# Example configuration entry
sensor:
  - platform: adc
    pin: GPIO32
    name: "xxxx"
    update_interval: 60s

ウォーターポンプのスイッチを設定します:

switch:
  - platform: gpio
    pin: GPIO26
    name: "Water pump"

これにより、Home Assistant のフロントエンドからモーターのオン/オフを制御して給水を行うことができます。

完全な設定例:

sensor:
  - platform: adc
    pin: GPIO32
    id: voltage
    name: "Voltage"
    attenuation: auto
    update_interval: 10s

  - platform: template
    id: adc_reading
    name: "ADC Reading"
    lambda: |-
      return roundf( id(voltage).state * 1000.0f );
    update_interval: 10s

text_sensor:
  - platform: template
    name: "Soil Moisture"
    icon: "mdi:water-percent"
    lambda: |-
      const int ADC_DRY       = 1550;  // Dry threshold
      const int ADC_WET       = 1450;  // Wet threshold

      if ( id(adc_reading).state >= ADC_DRY) {
        return {"Dry"};
      } else if ( id(adc_reading).state >= ADC_WET) {
        return {"Wet"};
      } else {
        return {"Saturated"};
      }
    update_interval: 10s

switch:
  - platform: gpio
    pin: GPIO26
    id: water_pump
    name: "Water pump"
    icon: "mdi:water-pump"
    restore_mode: RESTORE_DEFAULT_OFF

template センサーは、実際の計測データに基づいて変更可能で、数値の範囲に応じて土壌の水分状態を報告します。

const int ADC_DRY  = 1550;  // Dry threshold
const int ADC_WET  = 1450;  // Wet threshold

一般的に、土壌が乾燥しているほど値は大きくなり、湿潤しているほど値は小さくなります。センサーの読み取り値を元にオートメーションを作成し、ポンプのオン/オフを制御することで、タイマー設定または土壌の水分量に応じた自動灌水を実現できます。

ESPHome でタイマーによるスイッチのオン制御を実装する場合は、time コンポーネントを参照してください。

例えば、平日の毎朝 7 時 30 分にポンプを起動し、1 分間給水した後に停止する設定:

# Example configuration entry
time:
  - platform: homeassistant
    id: homeassistant_time
    on_time:
      # Every morning on weekdays
      - seconds: 0
        minutes: 30
        hours: 7
        days_of_week: MON-FRI
        then:
          - switch.turn_on: water_pump
          - delay: 60s
          - switch.turn_off: water_pump

3. 使用開始

設定が完了すると、Home Assistant でセンサーデータを確認できます:

4. 関連動画

Page Tools
PDF
On This Page