Integration for SpaNET (SpaLINK) request

I’ve taken your fantastic code (it saved me a bunch of time) and turned it into an ESPHome climate external component. Using the simple-thermostat card, this is what I end up with:

image

Right hacked up your code, and then made a wrapper class for the ESPHome. C++ is not my first language, but it seems to work thus far. Will upload to github in the next few days for people to comment on how bad my code is :slight_smile:

It’s worth noting for other readers - this is for an ESP connected to the spa - not for a factory SPA-Link device.

FYI, Spanet have added MQTT support for Home Assistant, incase you want to go that route.

Cheers

$400 for the official wifi module… I think doing something with an ESP32 and ESPHome would be ideal!
@bnutt did you put together an ESPHome version?

I did - my code is here. Put that in esphome > my_components > spanet. Provided with no warranty, your mileage may vary :slight_smile: Works a treat for me though, enabled me to dynamically set my spa operating mode to make the most of free power times of the day (and solar).

esphome code:

external_components:
  - source: my_components
    components: [ spanet ]

climate:
 - platform: spanet
   name: "spanet_spa"
   hardware_uart: UART2
   baud_rate: 38400
   update_interval: 30s

ha dashboard code, using simple-thermostat HACS adding, to make the climate entity behave how I wanted it to (shown in my previous post):

type: custom:simple-thermostat
entity: climate.spanet_spa
step_size: '0.5'
layout:
  step: row
  mode:
    names: true
    headings: false
hide:
  temperature: true
  state: true
control:
  hvac:
    'off': false
    heat: false
    cool: false
    dry: false
    fan_only: false
    heat_cool: false
  fan:
    'off':
      name: 'off'
      icon: mdi:fan-off
    low:
      name: low
      icon: mdi:fan-speed-1
    high:
      name: high
      icon: mdi:fan-speed-2
    auto:
      name: auto
      icon: mdi:fan-auto
decimals: '1'
sensors:
  - entity: sensor.spa_estimated_temperature
    icon: mdi:thermometer-auto
  - entity: climate.spanet_spa
    icon: mdi:heat-wave
    attribute: hvac_action
header: false
`

Just as a FYI, the SpaNET support guys in Australia seem pretty good. They sold me a V3 (ESP32-based with MQTT support) for half price (AU$200 vs AU$400) and I sold my V2 on Facebook Marketplace for AU$150 so it only cost me AU$50 to upgrade.

I was a bit concerned that the V2 has a pretty solid antenna but the V3 uses the antenna printed on the circuit board, but it seems to be working with MQTT pretty well so far.

1 Like

Thanks @bnutt could you also share the details about what hardware you used?

I followed this guy’s hardware guide for the hardware but used an ESP32 and mine wouldn’t work with the resistors in-line like he had them - but works fine without any resistors. Basically just an ESP, voltage reg (couple of bucks from ali) and an RJ45 cable.

Hey All,

I’ve written a custom component that works with the new SpaNET Cloud API. This will make your v2 and v3 WiFi modules compatible with Home Assistant.

You can grab the component here and just drop it into your custom_components folder: GitHub - lloydw/hass-spanet: HomeAssistant integration for SpaNet

Let me know if you get it work.

Thanks!

3 Likes

This has now been updated to support Pumps. If you haven’t tried it yet, give it a go and let me know how it works for you.

Great Job !!!
Works very well and beside being able to set the temperature, other settings can be done as well as info displayed.

I gave noticed that the work is in progress, even today, to update it.
Maybe, soon will be able to control the lights also… The limits can be readjusted anytime…

Thank you for your efforts, your time and interest!

Great job! Thank yoy!

In order to install it, use the following steps:

Requirements

This integration requires hardware that uses the SpaLink from SpaNET equipment.
I can confirm that it is working with v.2 of the SpaLink devices.

Installation

The easiest way to get going is to install this integration in Home Assistant using HACS as a Custom Repository. In the custom repository url use the following url https://github.com/lloydw/hass-spanet.

As an alternative you may install it manually by copying the contents of the custom_components folder to the config/custom_components directory of your Home Assistant installation.
A restart of Home Assistant is required after the download of the integration.

Proceed to Settings > Devices & Services > add Integration and select the SpaNET.

Good job. Running with v2 Wi-Fi box. On version 3.1

Lloydw.
I cant thank you enough for this integration. I was going to have to resort to spending about $360au on the new V3 wifi module just so i can integrate it onto HA.

Installed the Plugin from your link and suprise suprise it shows every entity.
Thankyou Very Much

1 Like

Count.Zilch.
How did you manage $200. They have it on their Spanet web store for over $400. Cheapest i can find is about $375 from Pool & Spa warehouse. Cheers

I emailed support and said that I was bummed that mine didn’t have MQTT, and they emailed back and offered me a unit for half price. So I bought it for $200, and sold the old version for $150. The guys there seemed really helpful.

1 Like

Awesome! To be clear though, it’s a cloud-based integration yeah?

I did the same yesterday.
They sent me a Proforma invoice for $230 for the V3 unit.

Cheers

1 Like

For what it is worth, there is an active discord chat here about enabling local integration of spanet spa pool controllers into home automation systems (by way of MQTT) here: Spa Control

There is also a pre-built PCB that can connect into the Spanet controllers (that I built, and is being used by a number of people) available for purchase here: https://store.jonathangiles.net/product/spa-control-board/

1 Like

Just ordered one! Thanks Jonathan!!!

They appear to be on backorder… Is there an ETA for them to come back into stock?
I’d rather pay the NZ$88 to you, than $400+ for the official one.