Vistapool Integration

Is there a chance you can resend it again? Thanks!

Here it is: Dropbox - MODBUS PARA CLIENTES (ENG).pdf - Simplify your life

I have the basic data also working now with the ESPHome firmware and the modbus controller component. And I use a level-shifter between the ESP and RS485 module. To convert the 5v level to 3.3. It should work without, but I found the RS485 module getting hot and not working properlyā€¦

My coding skills are not super, so I donā€™t know how to integrate the switches of the Oxilife, hopefully other readerā€™s can help out with that. :slight_smile:

This is my esphome code:

external_components:
  # use  GitHub
  - source:
      type: git
      url: https://github.com/martgras/esphome
      ref: modbus_component
    components: [ modbus_controller ]

esphome:
  name: oxilife
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "XXXXXXXX"
  password: "XXXXXXXXXXXXX"



# Enable logging
logger:


# Enable Home Assistant API
api:

ota:

web_server:
  port: 80

uart:
  id: mod_bus
  tx_pin: 3
  rx_pin: 1
  baud_rate: 19200
  stop_bits: 1
  
modbus_controller:
  id: oxilife
  ## the Modbus device addr
  address: 0x1
  uart_id: mod_bus
  command_throttle: 0ms
  # ctrl_pin: 5    # if you need to set the driver enable (DE) pin high before transmitting data configure it here
  setup_priority: -10
 
  sensors:
    - id: temperatuur
      name: "Water Temperatuur Zwembad"
      address: 0x0106
      offset: 0
      unit_of_measurement: "Ā°C"
      modbus_functioncode: "read_input_registers"
      value_type: U_WORD
      accuracy_decimals: 2
      skip_updates: 60
      filters:
        - multiply: 0.1
        
    - id: pH
      name: "pH Waarde Zwembad"
      address: 0x0102
      offset: 0
      unit_of_measurement: "pH"
      modbus_functioncode: "read_input_registers"
      value_type: U_WORD
      accuracy_decimals: 2
      skip_updates: 60
      filters:
        - multiply: 0.01
        
    - id: cl
      name: "Vrije Chloor Waarde Zwembad"
      address: 0x0104
      offset: 0
      unit_of_measurement: "ppm"
      modbus_functioncode: "read_input_registers"
      value_type: U_WORD
      accuracy_decimals: 2
      skip_updates: 60
      filters:
        - multiply: 0.01
        
    - id: hydrolyse
      name: "Hydrolyse Percentage Zwembad"
      address: 0x0101
      offset: 0
      unit_of_measurement: "%"
      modbus_functioncode: "read_input_registers"
      value_type: U_WORD
      accuracy_decimals: 0
      skip_updates: 60
      filters:
        - multiply: 0.1

      
1 Like

Doesnā€™t work !
Integrations does not generate the integration after HACS install

Is there any update the above projects?

1 Like

This works in all Hayward models?

1 Like

Do I understand correctly that it is no longer possible to integrate the vistapool cloud in HA (using the vistapool wifi device)?
That means the only way to get vistapool data in HA is using modbus and direct communication (PI with usb adapter or HF2211 )?

I want to order the vistapool wifi device, but if I canā€™t use it for HA integration I donā€™t think Iā€™m interested.

You are right. Latest API changes disabled cloud access. Modbus works great though, and you can use either an ethernet or wifi modbus module.

1 Like

Correct, buying a vistapool wifi device would be a waste of money since they disabled cloud API access.
Using MODBUS is the only way to get data from the sugar valley now.
I never got the HF2211 to work, but the PI + usb adapter solution is still working fine for me.

1 Like

There is a tasmota project that talks to it directly, exposes sensors and also switches for the various parts.
https://tasmota.github.io/docs/NeoPool/

Can anyone share their full configuration (modbus)? The one shared by @kajmaj is using the old modbus syntax I think.

I am planning to use a pi with RS485 dongle in combination with ser2net. This way my HA server can use modbus communication to the remote pi.

Current, working, modbus sensors reading data from Vistapool Hidrolife:

modbus:
- name: bazen
  type: tcp
  host: 192.168.1.3
  port: 8899
  delay: 5
  timeout: 5
  sensors:
    - name: MBF_MEASURE_PH #  hodnota pH
      slave: 1
      address: 258
      input_type: holding
      data_type: uint16
      scale: 0.01
      precision: 2
      scan_interval: 90
      unit_of_measurement: pH
#    - name: MBF_PAR_PH1 #  horni hranice pH
#      slave: 1
#      address: 1284
#      input_type: holding
#      data_type: uint16
#      scale: 0.01
#      precision: 1
#    - name: MBF_PAR_PH2  #   dolni hranice pH
#      slave: 1
#      address: 1285
#      input_type: holding
#      data_type: uint16
#      scale: 0.01
#      precision: 1
    - name: MBF_MEASURE_TEMPERATURE #  teplota vody
      slave: 1
      address: 262
      input_type: holding
      data_type: uint16
      unit_of_measurement: Ā°C
      scale: 0.1
      precision: 1
      scan_interval: 90
    - name: MBF_PH_STATUS #  AL3, stav pH, peristaltika 
      slave: 1
      address: 263
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_PAR_FILTRATION_STATE # stav filtrace (zap/vyp)
      slave: 1
      address: 1057
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_PAR_FILT_MANUAL_STATE # MBF_PAR_FILT_MANUAL_STATE-stav filtrace zap/vyp
      slave: 1
      address: 1043
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_PAR_FILT_MODE #  režim filtrace
      slave: 1
      address: 1041
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_RELAY_STATE #  stav jednotlivych rele
      slave: 1
      address: 270
      input_type: holding
      data_type: uint16
    - name: MBF_PAR_HIDRO_COVER_ENABLE #  aktivace krytu 1/0
      slave: 1
      address: 1068
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_PAR_HIDRO_COVER_REDUCTION # redukce hydrolyzy v % 
      slave: 1
      address: 1069
      input_type: holding
      data_type: uint16
      scan_interval: 90
    - name: MBF_HIDRO_STATUS # stav systemu hydrolyzy 
      slave: 1
      address: 269
      input_type: holding
      data_type: uint16 
      scan_interval: 90
1 Like

Hello,

Excuse my English, Iā€™m Spanish.
It is not clear to me, for it to work in HA I have to buy vistapool? or do I have to use this option with tasmota (Sugar Valley NeoPool Controller - Tasmota)? The tasmota option is far from my knowledge.

Thanks for the help

Helo here another spanish with the same problem.

This part its in spanish, sorry.

Hola tio.

Yo voy a intentarlo con esa opciĆ³n con Tasmota, si quieres podemos compartir experiencias.

Saludos.

Brilliant,

Well, Iā€™ll try, Iā€™m waiting for it to arrive and install the equipment, as soon as I have it, Iā€™ll start.

At the moment I can start by buying the TTL UART to RS485 converter.

letā€™s go!

@Yoryino @keteflips This is your best bet. Itā€™s been working flawlessly for me. Just hook up 4 wires to the Vistapool and you are ready to go.

Or get the WiFi version if donā€™t have LAN connection at the pool house.

1 Like

thank you very much for the help, HGY HF-5111B purchased, as soon as it arrives, I go to the next level. :wink:

@uspino

Just hook up 4 wires to the Vistapool and you are ready to go

4 wires to the Vistapool? :face_with_monocle:

1 Like

:flushed: You are right, 2 wires to the Vistapool, 2 to the power supply.

Hello, thank you all for sharing your experience. Personally i finally manage to get data via Modbus does still struggling to get the right address (and bit) for the cover and the led.
Does anyone know in what register this info is ?
Thanks for the help.