After some test I noticed that the Opensprinkler port I’m using loses the correct date after some time, it may be caused by the lack of RTC on my bare bone wemos D1.
I’ve noticed there’s anoter OS port to ESP8266 that should tackle this issue:
the problem is that this port uses different PIN (GPIO2) so soldering is needed, my developer (lack of)
skills don’t allow me to change the code to reflect ecodina FW wiring…
I flashed the ecodina firmware on a spare Wemos D1 Mini Pro I had lying around and I configured wifi (can ping it fine) and mqtt but on mqtt explorer I only see:
16/05/2024 20:15:43 Rebooted
16/05/2024 20:15:43(-0 seconds) Dead Somewhere
I get these messages when connected and disconnected to my Hunter controller. Any ideas?
Should I be seeing other messages?
Also, I noticed that the voltage across 24VAC (GND) and REM was around 5V - will this be an issue because I’m connecting it to the 3V pin on the Wemos?
Since I couldn’t get the ecodina firmware working, I uploaded this image to my ESP8266 and I got it up and running but I get an “Err” on screen when I try and run a sprinkler. Maybe I’m connecting it up wrong?
Is this how you’re supposed to connect the ESP8266 with the Hunter controller? Exchanging GPIO16 with GPIO2 for the OpenSprinkler firmware?
Hi, the connection if done ad depicted in the image seems to be good. In my case I got it working at first shoot so I don’t know what to say. Which board did you use? Which Hunter product do you have?
I’m using a Wemos d1mini on a Hunter X-Core 6 zones controller.
I’m a novice and I may make some mistake but you can:
try connecting VCC to the other connector of the 24VAC on the hunter (it shouldn’t matter but try anyway)
try changing in the source code the GPIO port used on the esp8266 and rewire accordingly (file hunter.h, line16) and see if it works.
I’ve tried a NodeMCU board and a Wemos D1 Mini Pro. I’ve got an X-Core standard 4 zone controller. Have you wired yours up the same way as the diagram I uploaded?
Thanks for your help mate! I finally got it working but as @Nikitarex mentioned further up, I had to modify quite a bit of code to compile it successfully.
Unfortunately it looks as though my local rain sensor wired to the SEN ports is ignored. I think it’s because the rain sensor only stops scheduled jobs from the hunter and because the ESP8266 is wired to the REM (Remote) port, it’s assumed that the job is being run manually and thus bypasses the rain sensor’s condition. I’ve ordered the Open Sprinkler Pi board and I’ll swap to that.
I know the ESP board is working correctly because I was able to reach the WateringSystemAP and register my wifi. Which then, I am able to ping its IP address within the my home network. However, I feel like I’m missing something crucial in the REST command configuration to complete the integration successfully.
Could someone please assist me in resolving this issue and guiding me on how to properly connect Home Assistant with the HunterX sprinkler system using the REST command approach?
ok, so I made some headway. I am able to connect with Home Assistant now using the code and HELPERS. the caveat was I NEED to use the same type and name for the helper which connect {{input_select.zonenumber}} and {{input_number.zone_#}} with the code in configuration.yaml…(# = zone you are selecting). so if you are doing the first zone, {{input_number.zone_1}}. if you are doing second zone, then {{input_number.zone_2}}, and so on.
So now the problem is that I can ONLY do the 1st zone. if I try different zones (2-6), the HunterX “sees” it, but it immediately returns back to idle. I know this because I can see it in my HunterX display where the it flickers from “idle” to “run” then “idle” within a second.
if anyone had this problem before and could assist me, I would appreciate it very much.
I realize that this topic is mostly from years past, but it seems to be the most appropriate for my project.
I am looking to control my XCore-400 through the remote access line. But this is secondary so I can do some sport watering or turn the irrigation on and off as I make repairs.
I need to let the landscaping folks continue to choose the schedule and program the controller in the normal way.
So, I’d like to monitor zones 1-3 and report back running status and running time. I expect to do this by monitoring the 24VAC zone outputs and publishing status updates. (Simple voltage divider or optocoupler and filter to a GPIO pin.)
At first, I thought about using regular ESPHome, but I saw all the work to get this project going with MQTT which gets me halfway there.
My first question is: “Which repository should I be accessing the project source/binary from?” anubisg1 or ecodina?
My second question is, “What approach would folks use to monitor 3 or 4 pins and report the status back to HA?” I’m OK using MQTT with anubisg1’s or ecodina’s firmware. I’m also OK using ESPHome as a base. I don’t really want to do anthing that involves callbacks to HA as I often run two instances.
With ESPHome, it looks like I’ll have to integrate the HunterRoam library, but the status sensing and MQTT are built-in. Building off either of these repositories means I have to detect GPIO changes and publish a new message to MQTT.
I’m just getting started with arduino and ESPHome, but I am a long-time C++ programmer.
Any advice, suggestions or links are greatly appreciated! (Of course, if there’s already an ESPHome project for Hunter ROAM access, that’d be even better!)
Sorry to disappoint you but the hunter devices AFAIK don’t report back the system status via REM port, so all you read in the previous posts is only related to send commands to the watering system, not to get status info.
I thin that barring opening up the device and tapping directly the pcb signals your only way out is monitoring the output lines voltages.
I wasn’t talking about getting status from the REM port.
Rather, I’d monitor zone terminals 1, 2, etc where they are activating the valves. It’s 0V when not activated and 24VAC when the zone is supposed to be running (measured between the zone terminal and the Common terminal). So I’ll use up 3 GPIOs to monitor 3 zones. Access is as easy as accessing the REM port.
I’m more interested in this than turning on the sprinkler remotely. This way I can monitor the timing and amount of water I’m getting.
(Of course, the only thing I can’t know from this is if the water main is actually turned on. For that, I’m inclined to put a pressure sensor on the first zone or a water sensor where I can determine that water is actually coming out. I guess I could also put a vibration sensor on the line feeding the valves to know that water is flowing.)
Doing the monitoring part would be much easier with ESPHome than a dedicated app based on platform.io. I get easy communication with HA and things like debouncing without having to do any coding beyond YAML.