Reading onboard data from Grant Aerona HP290 + Control

Are we talking water pressure? That’s in (at least) regParams, in tilesParams, tile 76 (0 indexed):

{
  "tilesParams": [
    ...
    [
      [
        [
          "2.2",
          6,
          0
        ]
      ],
      true,
      true,
      null,
      null,
      null,
      null
    ],
    ...
  ]
}

So that’s 2.2 bar

JQ for it..

curl -sfS -u admin:admin "http://YOUR_ECONET_IP/econet/regParams" | jq -r '.tilesParams[76][0][0][0]'

So it is! Thank you.

Nice work! Here’s the HA YAML

sensor:
  - platform: rest
    name: "Grant System Pressure"
    unique_id: '550e8400-e29b-41d4-a716-446655440000'
    resource: http://YOUR_ECONET_IP/econet/regParams
    username: "admin"
    password: "admin"
    authentication: basic
    scan_interval: 60
    value_template: "{{ value_json.tilesParams[76][0][0][0] }}"
    unit_of_measurement: "BAR"

I desoldered the flash chip and read it out with a xgecu T48. But turns out you can avoid the troubles and easily access the root shell via UART (no password protection :roll_eyes:) by soldering couple of wires to the test points (Testing to determine if you are a bot!).

No I haven’t discovered any other usable endpoints on the local api. But if you get shell access via uart it’s not difficult to add another endpoint for “allParams” which is currently only exposed to the cloud service :wink:
I’m currently porting the webserver to run on the emonpi with this additional endpoint, but haven’t yet rewritten all parts so can’t share this due to copyrights. Anyone interested in getting this setup, I’m happy to talk this through privately :slight_smile:

Hey, what’s the status of this? It would be great to get this functionallty locally in emonHub. If it’s working, are you able to open a PR? :folded_hands:

PR #227 just submitted. I’ve been running that version for several weeks so the code should be stable but I’ve just thrown the minimal docs together so they may contain a glaring error.

Please can you look at PR #224 for me too? I don’t think it should be controversial but maybe I’ve missed something.

@LeeNuss Your work to cut out the ecoNET bridge and connect direct to the wiring centre over uart sounds really interesting but I’ll wait for your public commit.

1 Like

A post was split to a new topic: EcoNEXT: Direct local controll of Grant HP290 (Plum ecoMAX360i)

Reading onboard data from Grant Aerona HP290 HomeAssistant - #29 by LeeNuss @LeeNuss with regard to the screenshot you shared - have you actually able to put the Aerona 290 units into cooling mode? Grant pre-sales said to me that you couldn’t (I know that it’s physically possible with the unit due to defrost mode. For this reason I’d put a negative point against the Grant (vs. the Vaillant). Cooling isn’t an essential for me, but it’s definitely a nice-to-have feature.

Thanks!

Tim.

p.s. (I know about dew point issues etc. and I’m happy to handle the controls for that - I have pipe-in-slab UFH on the ground floor of the house).

I find it strange that they wont enable it. I have heard that the unit is indeed capable of cooling, but grant have removed the option from their menu. Maybe some of the guys who have the skill set can see if there is any truth to this.

1 Like

There is a setting on the PCB dip switches by the look of it - “Table 10-1: Dip switch Block 1 (SW1) - Switch 3 & 4 OFF / OFF = Heat / Cool mode”.

Yes this was a big factor for me as well, I ensured that my installer verifies that with Grant before the go ahead for the unit. I’ve tested this and my HP supports cooling, I think I’ve got newest Software versions on both Controller and HP. Controller setup is not straight forward though. There’s one option for the HP itself to enable and then you need to set your circuit to either Fan coil or UFH and enable cooling support for the circuit too. Then in Summer mode it does go into cooling. As you mentioned DIP switches on the HP need to set as well but that came delivered with cooling enabled in my case.
That’s my SW versions (as shown on the panel, not sure what of this is actually relevant^^):
Panel: S024.22 H4.0.0 C114.01.20
Controller: S024.25 H2.3.0
Heatpump: 86 SW V.

1 Like

Thanks very much. When did you have yours installed?

end of august 2025

This looks amazing! :folded_hands:

Very sorry I’ve been so slow to give it a test. I’ve just replied to the PR

This PR has now been merged, thanks a lot @dconlon :partying_face:

After updating to master branch of emonHub, just add the following emonhub config to read data locally from Econet300:

[[Econet300HTTP]]
    Type = EmonHubEconet300Interfacer

    [[[init_settings]]]
        # Hostname or IP address of the ecoNET 300 bridge
        host = 192.168.1.100
        # HTTP basic auth credentials for the ecoNET 300 bridge
        username = admin
        password = admin
        # Poll interval in seconds (time between successful polls)
        pollinterval = 60
    [[[runtimesettings]]]
        pubchannels = ToEmonCMS,

Example Inputs:

I just got a Grant HP290 installed and been trying to work out how to do some automation within Home Assistant. I have installed the EcoNET-300 HACS integration, and found the info limited, so I then added the REST sensors (and worked out a couple more - below - of my own). This has opened up the use of these with some additional info in the linked post which also shows how to use RESTful commands to manipulate the settings.

For me, I wanted to set up some automation where the heating would be turned down and HW set to off when we are away on holiday. I also wanted to set up a Legionella cycle when we are returning, but that is proving to be more of a challenge!.

New sensors added as follows - any thoughts or suggestions on how to manipulate the Legionella Cycle (319)?


    - name: "Legionella Cycle"
      unique_id: 'legionella cycle'
      value_template: "{{value_json['editableParams']['319'][2] }}"

    - name: "Legionella Temp"
      unique_id: 'legionella temp'
      value_template: "{{ value_json['data']['136']['value'] }}"
      unit_of_measurement: "°C"
      device_class: temperature
      state_class: measurement

Thanks!

Nice work. The HP290 only enables legionella support if immersion heater control is setup (via a contactor) and configure. But It’s really not needed to use the immersion for legionella, the HP290 can achieve a flow temperature of 75C which is sufficient to achieve a tank temperature of 60C, anything above 50C is in the legionella killing zone. You’re better off just scheduling a DHW boost cycle with a target temp of 55C rather than use the legionella function. Using a DHW boost will use the heat pump compressor at a higher COP rather than using the immersion heater.

1 Like

Apologies, I should have replied with thanks earlier. I set up an automation that triggered by a calendar to turn on DHW and set the temp to 55°, then a couple of hrs later turn the temp down and then another later automation to turn up Heating to 20°. This has worked well, so thanks again for the info here.