AquaTemp heat pump controller integration (custom climate entity)

Anyone knows of the username/password required to access the local http interface on this device?

Thanks

The integration has been rewritten addressing some of earlier flaws. You can now install with custom HACS repository to take advantage of HACS functionality. Please also note the configuration has changed, so please update your configuration.yaml file according to the new format described in README.

Thank you for the reply.
I’m not using HACS - is that a requirement?

I just have just done the following, same as I do for other custom_components

    • SSH to my HA Instance
    • cd /config/3rd_party_integrations (a custom directory I created)
    • Execute git clone https://github.com/radical-squared/aquatemp
    • cd /config/custom_components
    • Symlink the aquatemp directory like so: aquatemp → ../3rd_party_addons/aquatemp/custom_components/aquatemp/
    • Add the following config to /config/climate.yaml (Which is loaded by configuration.yaml)
- platform: aquatemp
  name: aquatemp
  username: '[email protected]'
  password: mypasswordfortheservice
  min_temp: 20
  max_temp: 35
  temperature_unit: C
  unique_id: my_custom_id_set_by_me
  expose_codes: true
  attribute_map:
    T05: ambient_temperature
    T03: outlet_temperature
    T02: inlet_temperature
    T01: suction_temperature  

Am I missing something obvious? This is how the integration used to work for me until I guess the v2.0 refactoring, or a recent HA update.

Thank you very much for your help/ongoing support of this project!

PS: For clarity this is how my /config/custom_componants directory looks:

[core-ssh custom_components]$ ls -la
total 12
drwxr-xr-x    2 root     root          4096 Sep  8 16:09 .
drwxr-xr-x   14 root     root          4096 Sep 20 06:40 ..
lrwxrwxrwx    1 root     root            56 Sep  8 16:09 aquatemp -> ../3rd_party_addons/aquatemp/custom_components/aquatemp/
lrwxrwxrwx    1 root     root            66 Sep  8  2021 echonetlite -> ../3rd_party_addons/mitsubishi_hass/custom_components/echonetlite/
lrwxrwxrwx    1 root     root            54 Dec 12  2021 smartir -> ../3rd_party_addons/SmartIR/custom_components/smartir/
lrwxrwxrwx    1 root     root            56 Jul 26  2021 spotcast -> ../3rd_party_addons/spotcast/custom_components/spotcast/

smartir, echonetlite and spotcast all work fine.

The setup seems fine. Try increasing “version” entry in manifest.json file in aquatemp folder and restart HA.

Thank you.

I tried increasing to 2.2 like so:

image

But I still get the following:
image

Hard to say what’s wrong here, as everything seems fine. Maybe try removing the integration, restart HA and then add the integration back again. Also make sure your configuration.yaml properly includes climate.yaml. It should look along the lines of:

climate: !include climate.yaml

I removed all references I could find to aquatemp, fully restarted my HA supervisor and everything, re-added aquatemp and hey, it works.

I must have had a config problem somewhere. No idea what or where, but certainly it’s working now so please accept my apologies for wasting your time.

1 Like

After following the HACS integration instructions, I end up with the following error whenever I invoke ON or HEAT or COOLING etc,
Attempt to decode JSON with unexpected mimetype: ', url=URL('https://cloud.linked-go.com/cloudservice/api/app/device/control.json
Any guidance possible how to resolve?

It is possible to turn off the heatpump from this customer integration, but impossible to turn it back on selecting one of the 3 modes (heat, auto or cool).
These are the errors I get in the log :

2023-01-06 22:11:14.183 DEBUG (MainThread) [custom_components.aquatemp.climate] {‘error_code’: ‘-1’, ‘error_msg’: ‘Error of device control operation’, ‘error_msg_code’: ‘1056’, ‘is_reuslt_suc’: False}

2023-01-06 22:11:15.177 DEBUG (MainThread) [custom_components.aquatemp.climate] {‘error_code’: ‘-1’, ‘error_msg’: ‘Error of device control operation’, ‘error_msg_code’: ‘1056’, ‘is_reuslt_suc’: False}

2023-01-06 22:11:15.359 DEBUG (MainThread) [custom_components.aquatemp.climate] {‘error_code’: ‘0’, ‘error_msg’: ‘Success’, ‘error_msg_code’: ‘’, ‘object_result’: [{‘code’: ‘Power’, ‘value’: ‘0’}, {‘code’: ‘Mode’, ‘value’: ‘1’}, {‘code’: ‘Manual-mute’, ‘value’: ‘0’}, {‘code’: ‘T01’, ‘value’: ‘5.2’}, {‘code’: ‘T02’, ‘value’: ‘9.7’}, {‘code’: ‘2074’, ‘value’: ‘0000000000000000’}, {‘code’: ‘2075’, ‘value’: ‘0000000000000000’}, {‘code’: ‘2076’, ‘value’: ‘0000000000000000’}, {‘code’: ‘2077’, ‘value’: ‘0000000000000000’}, {‘code’: ‘H03’, ‘value’: ‘0’}, {‘code’: ‘Set_Temp’, ‘value’: ‘28.0’}, {‘code’: ‘R08’, ‘value’: ‘8.0’}, {‘code’: ‘R09’, ‘value’: ‘35.0’}, {‘code’: ‘R10’, ‘value’: ‘15.0’}, {‘code’: ‘R11’, ‘value’: ‘35.0’}, {‘code’: ‘R01’, ‘value’: ‘20.0’}, {‘code’: ‘R02’, ‘value’: ‘28.0’}, {‘code’: ‘R03’, ‘value’: ‘28.0’}, {‘code’: ‘T03’, ‘value’: ‘10.8’}, {‘code’: ‘1158’, ‘value’: ‘0’}, {‘code’: ‘1159’, ‘value’: ‘0’}, {‘code’: ‘F17’, ‘value’: ‘0’}, {‘code’: ‘H02’, ‘value’: ‘1’}, {‘code’: ‘T04’, ‘value’: ‘2.9’}, {‘code’: ‘T05’, ‘value’: ‘10.7’}, {‘code’: ‘T06’, ‘value’: ‘45.1’}, {‘code’: ‘T07’, ‘value’: ‘0.0’}, {‘code’: ‘T12’, ‘value’: ‘0’}, {‘code’: ‘T14’, ‘value’: ‘233’}], ‘is_reuslt_suc’: True}

2023-01-06 22:11:15.503 DEBUG (MainThread) [custom_components.aquatemp.climate] {‘error_code’: ‘0’, ‘error_msg’: ‘Success’, ‘error_msg_code’: ‘’, ‘object_result’: {‘is_fault’: False, ‘status’: ‘ONLINE’}, ‘is_reuslt_suc’: True}

It’s only possible to turn it back on on the heatpump display or in the AquaTemp app.

Hi @sickidolderivative, thank you for creating this integration. It’s working for me perfectly.

One quick question… When I look in the AquaTemp app on my phone, I can see some code values for my heat pump (for example, T08) that aren’t available via the integration. Is there a reason why the integration only exposes the following codes?

'Power','Mode','Manual-mute','T01','T02','2074','2075','2076','2077','H03','Set_Temp','R08','R09','R10','R11','R01','R02','R03','T03','1158','1159','F17','H02','T04','T05','T06','T07','T12','T14'

Thanks again for your great work.

Hi @matt9, I’m not an expert on aquatemp protocol, but try adding T08 to the following line in your local copy of the addon:

Thanks @sickidolderivative, that worked. Using that technique I can add any codes from the app.

Thanks again for your help.

1 Like

I’ve been having troubles getting the integration working. I had the system installed yesterday and have the AquaTemp app working. It only shows the inlet, outlet and target temp though. I have turned on debug and this is the error message in the log:

2023-04-21 10:47:59.660 DEBUG (MainThread) [custom_components.aquatemp.climate] {'error_code': '0', 'error_msg': 'Success', 'error_msg_code': '', 'object_result': {'role_name': 'User', 'user_type': 'Customer', 'user_id': '16488989809809', 'user_name': '[email protected]', 'nick_name': 'DrSpaldo', 'roleName': 'User', 'x-token': '1F7B5F63E163D4E8493B98089FF', 'real_name': None}, 'is_reuslt_suc': True}
2023-04-21 10:48:02.477 DEBUG (MainThread) [custom_components.aquatemp.climate] {'error_code': '0', 'error_msg': 'Success', 'error_msg_code': '', 'object_result': [], 'is_reuslt_suc': True}
2023-04-21 10:48:02.477 ERROR (MainThread) [custom_components.aquatemp.climate] Error logging in. Will keep on trying.

Note, a few little changes to not give out my details above. But the info listed in the real log is correct…

Here is my HA code:

- platform: aquatemp
    name: aquatemp
    username: !secret aquatemp_username
    password: !secret aquatemp_password
    min_temp: 20
    max_temp: 35
    temperature_unit: C
    unique_id: plum_pool
    expose_codes: true
    attribute_map:
      T05: ambient_temperature
      T03: outlet_temperature
      T02: inlet_temperature
      T01: suction_temperature

A few other things; I have uninstalled & reinstalled four times. No change. I have changed my password in the app, so it is not so complicated (removed symbols). No change. I have used the user/pass in the config.yaml, then moved it into secrets, then moved it into climate.yaml. All no change.

I will post in both the forum and make a github issue, so it is easier to find. I have searched both areas and have found one similar issue and that person fixed it by re-installing, it hasn’t fixed mine :frowning:

Any ideas?

@DrSpaldo , did you fix your issue, because I have the same issue.
When I check my entity in the developer tool, some attributes have always the value NULL.

current_temperature: null
temperature: null
fan_mode: null

So, it seems that there is no connecttion between HA und Aquatemp…
Hope, someone can help us.

Marcus

@MarcusR unfortunately no. I’ve tried a few different things without success. My next option is to reset the module, add it back into the app and see if that helps. I’ve also read another thread about using another app but I’m not sure if that works

I have the same issue as above, entity show but (object_result: []) – but I can see the pump in Aquatemp App and is Connected and working. What I am missing to resolve the missing (object_result: []) ?

Have you got a link to that thread? Curious about App alternatives.

hi,
@sickidolderivative, thanks for the component!

Recently started using it and due to some lacks I started wokring on adjustments to the component (will release it soon after completing the todos):

Changes:

  • Major refactor to the code - Breaking changes
  • Add GitHub actions (pre-commit) for hacs, hassfest and lint checks
  • Configuration is available only from UI
  • Supports multiple accounts (different credentials)
  • Supports multiple devices (different devices on the same account)
  • Add centralized DataUpdateCoordinator to communicate with the API and post updates to HA components-
  • Add diagnostic component to output data from API and configuration for troubleshooting (replacing the need for extra codes attributes)
  • Add binary_sensor components for Power (Is on), Status (Is online) and Fault (Has fault)
  • Add select component for choosing the Temperature Unit (C/F)
  • Add sensor components for each of the temperature reading (T01-T03)
  • Simplified climate component to include just its functionality without additional attributes (moved to dedicated components)
  • Add mapping of more Protocol Codes (Parameters) for later support of more sensors/binary_sensors

TODO:

  • Fix string.json in set up component
  • Support diagnostics in device level (currently integration level only)
  • Add entities / devices to diagnostics (currently holds API and configuration data)

1 Like

Looks exiting. Can’t wait to try it out.

posted PR with all changes:

Final change log:
Modifications:

  • Major refactor to the code - Breaking changes
  • Configuration is available only from UI
  • Supports multiple accounts (different credentials)
  • Supports multiple devices (different devices on the same account)
  • Add centralized DataUpdateCoordinator to communicate with the API and post updates to HA components
  • Set minimum and maximum temperature based on the current HVAC mode relevant for the device (from API)
  • Add diagnostic component to output data from API and configuration for troubleshooting (replacing the need for extra codes attributes)
  • Add binary_sensor components for Power (Is on), Status (Is online) and Fault (Has fault)
  • Add select component for choosing the Temperature Unit (C/F)
  • Add sensor components for each of the temperature reading (T01-T03)
  • Simplified climate component to include just its functionality without additional attributes (moved to dedicated components)
  • Add mapping of more Protocol Codes (Parameters) for later support of more sensors/binary_sensors

Notes:

  • Currently repository is not available in HACS brands - in order to make it available for all without the need to set it as custom repository, need to follow instructions
  • As result of that lack, tests of HACS will fail, once brands will include that integration, it will be fixed automatically
  • Integration domain changed from aquatemp to aqua_temp
1 Like