Please show the packages section of your config.yaml
HA NeoPool MQTT: integration of Tasmota NeoPool (for Sugar Valley, Hayward/Aquarite, Bayrol devices)
itâs your package : âha_neopool_mqtt_package.yamlâ
# HA NeoPool MQTT v3.5
# Tasmota NeoPool module integration via MQTT
# by @alexdelprete
# repo: https://github.com/alexdelprete/HA-NeoPool-MQTT
# starting discussion: https://github.com/arendst/Tasmota/discussions/19811
mqtt:
sensor:
- unique_id: "neopool_mqtt_system_model"
name: "NeoPool MQTT System Model"
state_topic: "tele/SmartPool/SENSOR"
icon: mdi:information-outline
value_template: "{{ value_json.NeoPool.Type }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_water_temperature"
name: "NeoPool MQTT Water Temperature"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Temperature }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_data"
name: "NeoPool MQTT pH Data"
device_class: ph
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.pH.Data }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_state"
name: "NeoPool MQTT pH State"
icon: mdi:ph
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 0:'No Alarm', 1:'pH too high', 2:'pH too low', 3:'Pump exceeded working time', 4:'pH high', 5:'pH low', 6:'Tank level low' } %}
{{ values[value_json.NeoPool.pH.State] if value_json.NeoPool.pH.State in values.keys() }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_pump"
name: "NeoPool MQTT pH Pump"
icon: mdi:ph
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 0:'Control Off', 1:'Active', 2:'Not Active' } %}
{{ values[value_json.NeoPool.pH.Pump] if value_json.NeoPool.pH.Pump in values.keys() }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_redox_data"
name: "NeoPool MQTT Redox Data"
device_class: voltage
unit_of_measurement: "mV"
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Redox.Data }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_data"
name: "NeoPool MQTT Hydrolysis Data"
unit_of_measurement: "%"
icon: mdi:water-opacity
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Percent.Data | round(0) }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_data_gh"
name: "NeoPool MQTT Hydrolysis Data (g/h)"
unit_of_measurement: "g/h"
icon: mdi:water-opacity
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Data | round(1) }}"
availability_topic: "tele/SmartPool/SENSOR"
availability_template: >-
{% if value_json.NeoPool.Hydrolysis.Unit == "g/h" and states('sensor.neopool_mqtt_system_model') != 'unavailable' %}
Online
{% else %}
Offline
{% endif %}
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_state"
name: "NeoPool MQTT Hydrolysis State"
icon: mdi:water-opacity
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 'OFF':'Cell Inactive', 'FLOW':'Flow Alarm', 'POL1':'Pol1 active', 'POL2':'Pol2 active' } %}
{{ values[value_json.NeoPool.Hydrolysis.State | upper] | string if value_json.NeoPool.Hydrolysis.State | upper in values.keys() }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_version"
name: "NeoPool MQTT Powerunit Version"
icon: mdi:information-outline
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit.Version }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_nodeid"
name: "NeoPool MQTT Powerunit NodeID"
icon: mdi:information-outline
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit.NodeID }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_5v"
name: "NeoPool MQTT Powerunit 5V"
device_class: voltage
state_class: measurement
unit_of_measurement: "V"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit['5V'] }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_12v"
name: "NeoPool MQTT Powerunit 12V"
device_class: voltage
state_class: measurement
unit_of_measurement: "V"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit['12V'] }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_24v"
name: "NeoPool MQTT Powerunit 24-30V"
device_class: voltage
state_class: measurement
unit_of_measurement: "V"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit['24-30V'] }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_powerunit_4ma"
name: "NeoPool MQTT Powerunit 4-20mA"
device_class: current
state_class: measurement
unit_of_measurement: "mA"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Powerunit['4-20mA'] }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_runtime_total"
name: "NeoPool MQTT Hydrolysis Runtime Total"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set duration = value_json.NeoPool.Hydrolysis.Runtime.Total %}
{{ (duration.split('T')[0] | int * 24) + (duration.split('T')[1].split(':')[0] | int) + (duration.split('T')[1].split(':')[1] | int / 60) | round(1) }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_runtime_part"
name: "NeoPool MQTT Hydrolysis Runtime Part"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set duration = value_json.NeoPool.Hydrolysis.Runtime.Part %}
{{ (duration.split('T')[0] | int * 24) + (duration.split('T')[1].split(':')[0] | int) + (duration.split('T')[1].split(':')[1] | int / 60) | round(1) }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_runtime_pol1"
name: "NeoPool MQTT Hydrolysis Runtime Pol1"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set duration = value_json.NeoPool.Hydrolysis.Runtime.Pol1 %}
{{ (duration.split('T')[0] | int * 24) + (duration.split('T')[1].split(':')[0] | int) + (duration.split('T')[1].split(':')[1] | int / 60) | round(1) }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_runtime_pol2"
name: "NeoPool MQTT Hydrolysis Runtime Pol2"
device_class: duration
state_class: measurement
unit_of_measurement: "h"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set duration = value_json.NeoPool.Hydrolysis.Runtime.Pol2 %}
{{ (duration.split('T')[0] | int * 24) + (duration.split('T')[1].split(':')[0] | int) + (duration.split('T')[1].split(':')[1] | int / 60) | round(1) }}
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_runtime_pol_changes"
name: "NeoPool MQTT Hydrolysis Runtime Polarity Changes"
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Runtime.Changes }}"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
# Connection diagnostic sensors
- unique_id: "neopool_mqtt_conndiag_system_requests"
name: "NeoPool MQTT Connection System Requests"
icon: mdi:source-branch-check
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Connection.MBRequests }}"
availability_topic: "tele/SmartPool/SENSOR"
availability_template: >-
{% if value_json.NeoPool.Connection.MBRequests is defined and states('sensor.neopool_mqtt_system_model') != 'unavailable' %}
Online
{% else %}
Offline
{% endif %}
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_conndiag_system_responses"
name: "NeoPool MQTT Connection System Responses"
icon: mdi:source-branch-check
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Connection.MBNoError }}"
availability_topic: "tele/SmartPool/SENSOR"
availability_template: >-
{% if value_json.NeoPool.Connection.MBNoError is defined and states('sensor.neopool_mqtt_system_model') != 'unavailable' %}
Online
{% else %}
Offline
{% endif %}
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_conndiag_missed_system_responses"
name: "NeoPool MQTT Connection Missed System Responses"
icon: mdi:source-branch-check
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Connection.MBNoResponse }}"
availability_topic: "tele/SmartPool/SENSOR"
availability_template: >-
{% if value_json.NeoPool.Connection.MBNoResponse is defined and states('sensor.neopool_mqtt_system_model') != 'unavailable' %}
Online
{% else %}
Offline
{% endif %}
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_conndiag_outofrange_system_responses"
name: "NeoPool MQTT Connection Out of Range System Responses"
icon: mdi:source-branch-check
state_class: measurement
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Connection.DataOutOfRange }}"
availability_topic: "tele/SmartPool/SENSOR"
availability_template: >-
{% if value_json.NeoPool.Connection.DataOutOfRange is defined and states('sensor.neopool_mqtt_system_model') != 'unavailable' %}
Online
{% else %}
Offline
{% endif %}
payload_available: "Online"
payload_not_available: "Offline"
binary_sensor:
- unique_id: "neopool_mqtt_modules_ph"
name: "NeoPool MQTT pH Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.pH }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_modules_redox"
name: "NeoPool MQTT Redox Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.Redox }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_modules_hydrolysis"
name: "NeoPool MQTT Hydrolysis Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.Hydrolysis }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_modules_chlorine"
name: "NeoPool MQTT Chlorine Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.Chlorine }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_modules_conductivity"
name: "NeoPool MQTT Conductivity Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.Conductivity }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_modules_ionization"
name: "NeoPool MQTT Ionization Module"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Modules.Ionization }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_ph_state"
name: "NeoPool MQTT Relay pH State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[0] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_filtration_state"
name: "NeoPool MQTT Relay Filtration State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[1] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_light_state"
name: "NeoPool MQTT Relay Light State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[2] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_aux1_state"
name: "NeoPool MQTT Relay AUX1 State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[3] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_aux2_state"
name: "NeoPool MQTT Relay AUX2 State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[4] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_aux3_state"
name: "NeoPool MQTT Relay AUX3 State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[5] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_aux4_state"
name: "NeoPool MQTT Relay AUX4 State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.State[6] }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_relay_acid_state"
name: "NeoPool MQTT Relay Acid State"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Relay.Acid }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_ctrl_fl1"
name: "NeoPool MQTT pH FL1"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.pH.FL1 }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_ctrl_fl1"
name: "NeoPool MQTT Hydrolysis FL1"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.FL1 }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_ctrl_fl1_water_flow"
name: "NeoPool MQTT Hydrolysis Water Flow"
icon: mdi:air-filter
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.FL1 }}"
payload_on: "0"
payload_off: "1"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_tank_level"
name: "NeoPool MQTT pH Tank Level"
device_class: problem
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.pH.Tank }}"
payload_on: "0"
payload_off: "1"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_cover"
name: "NeoPool MQTT Hydrolysis Cover"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Cover }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_low_production"
name: "NeoPool MQTT Hydrolysis Low Production"
device_class: problem
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Low }}"
payload_on: "1"
payload_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
switch:
- unique_id: "neopool_mqtt_filtration_switch"
name: "NeoPool MQTT Filtration Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPFiltration"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Filtration.State }}"
optimistic: false
retain: false
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_light_switch"
name: "NeoPool MQTT Light Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPLight"
state_topic: "tele/SmartPool/SENSOR"
optimistic: false
retain: false
value_template: "{{ value_json.NeoPool.Light }}"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_aux1_switch"
name: "NeoPool MQTT AUX1 Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPAux1"
state_topic: "tele/SmartPool/SENSOR"
optimistic: false
retain: false
value_template: "{{ value_json.NeoPool.Relay.Aux[0] }}"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_aux2_switch"
name: "NeoPool MQTT AUX2 Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPAux2"
state_topic: "tele/SmartPool/SENSOR"
optimistic: false
retain: false
value_template: "{{ value_json.NeoPool.Relay.Aux[1] }}"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_aux3_switch"
name: "NeoPool MQTT AUX3 Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPAux3"
state_topic: "tele/SmartPool/SENSOR"
optimistic: false
retain: false
value_template: "{{ value_json.NeoPool.Relay.Aux[2] }}"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_aux4_switch"
name: "NeoPool MQTT AUX4 Switch"
device_class: switch
command_topic: "cmnd/SmartPool/NPAux4"
state_topic: "tele/SmartPool/SENSOR"
optimistic: false
retain: false
value_template: "{{ value_json.NeoPool.Relay.Aux[3] }}"
payload_on: "1"
payload_off: "0"
state_on: "1"
state_off: "0"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
select:
- unique_id: "neopool_mqtt_filtration_mode"
name: "NeoPool MQTT Filtration Mode"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 0:'Manual', 1:'Auto', 2:'Heating', 3:'Smart', 4:'Intelligent', 13:'Backwash' } %}
{{ values[value_json.NeoPool.Filtration.Mode] if value_json.NeoPool.Filtration.Mode in values.keys() }}
command_topic: "cmnd/SmartPool/NPFiltrationmode"
command_template: >-
{% set values = { 'Manual':0, 'Auto':1, 'Heating':2, 'Smart':3, 'Intelligent':4, 'Backwash':13 } %}
{{ values[value] | string if value in values.keys() }}
optimistic: false
retain: false
options: ["Manual", "Auto", "Heating", "Smart", "Intelligent", "Backwash"]
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_filtration_speed"
name: "NeoPool MQTT Filtration Speed"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 1:'Slow', 2:'Medium', 3:'Fast' } %}
{{ values[value_json.NeoPool.Filtration.Speed] if value_json.NeoPool.Filtration.Speed in values.keys() }}
command_topic: "cmnd/SmartPool/NPFiltrationSpeed"
command_template: >-
{% set values = { 'Slow':1, 'Medium':2, 'Fast':3 } %}
{{ values[value] | string if value in values.keys() }}
optimistic: false
retain: false
options: ["Slow", "Medium", "Fast"]
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_boost_mode"
name: "NeoPool MQTT Boost Mode"
state_topic: "tele/SmartPool/SENSOR"
value_template: >-
{% set values = { 0:'Off', 1:'On', 2:'On (Redox)' } %}
{{ values[value_json.NeoPool.Hydrolysis.Boost] if value_json.NeoPool.Hydrolysis.Boost in values.keys() }}
command_topic: "cmnd/SmartPool/NPBoost"
command_template: >-
{% set values = { 'Off':0, 'On':1, 'On (Redox)':2 } %}
{{ values[value] | string if value in values.keys() }}
optimistic: false
retain: false
options: ["Off", "On", "On (Redox)"]
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
number:
- unique_id: "neopool_mqtt_ph_min"
name: "NeoPool MQTT pH Min"
device_class: ph
min: 0
max: 14
step: 0.1
mode: "slider"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.pH.Min }}"
command_topic: "cmnd/SmartPool/NPpHMin"
optimistic: false
retain: false
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_ph_max"
name: "NeoPool MQTT pH Max"
device_class: ph
min: 0
max: 14
step: 0.1
mode: "slider"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.pH.Max }}"
command_topic: "cmnd/SmartPool/NPpHMax"
optimistic: false
retain: false
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_redox_setpoint"
name: "NeoPool MQTT Redox Setpoint"
device_class: voltage
unit_of_measurement: "mV"
min: 0
max: 1000
step: 1
mode: "slider"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Redox.Setpoint }}"
command_topic: "cmnd/SmartPool/NPRedox"
optimistic: false
retain: false
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- unique_id: "neopool_mqtt_hydrolysis_setpoint"
name: "NeoPool MQTT Hydrolysis Setpoint"
unit_of_measurement: "%"
min: 0
max: 100
step: 1
mode: "slider"
state_topic: "tele/SmartPool/SENSOR"
value_template: "{{ value_json.NeoPool.Hydrolysis.Percent.Setpoint }}"
command_topic: "cmnd/SmartPool/NPHydrolysis"
command_template: "{{ value|string + ' %' }}"
optimistic: false
retain: false
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
button:
- unique_id: "neopool_mqtt_clear_error_state"
name: "NeoPool MQTT Clear Error State"
command_topic: "cmnd/SmartPool/NPEscape"
entity_category: "config"
availability_topic: "tele/SmartPool/LWT"
payload_available: "Online"
payload_not_available: "Offline"
I didnât ask for the package file, but HAâs config file, that should contain the reference to the packages.
Example:
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
homeassistant:
packages: !include_dir_named packages/
Oups sorry Alessandro
Thanks to your example, I just found the error. I had an extra âmergeâ in the config.yaml.
I donât have any feedback.
My config is Atom S3 Lite + Tail485
Probably the GPIO ?. Should I put neopool TX / RX?
Thank you very much for your help.
If you use the Tail485 you should use:
AtomS3 Lite + Tail485: GPIO2: NeoPool TX - GPIO1: NeoPool RX
If used with the Atomic RS485 base:
AtomS3 Lite + Atomic RS485 Base: GPIO6: NeoPool TX - GPIO5: NeoPool RX
Put all the other GPIOs to None
, if not needed for other needs.
Further info in this issue on the repo.
@curzon01: what would be the template for S3+Tail485? Weâre missing it in the documentation and OP of this thread.
Great! It works.
Youâre the best.
Is there another firmware or does it have no effect on the module type selection?
Because itâs not an ATOMIC RS485 but a TAIL485.
Itâs just a description. The template you used is not for your hw combination
I asked @curzon01 if he can share the correct template so I can add it to the docs.
Once the template is published you can update it.
Itâs simply the same as for AtomS3 Lite + Atomic RS485 Base but moving the 2 GPIOs from position 5/6 to 1/2:
Template {âNAMEâ:âAtomS3 Lite + Tail485â,âGPIOâ:[0,7008,6976,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],âFLAGâ:0,âBASEâ:1}
Thanks, I never invested enough time on Tasmota docs regarding template, so I preferred asking the master.
But wait, looking at Atom Lite + Atomic RS485 template, I see positions 15/18. Is it wrong?
Atom Lite + Atomic RS485 Base (GPIO19: NeoPool TX / GPIO22: NeoPool RX)
Template {"NAME":"NeoPool Atom Lite + Atomic RS485 Base","GPIO":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6976,0,0,7008,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
Also the Atom Lite + Tail485 looks wrong:
Atom Lite + Tail485 (GPIO26: NeoPool TX / GPIO32: NeoPool RX)
Template {"NAME":"NeoPool Atom Lite + Tail485","GPIO":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,6976,0,0,0,0,0,7008,1,0,0,0,0,0,0],"FLAG":0,"BASE":1}
Yes, I confirm that it works, itâs just a question of perfectâŠThank You
I will not recite above, is perfect
Thatâs correct.
Be careful, Atom Lite is not a MStack S3 and counting of Tasmota GPIO template arrays for GPIOs are different for these chip types. I remember weâd already checked this in the past.
thatâs fine, my comment was about the templates we use for other MStack module combinations
calm down.
weâre discussing about other things.
I didnât remember.
Itâs not very intuitive to me, thatâs why I prefer asking you. The important thing is we didnât make mistakes in documentation. Thanks.
Hello,
Thanks for this wonderful job, it works perfectly with my new Aquarite plus touch, I see that there is some comment around the conductivity probe, iâm trying to understand how to enable it, I did not find any kit to enable it whereas the notice say it is possibleâŠ
What I did so far is to put the RX chip card to the CD slot (without U7 on the side) then the screen show the conductivity so I buy a EC probe that I have connected to the CD pin, unfortunately I get a value of 0, so now I wonder if there is a dedicated chip? The probe must be the very expensive sell by hayward?
If you have any hint it would be great
Thanks a lot
Hello, great job Alex, it was quite easy to follow and to implement.
I have a Aquarite LT with only one Modbus port for the display. I removed the display and plugged the ESP. All works but unfortunately I am receiveing strange values, see screenshot (temp doesnât match at all for exampleâŠ) Any Ideas how to fix it??
thatâs one of the hacks I discussed with my friend @Cosmin.FRC.
I have the Aquarite+ too. And it does not offer the COND option, but on the motherboard there is the card slot. So I asked Cosmin if in principle it would be possible to install it, and he told me that if you look closely, next to each âactiveâ card slot, thereâs a small chip next to it. On my Aquarite+, next to the COND card slot, that small chip is not there, so as you noticed even you put in the COND card, it doesnât work. That small chip is needed. You should try to solder it. Itâs the same chip for each card slot, take a picture of it.
Data seems ok, probably your system is in F° not C°. Simply change the unit of measurement in the package to F° for temperature sensor.
Hi Alex, I donât think the issue is linked to F° settings (this was also my 1st thought) but my settings are all in C°. Also the Temp is permanently switching between 13° and 71° where in reality I have 21°C.
In addition the other values are also quite strange, for example âCell runtimeâ shows 3896 days but my Cell is brand new.