Giter VIP home page Giter VIP logo

homeassistant-zodiac-tri-expert's Introduction

Zodiac Tri Expert for Home Assistant

Home Assistant screenshot

This repository contains Python module for integrating Zodiac Tri Expert SWGs to the Home Assistant via MQTT. It supports reading pH and ACL (ORP) setpoint and current values as well as setting output power (or boost mode by setting the output to 101).

Connection to the Zodiac

This script communicates with the Zodiac SWG via serial port. You can use either RS485, which is the official way, or, as I did, you can connect directly to the Microchip PIC microcontroller's USART TX and RX.

RS485 is located below the pH/ACL module cover on the PCB in the middle. Connection points are marked as A, B, Pos and 0V. RS485 signals go to the A, B. You also need to apply 5V using power adapter between Pos and 0V points, so the integrated RS485 transmitter powers on. Beware that higher voltage may screw up the transmitter.

RS485 may not work (I did not find any specific reason why mine didn't, maybe I destroyed it during my previous experiments), so as an alternative, you may connect directly to the microprocessor behind the display. This process can certainly screw up your SWG, so I'm not providing more information. Just look at the chip model inside your device, find the datasheet and TX, RX pins locations on the microprocessor and solder wires.

You need to change controller type in the Zodiac's menu to the Aqualink Tri. If you do not see this entry in the controller menu, this integration will not work. Support for Jandy may be added to this integration, the address change will be needed and pH/ORP values will not be supported -- however, I do not need it so you are welcome to open a PR. Or you can use other projects.

Script usage

At first, install all dependencies. You probably want to use the virtual environment to not mess with you system packages:

python3 -m venv venv
source venv/bin/activate
pip3 install pyserial pyaml ha-mqtt-discoverable

Then rename config.example.yaml to config.yaml and set fill in required information. You can delete optional fields to use default values.

Launch the script with:

python3 -m zodiac-tri-expert

You would probably want to autostart the script on system boot. Example systemd service is provided in the repository. Edit the unit, copy to the systemd config directory, enable and enjoy. Do not forget to create a virtual environment with dependencies installed. The provided unit expects the environment in the venv directory.

Requirements & Dependencies

Requires at least Python 3.11 and these packages (available from pip):

  • pyserial
  • pyaml
  • ha-mqtt-discoverable

Contributions

Some stuff is not yet implemeted (terminal interface, error code detection...). If you want to contribute, just open a PR. Thanks ๐Ÿ˜€.

Further discussion and information

A lot of valuable information can be found in the AquapureD project issues discussions.

Acknowledgements

I would like to thank guys around the AquapureD project, the project itself and discussions around it helped me a lot to gain information about the protocol, connections and more. Also I would like to thank random people on the pool-related forums for sharing what they know, so we all can build good stuff.

homeassistant-zodiac-tri-expert's People

Contributors

andreondra avatar

Stargazers

 avatar

Watchers

 avatar

homeassistant-zodiac-tri-expert's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.