/ESP-Spa-Controller

Primary LanguageC++Apache License 2.0Apache-2.0

ESP Spa Controller

An Arduino based DIY controller for controlling a hot tub system with temperature reporting, pump and heater control, and Home Assistant MQTT based integration

Requirements

Hardware

This particular implementation uses a Wemos D1 Mini clone with built in ESP8266 module for WiFi connectivity

Wemos D1 Mini Pinout

Arduino Libraries

Home Assistant Configuration

mqtt:
  sensor:
  - name: "Spa Heater"
    state_topic: "homeassistant/spa/state"
    value_template: "{{ value_json.heater }}"
    
  switch:
  - name: "Spa Pump"
    icon: "mdi:pump"
    state_topic: "homeassistant/spa/state"
    value_template: "{{ value_json.pump }}"
    state_on: true
    state_off: false
    command_topic: "homeassistant/spa/set"
    payload_on: '{"pump":true}'
    payload_off: '{"pump":false}'
    
  number:
  - name: "Spa Temperature"
    device_class: "temperature"
    command_topic: "homeassistant/spa/set"
    command_template: '{"temperature": {{value}} }'
    min: 32
    max: 105
    state_topic: "homeassistant/spa/state"
    value_template: "{{ value_json.temperature }}"
    unit_of_measurement: "°F"