HASSIO update

pull/87/head v1.3.5
shaun feakes 2019-08-11 13:23:28 -05:00
parent 90b2c19d62
commit 05ecbe97e4
3 changed files with 105 additions and 102 deletions

View File

@ -56,7 +56,7 @@ Designed to mimic AqualinkRS6 All Button keypad, and just like the keypad you ca
* Full support for homekit scenes, so can make a "Spa scene" to turn spa on, set spa heater particular temperature, turn spa blower on, etc etc)
### In Home Assistant
<img src="extras/HomeAssistant.png?raw=true" width="600"></img>
<img src="extras/HomeAssistant2.png?raw=true" width="800"></img>
## All Web interfaces.
* http://aqualink.ip/ <- (Standard WEB UI

View File

@ -1,75 +1,75 @@
#-----THESE Entries are entered in your Configuration.yaml
#---- AQUALINK THERMOSTATS (Freeze, Pool, Spa) -------------
climate:
- platform: honeywell
username: brian_sheedy@symantec.com
password: !secret honeywell_password
scan_interval: 2400
region: us
climate:
- platform: mqtt
name: Pool Heater
qos: 1
modes:
- 0
- 1
- "off"
- "heat"
send_if_off: true
# Uncomment if you want HA to set it to an inital temperature when it boots up.
# initial: 70
initial: 70
power_command_topic: "aqualinkd/Pool_Heater/set"
payload_on: "1"
payload_off: "0"
current_temperature_topic: "aqualinkd/Temperature/Pool"
min_temp: 70
max_temp: 90
mode_command_topic: "aqualinkd/Pool_Heater/set "
mode_command_topic: "aqualinkd/Pool_Heater/set"
mode_state_topic: "aqualinkd/Pool_Heater"
mode_state_template: "{{ value_json }}"
temperature_command_topic: "aqualinkd/Pool_Heater/setpoint/set "
mode_state_template: >-
{% set values1 = { '0':'off', '1':'heat'} %}
{{ values1[value] if value in values1.keys() else 'off' }}
temperature_command_topic: "aqualinkd/Pool_Heater/setpoint/set"
temperature_state_topic: "aqualinkd/Pool_Heater/setpoint"
temperature_state_template: "{{ value_json }}"
- platform: mqtt
name: Spa Heater
modes:
- 0
- 1
- "off"
- "heat"
send_if_off: true
# Uncomment if you want HA to set it to an inital temperature when it boots up.
# initial: 100
initial: 100
power_command_topic: "aqualinkd/Spa_Heater/set"
payload_on: "1"
payload_off: "0"
current_temperature_topic: "aqualinkd/Temperature/Spa"
min_temp: 80
max_temp: 104
mode_command_topic: "aqualinkd/Spa_Heater/set "
mode_state_topic: "aqualinkd/Spa_Heater"
mode_state_template: "{{ value_json }}"
temperature_command_topic: "aqualinkd/Spa_Heater/setpoint/set "
mode_command_topic: "aqualinkd/Spa_Heater/set"
mode_state_topic: "aqualinkd/Spa_Heater/enabled"
mode_state_template: >-
{% set values2 = { '0':'off', '1':'heat'} %}
{{ values2[value] if value in values2.keys() else 'off' }}
temperature_command_topic: "aqualinkd/Spa_Heater/setpoint/set"
temperature_state_topic: "aqualinkd/Spa_Heater/setpoint"
temperature_state_template: "{{ value_json }}"
- platform: mqtt
name: Freeze Protect
modes:
- 0
- 1
- "off"
- "cool"
send_if_off: true
# Uncomment if you want HA to set it to an inital temperature when it boots up.
# initial: 36
initial: 36
power_command_topic: "aqualinkd/Freeze_Protect/set"
payload_on: "1"
payload_off: "0"
current_temperature_topic: "aqualinkd/Temperature/Air"
min_temp: 36
min_temp: 34
max_temp: 42
mode_command_topic: "aqualinkd/Freeze_Protect/set "
mode_state_topic: "aqualinkd/Freeze_Protect"
mode_state_template: "{{ value_json }}"
temperature_command_topic: "aqualinkd/Freeze_Protect/setpoint/set "
mode_command_topic: "aqualinkd/Freeze_Protect/set"
mode_state_topic: "aqualinkd/Freeze_Protect/enabled"
mode_state_template: >-
{% set values = { '0':'off', '1':'cool'} %}
{{ values[value] if value in values.keys() else 'off' }}
temperature_command_topic: "aqualinkd/Freeze_Protect/setpoint/set"
temperature_state_topic: "aqualinkd/Freeze_Protect/setpoint"
temperature_state_template: "{{ value_json }}"
#---- AQUALINK GROUPS -------------
group:
@ -80,13 +80,15 @@ group:
- sensor.Air_Temp
- sensor.Pool_Temp
- sensor.Spa_Temp
- sensor.pool_check
- binary_sensor.Auto_Mode
- binary_sensor.AqualinkD
- sensor.battery_check
- binary_sensor.Pool_Heat
- binary_sensor.Spa_Heat
- binary_sensor.Freeze
- group.PL1
- group.SP1
- group.TC1
- group.SC1
PL1:
name: Pool Control
view: no
@ -96,11 +98,7 @@ group:
- switch.Low_Speed
- light.Pool_Light
- switch.Waterfall
- switch.Pool_Drain
- input_number.pooldrain
- switch.Pool_Fill
- input_number.poolfill
- switch.Pool_Mode
SP1:
name: Spa Control
view: no
@ -108,32 +106,23 @@ group:
- switch.Spa_Mode
- switch.Spa_Blower
- light.Spa_Light
TC1:
name: Temp Control
view: no
entities:
- binary_sensor.Pool_Heater_Enabled
- climate.Pool_Heater
- binary_sensor.Spa_Heater_Enabled
- climate.Spa_Heater
- binary_sensor.Freeze_Enabled
- climate.Freeze_Protect
SC1:
name: Automation
view: no
entities:
- script.summer_pool
- script.winter_pool
- script.waterfall
- script.spa
#---- AQUALINK LIGHTS -------------
Light:
light:
- platform: mqtt
name: "Spa Light"
state_topic: "aqualinkd/Aux_4"
command_topic: "aqualinkd/Aux_4/set "
command_topic: "aqualinkd/Aux_4/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -141,19 +130,20 @@ Light:
- platform: mqtt
name: "Pool Light"
state_topic: "aqualinkd/Aux_5"
command_topic: "aqualinkd/Aux_5/set "
command_topic: "aqualinkd/Aux_5/set"
qos: 1
payload_on: "1"
payload_off: "0"
retain: false
#----AQUALINK SWITCHES
switch:
- platform: mqtt
name: "Freeze"
state_topic: "aqualinkd/Freeze_Protect"
command_topic: "aqualinkd/Freeze_Protect/set "
command_topic: "aqualinkd/Freeze_Protect/set"
qos: 1
payload_on: "0"
payload_off: "1"
@ -161,7 +151,7 @@ switch:
- platform: mqtt
name: "Filter Pump"
state_topic: "aqualinkd/Filter_Pump"
command_topic: "aqualinkd/Filter_Pump/set "
command_topic: "aqualinkd/Filter_Pump/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -169,7 +159,7 @@ switch:
- platform: mqtt
name: "Waterfall"
state_topic: "aqualinkd/Solar_Heater"
command_topic: "aqualinkd/Solar_Heater/set "
command_topic: "aqualinkd/Solar_Heater/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -177,7 +167,7 @@ switch:
- platform: mqtt
name: "Spa Mode"
state_topic: "aqualinkd/Spa_Mode"
command_topic: "aqualinkd/Spa_Mode/set "
command_topic: "aqualinkd/Spa_Mode/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -185,7 +175,7 @@ switch:
- platform: mqtt
name: "Cleaner"
state_topic: "aqualinkd/Aux_1"
command_topic: "aqualinkd/Aux_1/set "
command_topic: "aqualinkd/Aux_1/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -193,7 +183,7 @@ switch:
- platform: mqtt
name: "Low Speed"
state_topic: "aqualinkd/Aux_2"
command_topic: "aqualinkd/Aux_2/set "
command_topic: "aqualinkd/Aux_2/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -201,7 +191,7 @@ switch:
- platform: mqtt
name: "Spa Blower"
state_topic: "aqualinkd/Aux_3"
command_topic: "aqualinkd/Aux_3/set "
command_topic: "aqualinkd/Aux_3/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -209,7 +199,7 @@ switch:
- platform: mqtt
name: "Pool Heater"
state_topic: "aqualinkd/Pool_Heater"
command_topic: "aqualinkd/Pool_Heater/set "
command_topic: "aqualinkd/Pool_Heater/set"
qos: 1
payload_on: "1"
payload_off: "0"
@ -217,104 +207,117 @@ switch:
- platform: mqtt
name: "Spa Heater"
state_topic: "aqualinkd/Spa_Heater"
command_topic: "aqualinkd/Spa_Heater/set "
command_topic: "aqualinkd/Spa_Heater/set"
qos: 1
payload_on: "1"
payload_off: "0"
retain: false
#----AQUALINK SENSORS
sensor:
- platform: mqtt
state_topic: "aqualinkd/Aux_1"
name: "Pool State"
value_template: "{{ value }}"
- platform: mqtt
state_topic: "aqualinkd/Temperature/Air"
name: "Air Temp"
value_template: "{{ value_json }}"
unit_of_measurement: "°F"
unit_of_measurement: "°F"
- platform: mqtt
state_topic: "aqualinkd/Temperature/Spa"
name: "Spa Temp"
value_template: "{{ value_json }}"
unit_of_measurement: "°F"
unit_of_measurement: "°F"
- platform: mqtt
state_topic: "aqualinkd/Temperature/Pool"
name: "Pool Temp"
value_template: "{{ value_json }}"
unit_of_measurement: "°F"
unit_of_measurement: "°F"
- platform: mqtt
state_topic: "aqualinkd/Pool_Heater/setpoint"
name: "Pool Temp Set"
value_template: "{{ value_json }}"
unit_of_measurement: "°F"
unit_of_measurement: "°F"
- platform: mqtt
state_topic: "aqualinkd/Spa_Heater/setpoint"
name: "Spa Temp Set"
value_template: "{{ value_json }}"
unit_of_measurement: "°F"
- platform: command_line
name: Battery
command: 'curl -k --silent "http://YOUR_IP_ADDRESS:PORT?command=status" | jq -r ".battery"'
value_template: "{{ value }}"
unit_of_measurement: "°F"
- platform: template
# This simple sensor shows the current state of the Aqualink battery...
- platform: template
sensors:
battery_check:
value_template: >-
{%- if states('sensor.Battery') == "ok" %}
{%- if states('binary_sensor.Battery') == "on" %}
OK
{% else %}
LOW
{%- endif %}
icon_template: >-
{%- if states('sensor.Battery') == "ok" %}
{%- if states('binary_sensor.Battery') == "on" %}
mdi:battery
{% else %}
mdi:battery-alert
{%- endif %}
friendly_name: 'Battery'
friendly_name: 'Pool Batt'
#----AQUALINK BINARY SENSORS
binary_sensor:
- platform: mqtt
state_topic: "aqualinkd/Pool_Heater/enabeled"
name: "Pool Heater Enabled"
state_topic: "aqualinkd/Pool_Heater/enabled"
name: "Pool Heat"
qos: 0
payload_on: "1"
payload_off: "0"
- platform: mqtt
state_topic: "aqualinkd/Spa_Heater/enabeled"
name: "Spa Heater Enabled"
state_topic: "aqualinkd/Spa_Heater/enabled"
name: "Spa Heat"
qos: 0
payload_on: "1"
payload_off: "0"
- platform: mqtt
state_topic: "aqualinkd/Freeze_Protect"
name: "Freeze Enabled"
name: "Freeze"
qos: 0
payload_on: "1"
payload_off: "0"
- platform: mqtt
state_topic: "aqualinkd/Alive"
name: "AqualinkD"
qos: 0
payload_on: "1"
payload_off: "0"
- platform: mqtt
state_topic: "aqualinkd/Battery"
name: "Battery"
qos: 0
payload_on: "1"
payload_off: "0"
#-----THESE Entries are entered in your automation.yaml file
#-----Automation Entries---------
- alias: 'Notify of Low Pool Battery'
initial_state: 'on'
trigger:
platform: state
entity_id: sensor.battery_check
from: 'OK'
to: 'LOW'
condition:
condition: time
after: '08:15:00'
before: '16:00:00'
action:
automation:
- alias: 'Notify of Low Pool Battery'
initial_state: 'on'
trigger:
platform: state
entity_id: sensor.battery_check
from: 'OK'
to: 'LOW'
condition:
condition: time
after: '08:15:00'
before: '16:00:00'
action:
# Change notify.ios.brianphone to whatever your phone name is...
- service: notify.ios_brianphone
data:
message: 'The Aqualink Pool Controller Battery is LOW'
title: 'Home Assistant'
- service: notify.ios_brianphone
data:
message: 'The Aqualink Pool Controller Battery is LOW'
title: 'Home Assistant'

BIN
extras/HomeAssistant2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB