/hunter-wifi

Give WiFi capabilities to your Hunter sprinkler system.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Hunter Roam - WiFi

Build status

INFO

This is a fork of @Ecodina's repository with few custom instructions how to get it working for my setup: internal unit XCORE 401 with 3 active sections (of total 4 available).

Parts used:

Software installation

Easiest way to install was through esphome.io website. Connect the board using usb cable to the PC, select serial device and upload the binary file to the board.

Current master doesn't seem to be working properly, either web-interface, nor mqtt. So for the time being, stick with v1.0.0 - https://github.com/ecodina/hunter-wifi/releases/tag/v1.0.0

After startup, connect to the WateringSystemAP and setup up the WIFI & MQTT credentials:

# My MQTT server (mosquitto) runs on RaspberryPi and requires authentification
# MQTT server URL, local DNS name can be used
server: 'raspi3b.local'

# MQTT server authentication
user: mqtt_user
password: [password]

Save & restart the board and check in the routers device list, if the device has obtained an IP address.

Hardware installation

Contrary to the info in the docs, with this version of Hunter watering system you don't need to split power supply and connect it to AC#2 (common ground). According to this comment, there are 2 revisions of the Hunter X-Core internal MCU (running either on -3.3V or -5V).

Mine runs on -3.3V, therefore it is enough to connect the 3V3 pin of esp board to the common ground (AC#2).

Wiring is displayed on following diagram (obtained from loullingen.lu, with plenty of other important info about the topic):

Wiring - obtained from loullingen.lu

My actual setup looks like this:

  • white wire is used to control the REM port, connects to GPIO16 / D0 on the board
  • black wire connects 3V3 GPIO with common ground (AC#2)
  • red wire was used to split 5V voltage from micro USB charged, is unused and can be ignored.

XCORE 401 - actual setup

Integration into Home Assistant:

Integration is based on this post and enables control of Hunter from Home Assistant interface.

Features:

  • select zone and set irrigation time
  • trigger/toggle irrigation of selected zone
  • display countdown (remaining irrigation time)
  • display active zone
  • displays MQTT response from controller

Detailed info how to setup sensors, automation and UI is defined here.

Showcase:

zone 3 running zone 3 stopped
zone 1 selected select zone

Original @Ecodina's intro & readme:

During 2020's summer I decided it would be interesting to have my Hunter Pro-C watering system connected to the Internet. After some research I found Scott Shumate 2015's product, but it is no longer on sale. Luckily, Sebastien published the necessary Arduino code. I have adapted his code to make it easier to control the sprinkler system.

It can control up to 48 zones and 4 programs.

A quite extensive documentation is available on this webpage.

Compatible devices

I have only tried it on a Hunter Pro-C, but it should work with any Hunter product that is SmartPort (Roam) compatible. Basically, it needs a REM pin. More information on Hunter's webpage.

Bill of materials

This project has been built for a WeMos D1 Mini Pro, but should be easily adaptable to any ESP8266 board. You will also need a floating power source (e.g. mobile phone charger). In total, you will spend ~10€ to give WiFi capabilities to your old Hunter.

Try it yourself

Download this project and upload it to your board. Afterwards, connect the microcontroller to the SmartPort (see how in the docs folder).

The first time you power it, a "WateringSystemAP" open WiFi access point will be created. Connect to it and your phone will ask to "sign-in". Click on the notification and follow the steps to connect to your home WiFi. If nothing happens when you connect to the AP, navigate to 192.168.4.1.

When the board is connected to your home router, you will have an easy to use HTTP API (endpoints in the docs folder).

Easy changes

You can change the AP's SSID and password-protect it by changing the values in include/global_config.h. You can also change the GPIO that connects to the REM pin of the Hunter system (by default, GPIO16 / D0).

What I'd like to see in the future

Feel free to fork this project and improve it. Some things that would be good to have are:

  • Use of MQTT protocol.
  • API authentication.
  • mDNS (easier to discover your device by using a .local domain).
  • Webpage (it only has an API).
  • OTA support

License

Given that Sebastien published his code under the GNU GPL v3, this project follows the same license.

Hunter Roam - WiFi
Copyright (C) 2020-2022  Eloi Codina Torras

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.