Skip to content

plmilord/Hass.io-custom-component-spaclient

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hacs_badge GitHub release HA integration usage

Home Assistant custom component - Spa Client

Since the event where my spa emptied when it was -30°C outside and it took me a while to find out (luckily, more fear than harm!)... I tried to find a solution to better supervise my spa! Initially, I wanted to replicate my iPhone's Coast Spas App in Home Assistant so that I could create notifications, track, control and automate/script some stuff. I was also looking to replicate my home automation in the Home App to simplify my family's access to all my different platforms. Home Assistant was the perfect fit for that!

Spa Client is inspired by several similar projects and the work of many people. With version 2.0 and later, several elements have been improved in order to represent the App Coast Spas as faithfully as possible. During installation, all the components are created according to the configuration of your spa!

What you need

Installation

You can install this integration via HACS or manually.

HACS

Search for the Spa Client integration and choose install. Reboot Home Assistant and configure the Spa Client integration via the integrations page or press the blue button below.

Open your Home Assistant instance and start setting up a new integration.

Manual

Copy the custom_components/spaclient to your custom_components folder. Reboot Home Assistant and configure the Spa Client integration via the integrations page or press the blue button below.

Open your Home Assistant instance and start setting up a new integration.

Preview

Several elements have already been validated (with my spa), but several remain to be validated with your help. The following table shows what is known to be functional:

Entity Type Tested Programmed entity attributes
Auxiliary 1 Switch ? N/A
Auxiliary 2 Switch ? N/A
Blower Switch Off, On
Circulation Pump Binary sensor False, True
Filter Cycle 1 Begins Time N/A
Filter Cycle 1 Runs Time N/A
Filter Cycle 1 Status Binary sensor Begins, Runs, Ends
Filter Cycle 2 Switch 0, 1
Filter Cycle 2 Begins Time N/A
Filter Cycle 2 Runs Time N/A
Filter Cycle 2 Status Binary sensor Begins, Runs, Ends
Heat Mode Switch Ready, Rest, Ready in Rest
Hold Mode Switch Remaining Time
Last Known Fault Sensor N/A
Light 1 Light False, True
Light 2 Light ? False, True
Mister Switch ? Off, On
Pump 1 Switch Off, Low, High
Pump 2 Switch Off, Low, High
Pump 3 Switch Off, Low, High
Pump 4 Switch ? Off, Low, High
Pump 5 Switch ? Off, Low, High
Pump 6 Switch ? Off, Low, High
Spa Thermostat Climate N/A
Standby Mode Switch N/A
Temperature Range Switch Low, High
Option Tested
Entities polling rate (seconds) Not yet implemented!
Time sync with Home Assistant

✓ = Tested and working properly
? = Need your help to validate if this working properly (I don't have these options on my spa)

Task List

To do

  • Bring back the ability to configure this custom component via the entries in configuration.yaml
  • Change the way I update entities (from polling mode to subscribing to updates)

Completed

  • Add programming capability for filter cycles
  • Allow the installation of this custom component through HACS
  • Allow the installation of this custom component through the Home Assistant integrations menu (use of config_flow.py)
  • Create an icon and logo for this custom component
  • Customize entity IDs with Spa Client custom name to allow multiple integrations in the same Home Assistant instance
  • Implement the other spa messages (fault log, gfi test, etc.)
  • Investigate why it takes so long to load the component on an RPi (~2s on docker; ~85s on RPi3)
  • Manage the availability of entities while not connected

Inspiration / Credits