mirror of https://github.com/sfeakes/AqualinkD.git
323 lines
8.3 KiB
Plaintext
323 lines
8.3 KiB
Plaintext
#-----THESE Entries are entered in your Configuration.yaml
|
|
|
|
#---- AQUALINK THERMOSTATS (Freeze, Pool, Spa) -------------
|
|
|
|
climate:
|
|
|
|
- platform: mqtt
|
|
name: Pool Heater
|
|
modes:
|
|
- "off"
|
|
- "heat"
|
|
send_if_off: true
|
|
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_state_topic: "aqualinkd/Pool_Heater"
|
|
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:
|
|
- "off"
|
|
- "heat"
|
|
send_if_off: true
|
|
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/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:
|
|
- "off"
|
|
- "cool"
|
|
send_if_off: true
|
|
initial: 36
|
|
power_command_topic: "aqualinkd/Freeze_Protect/set"
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
current_temperature_topic: "aqualinkd/Temperature/Air"
|
|
min_temp: 34
|
|
max_temp: 42
|
|
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:
|
|
|
|
ARS:
|
|
name: Pool
|
|
view: yes
|
|
entities:
|
|
- sensor.Air_Temp
|
|
- sensor.Pool_Temp
|
|
- sensor.Spa_Temp
|
|
- binary_sensor.AqualinkD
|
|
- sensor.battery_check
|
|
- binary_sensor.Pool_Heat
|
|
- binary_sensor.Spa_Heat
|
|
- binary_sensor.Freeze
|
|
- group.PL1
|
|
- group.SP1
|
|
- group.TC1
|
|
|
|
PL1:
|
|
name: Pool Control
|
|
view: no
|
|
entities:
|
|
- switch.Filter_Pump
|
|
- switch.Cleaner
|
|
- switch.Low_Speed
|
|
- light.Pool_Light
|
|
- switch.Waterfall
|
|
|
|
SP1:
|
|
name: Spa Control
|
|
view: no
|
|
entities:
|
|
- switch.Spa_Mode
|
|
- switch.Spa_Blower
|
|
- light.Spa_Light
|
|
|
|
TC1:
|
|
name: Temp Control
|
|
view: no
|
|
entities:
|
|
- climate.Pool_Heater
|
|
- climate.Spa_Heater
|
|
- climate.Freeze_Protect
|
|
|
|
#---- AQUALINK LIGHTS -------------
|
|
|
|
light:
|
|
|
|
- platform: mqtt
|
|
name: "Spa Light"
|
|
state_topic: "aqualinkd/Aux_4"
|
|
command_topic: "aqualinkd/Aux_4/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Pool Light"
|
|
state_topic: "aqualinkd/Aux_5"
|
|
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"
|
|
qos: 1
|
|
payload_on: "0"
|
|
payload_off: "1"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Filter Pump"
|
|
state_topic: "aqualinkd/Filter_Pump"
|
|
command_topic: "aqualinkd/Filter_Pump/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Waterfall"
|
|
state_topic: "aqualinkd/Solar_Heater"
|
|
command_topic: "aqualinkd/Solar_Heater/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Spa Mode"
|
|
state_topic: "aqualinkd/Spa_Mode"
|
|
command_topic: "aqualinkd/Spa_Mode/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Cleaner"
|
|
state_topic: "aqualinkd/Aux_1"
|
|
command_topic: "aqualinkd/Aux_1/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Low Speed"
|
|
state_topic: "aqualinkd/Aux_2"
|
|
command_topic: "aqualinkd/Aux_2/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Spa Blower"
|
|
state_topic: "aqualinkd/Aux_3"
|
|
command_topic: "aqualinkd/Aux_3/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Pool Heater"
|
|
state_topic: "aqualinkd/Pool_Heater"
|
|
command_topic: "aqualinkd/Pool_Heater/set"
|
|
qos: 1
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
retain: false
|
|
- platform: mqtt
|
|
name: "Spa Heater"
|
|
state_topic: "aqualinkd/Spa_Heater"
|
|
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"
|
|
- platform: mqtt
|
|
state_topic: "aqualinkd/Temperature/Spa"
|
|
name: "Spa Temp"
|
|
value_template: "{{ value_json }}"
|
|
unit_of_measurement: "°F"
|
|
- platform: mqtt
|
|
state_topic: "aqualinkd/Temperature/Pool"
|
|
name: "Pool Temp"
|
|
value_template: "{{ value_json }}"
|
|
unit_of_measurement: "°F"
|
|
- platform: mqtt
|
|
state_topic: "aqualinkd/Pool_Heater/setpoint"
|
|
name: "Pool Temp Set"
|
|
value_template: "{{ value_json }}"
|
|
unit_of_measurement: "°F"
|
|
- platform: mqtt
|
|
state_topic: "aqualinkd/Spa_Heater/setpoint"
|
|
name: "Spa Temp Set"
|
|
value_template: "{{ value_json }}"
|
|
unit_of_measurement: "°F"
|
|
|
|
# This simple sensor shows the current state of the Aqualink battery...
|
|
- platform: template
|
|
sensors:
|
|
battery_check:
|
|
value_template: >-
|
|
{%- if states('binary_sensor.Battery') == "on" %}
|
|
OK
|
|
{% else %}
|
|
LOW
|
|
{%- endif %}
|
|
icon_template: >-
|
|
{%- if states('binary_sensor.Battery') == "on" %}
|
|
mdi:battery
|
|
{% else %}
|
|
mdi:battery-alert
|
|
{%- endif %}
|
|
friendly_name: 'Pool Batt'
|
|
|
|
#----AQUALINK BINARY SENSORS
|
|
|
|
binary_sensor:
|
|
|
|
- platform: mqtt
|
|
state_topic: "aqualinkd/Pool_Heater/enabled"
|
|
name: "Pool Heat"
|
|
qos: 0
|
|
payload_on: "1"
|
|
payload_off: "0"
|
|
- platform: mqtt
|
|
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"
|
|
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"
|
|
|
|
#-----Automation Entries---------
|
|
|
|
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' |