Vistapool Integration

Here’s my config for Redox:

    - name: redox  # MBF_MEASURE_RX #  Redox ppm 
      slave: 1
      address: 259
      input_type: holding
      data_type: uint16
      scan_interval: 300   
      unit_of_measurement: mV
      scale: 1
      precision: 0
1 Like

Hi, I was tryning to connect hidralife to homessitant via HF7121 RS485. Now I can get data from device, but the pump doesen’t work with hidralife… I was trying to write data via modbus to turn on/off the system.

Could you help me?
How can i fixed? There is a way to reset hidralife? Somebody has all de modbus adress?

Thanks

I answered myself.

I had to change 0x0412 to 2

Hi, thanks a lot for all the Vistapool @ ModBus information in this thread!! It helped me to connect my pool automation to Home Assistant. I’ve been using HF5111S for modbus communication over LAN.

I am getting all the values from the pool nicely (I am able to read it) and I am also able to control filtration ON / OFF. However, what does not work for me (yet) is the heating of the pool. This is connected to relay 7 and I can read the value from there using MBF_RELAY_STATE address. I can see the heating working in INTELIGENT mode. Not sure how to control this myself though in MANUAL mode. In your sample config I can see a script heating_mb_toggle where you write to MBF_PAR_TIMER_BLOCK_BASE registers at 0x0480 and 0x04D9. Unfortunately this does not work for me; maybe my heating relay is different to yours(?).
Any ideas ?

I use Vistapool Hidrolife and there are 4 relays I am able (I know how) to control in it. i.e. Lights (relay 2), filtration (relay 3), AUX3 and AUX4.
AUX4 is for heating and if I remember well, it must be activated somewhere in Hidrolife service menu.
For those 4 I published writting sequences and registers description is available.
Vistapool itself has to be in manual mode if you want to control Vistapool via “external” modbus device.
You will need to create all automation to achieve the same behavior like Heating in INTELLIGENT mode.
btw: where did you find 0x0480 register?

As for the 0x480 I can see this in your post here here:

  heating_mb_toggle:
    sequence:
    - service: modbus.write_register
      data:
        hub: bazen
        unit: 1
        address: 1152
        value: [16384]

Can you explain a bit what’s happening here actually? You seems to be controlling “Auxiliary relay 2 – Second interval” / OFFMB_TIMER_ON and writing 16384 there.

And then there’s register 1241 set to 1, which is “Auxiliary relay 4 – First interval” OFFMB_TIMER_ENABLE writing 3 or 4 here. I guess that’s the relay with your heating and you’re setting this to CTIMER_ALWAYS_ON / CTIMER_ALWAYS_OFF with 3 and 4.

Ups, Seems to be a bit embarassing … it is my typo error. :woozy_face:
There should be 1252 (0x04E4) register address.

The whole sequence is originated from anybody else who adopted Vistapool to Loxone. At least partially by reverse engineering, rest is from registers description. I’ve just modified it iaw HA needs. I verified if it works only and applied it afterwards.

If I understood well the script is doing sthg like this >>> “open” register, write, confirm/save, “close” register.
It is the same way as Vistapool works if it is controlled either manually or via cloud.

Vistapool has to be in “manual” mode to be controlled by MODBUS. If is in any other mode it falls to “soft brick” if you try to write (at least in my case). Reading is fine in any mode.
Because of it, you cannot exploit ‘intelligent heating’ or any other heating mode or embedded timers.

Makes sense now, thank a lot for your help. Controlling heating relay still does not work for me though. It’s strange when my config for heating sensor seems identical to yours and it changes state correctly ON/FF when running in “Intelligent” mode :

      ohrev:
        friendly_name: "Ohrev bazen"
        value_template: "{{ states('sensor.MBF_RELAY_STATE')|int // 64 % 2 }}"

As per the documentation such mask for 6-th bit is “0x0040 Estado del relé 7”

Did you try to switch Vistapool to “manual” and write?

I am able to control filtration ON/OFF when in manual mode. I am not able to control heating though.

At the moment when I want heat the pool I need to switch to Intelligent mode (for a few hours) and then switch back to manual.

Do you have heating connected to the AUX4 relay?

I think so, but I will double check later this week (cannot do this now).

My heating is definitely on AUX4 relay.

It should work then …
If you are trying to turn on heating, do you have turned on filtration in the same time?

Hello somebody can help me to configure Oxylife with Waveshare wifi modbus 485?

I’d like to use it in mqtt mode

There is no mqtt described in the related UG

Can you share how you power the HF2211 from the sugar valley?

Hello,
I’m a newbie and want to control my Hidrolife via Homeassistant to overcome the Vistapool cloud.
Can someone write a short list of the needed hardware and a yaml file or (code) for the current HA version? Your help is much appreciated.

2 Likes

@jenro I would recommend an external power to power HF2211.

@Flori3000 All needed hardware mentioned earlier in this thread.
In short - any RS485 to wifi/ethernet converter, power source (if required) and a piece of wire.
Regarding yaml code - it all depends what do you want to control (ie. write) and required sensors
(i.e. read) it might be from a simple file to a quite complex folder.
My sensors yaml, for example, are here

1 Like

@kajmaj Thx, I have powered the HF2211 from an external power supply. Everything is working. I am working on integrating all the sensor in my HA instance making sure I can visualise and control everything.

I also have a pool cover that I can control with 2 relays. I currently use a raspberry pi with an external relay board for this but I think I can get rid of the Pi and use the Vistapool relays.

I can control the following Vistapool relays:

  1. Filtration using your filtration_mb_toggle script (sequence of registers 1041, 1043, 752, 757) I use a DAB E Swim pump that is connected to the slave input of my Sugar Valley Aquascenic. (MBF_RELAY_STATE says relay 3,4 and 7 turn on when running this script, is this normal?)
  2. Your light_mb_toggle (sequence of registers 1147, 1136, 752, 757) (MBF_RELAY_STATE says relay 5 and 6 are toggled)
  3. your heating_mb_toggle script ( sequence of registers 1252, 1241, 752, 757) does not seem to work. I see no changes in MBF_RELAY_STATE. You write data value of [16384] to register 1252, is that correct? It is very different than the other 2 scipts.

I currently only use 1 (filtration), I want to use 2 and 3 for my pool cover but 3 does not work atm. Any ideas?