AqualinkD MQTT to control the pool

I see there is a pentair pool binding but I have an older pool controller with a PDA. I’ve been using AqualinkD for years and it works great. I’m new to openHAB and I’m trying to use the MQTT binding to control AqualinkD, There is information on the AqualinkD wiki for MQTT and instructions to set it up with homekit. Has anyone else connected AqualinkD to openHAB? Any advice? Is there a way to import the homekit2mqtt.json into openHAB?

There is no way to import a JOSN file for Homekit into openHAB. openHAB is not Homekit.

But that wiki page documents all the MQTT topics and the type of data that is publishes or expected on each one. So you’ll create a Generic MQTT Thing and set up a Channel for each topic you care about. Then you’ll link Items to those Channels and the rest of OH will interact with the Items.

See Adding Things - Advanced | openHAB for a brief example for creating a Generic MQTT Thing and Channels.

MQTT is a one of the lower level bindings. You have to do most of the set up by hand which makes it harder to use. But it makes it much more flexible and able to handle odd situations and cases where people use MQTT in odd ways.

A great tool to help building your Channels is MQTT Explorer (https://mqtt-explorer.com/).

There you see what’s going on and the actual topics and states. Then you can transfer them into the openhab configuration.

1 Like

OK figured out how to set up the channels

UID: mqtt:topic:broker:aqualinkd
label: aqualinkd
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:broker
channels:
  - id: Filter_Pump
    channelTypeUID: mqtt:switch
    label: Filter Pump
    description: ""
    configuration:
      commandTopic: aqualinkd/Filter_Pump/set
      stateTopic: aqualinkd/Filter_Pump
      off: "0"
      on: "1"
  - id: Spa_Mode
    channelTypeUID: mqtt:switch
    label: Spa Mode
    description: ""
    configuration:
      commandTopic: aqualinkd/Spa_Mode/set
      stateTopic: aqualinkd/Spa_Mode
      off: "0"
      on: "1"
  - id: Aux_1
    channelTypeUID: mqtt:switch
    label: Cleaner
    description: ""
    configuration:
      commandTopic: aqualinkd/Aux_1/set
      stateTopic: aqualinkd/Aux_1
      off: "0"
      on: "1"
  - id: Aux_4
    channelTypeUID: mqtt:switch
    label: Pool Light
    description: ""
    configuration:
      commandTopic: aqualinkd/Aux_4/set
      stateTopic: aqualinkd/Aux_4
      off: "0"
      on: "1"
  - id: Aux_5
    channelTypeUID: mqtt:switch
    label: Spa Light
    description: ""
    configuration:
      commandTopic: aqualinkd/Aux_5/set
      stateTopic: aqualinkd/Aux_5
      off: "0"
      on: "1"
  - id: Freeze_Protect
    channelTypeUID: mqtt:switch
    label: Freeze Protect
    description: ""
    configuration:
      stateTopic: aqualinkd/Freeze_Protect/enabeled
      off: "0"
      on: "1"
  - id: Pool_Heater
    channelTypeUID: mqtt:switch
    label: Pool Heater
    description: ""
    configuration:
      commandTopic: aqualinkd/Pool_Heater/set
      stateTopic: aqualinkd/Pool_Heater/enabled
      off: "0"
      on: "1"
  - id: Spa_Heater
    channelTypeUID: mqtt:switch
    label: Spa Heater
    description: null
    configuration:
      commandTopic: aqualinkd/Spa_Heater/set
      stateTopic: aqualinkd/Spa_Heater/enabled
      off: "0"
      on: "1"
  - id: Temperature_Air
    channelTypeUID: mqtt:number
    label: Air Temperature
    description: ""
    configuration:
      stateTopic: aqualinkd/Temperature/Air
      unit: F
  - id: Temperature_Pool
    channelTypeUID: mqtt:number
    label: Pool Temperature
    description: null
    configuration:
      stateTopic: aqualinkd/Temperature/Pool
      unit: F
  - id: Temperature_Spa
    channelTypeUID: mqtt:number
    label: Spa Temperature
    description: null
    configuration:
      stateTopic: aqualinkd/Temperature/Spa
      unit: F
  - id: Pool_Heater_setpoint
    channelTypeUID: mqtt:number
    label: Pool Heater setpoint
    description: ""
    configuration:
      commandTopic: aqualinkd/Pool_Heater/setpoint/set
      unit: F
      min: 36
      stateTopic: aqualinkd/Pool_Heater/setpoint
      max: 104
  - id: Spa_Heater_setpoint
    channelTypeUID: mqtt:number
    label: Spa Heater setpoint
    description: null
    configuration:
      commandTopic: aqualinkd/Spa_Heater/setpoint/set
      unit: F
      min: 36
      stateTopic: aqualinkd/Spa_Heater/setpoint
      max: 104
  - id: Freeze_Protect_setpoint
    channelTypeUID: mqtt:number
    label: Freeze Protect setpoint
    description: null
    configuration:
      commandTopic: aqualinkd/Freeze_Protect/setpoint/set
      unit: F
      min: 34
      stateTopic: aqualinkd/Freeze_Protect/setpoint
      max: 42
  - id: Freexe_Protect_active
    channelTypeUID: mqtt:switch
    label: Freexe Protect active
    description: null
    configuration:
      stateTopic: aqualinkd/Freexe_Protect
      off: "0"
      on: "1"
  - id: Pool_Heater_active
    channelTypeUID: mqtt:switch
    label: Pool Heater active
    description: null
    configuration:
      stateTopic: aqualinkd/Pool_Heater
      off: "0"
      on: "1"
  - id: Spa_Heater_active
    channelTypeUID: mqtt:switch
    label: Spa Heater active
    description: null
    configuration:
      stateTopic: aqualinkd/Spa_Heater
      off: "0"
      on: "1"

1 Like