[RELEASE] Rain Bird LNK/LNK2 WiFi Module Controller

That's a helpful log! Thanks.

The 503 error is the internal controller complaining we're hammering it. From the timestamps, it looks like your running a zone and immediately running commandSupport.

dev:1582026-04-11 03:39:00.426 PM

dev:1582026-04-11 03:39:00.422 PM

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

Running commandSupport like that just overloads the tiny http server in the controller, and it pukes.

Let the controller settle, and press Initialize once and do not run any other commands.

Take a look at the Current States and you should see something like this:

We're interested in availableStations, controllerFirmwareVersion, and moduleFirmware Version, and model.

You did have zones 1-8 working so I know it must understand which version of firmware you have or that wouldn't have worked before at all.

None of the capabilities are being populated because of the 503 overloaded errors.

I also recommend moving that refresh from 5 minutes to at least an hour. I have mine set for 4 hours. That interval lets the driver sync the clock and read the current seasonal adjustment. There's no reason to run it that often, especially when we're still trying to get which firmware is in that controller.

Ok....I set refresh to 8 hours. After doing nothing for about an hour, I then clicked initialize a single time. I was watching my live logs, and the time sync did ender the death loop, but it did stop after X times running. I didn't count. So that worked as it should have.

I still has all "?" for command support.

After then letting everything settle for a little bit, I clicked test all supported commands and here is what I have for current states.....still "?"

Would it be worth removing the device completely, uninstalling the drivers via HPM and starting from scratch?

Excellent! Firmware 2.9 and Module 3.2. That is the same hardware setup I have.

What's interesting is that you are getting everything except for the number of zones. It's definitely communicating, or you wouldn't get firmware, date/time, model, serial number, etc.

Neither the availableStations or zoneCount attributes are even populating. That is most likely an initialization error, not a coding issue with the driver. We have the exact same hardware so I know it works here. At least that mystery is solved.

That failure and the commandSupport failure is what's odd. You're getting the date/time (opCodes 0x10 and 0x12) and identity/firmware (0x02, 0x03, 0x05), etc so... it has to be communicating with those codes yet the routine that tests EACH ONE of those is failing. That looks like a stale session problem (common to Hybrid 2.9 controllers behind module FW 3.2). The clock issue also seems to suggest a comms issue.

Animated GIF

Seriously. Don't power cycle the controller. That's not necessary.

  1. Unplug the LNK module from the ESPme.
  2. Wait ~10 seconds.
  3. Plug the module back in.
  4. Wait ~20 seconds.
  5. Open the driver page.
  6. Press Initialize.
  7. Do not run Test All Supported Commands

Power cycling the module resets the /stick capability of the module which appears to be stalled.

You should see the missing attributes (availableStations and zoneCount) populate.

No joy.

Did exactly you said in those 7 steps. (Step 5....I assume you mean the Device page > Commands, right?)

With only the Initialize button pressed, here is my current state and even lower is my logs

Summary

dev:1582026-04-11 07:56:12.350 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=1 (Clock drift: 1s)

dev:1582026-04-11 07:56:12.088 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] controllerTime=19:56:11 (2026-04-11 19:56:11)

dev:1582026-04-11 07:56:11.463 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: 192.168.4.28:80 failed to respond

dev:1582026-04-11 07:56:10.723 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:10 (Clock synchronized at 2026-04-11 19:56:10 | Drift corrected: 11317s)

dev:1582026-04-11 07:56:10.698 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:10.655 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11317 (Clock drift: 11317s)

dev:1582026-04-11 07:56:10.390 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:09.873 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:09.112 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:09 (Clock synchronized at 2026-04-11 19:56:09 | Drift corrected: 11316s)

dev:1582026-04-11 07:56:09.060 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:09.013 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11316 (Clock drift: 11316s)

dev:1582026-04-11 07:56:08.753 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:08.191 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:07.438 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:07 (Clock synchronized at 2026-04-11 19:56:07 | Drift corrected: 11314s)

dev:1582026-04-11 07:56:07.414 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:07.373 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11314 (Clock drift: 11314s)

dev:1582026-04-11 07:56:07.113 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:06.598 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:05.854 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:05 (Clock synchronized at 2026-04-11 19:56:05 | Drift corrected: 11312s)

dev:1582026-04-11 07:56:05.792 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:05.742 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11312 (Clock drift: 11312s)

dev:1582026-04-11 07:56:05.477 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:05.013 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:04.215 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:04 (Clock synchronized at 2026-04-11 19:56:04 | Drift corrected: 11311s)

dev:1582026-04-11 07:56:04.190 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:04.146 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11311 (Clock drift: 11311s)

dev:1582026-04-11 07:56:03.885 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:03.624 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:02.583 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:02 (Clock synchronized at 2026-04-11 19:56:02 | Drift corrected: 11309s)

dev:1582026-04-11 07:56:02.558 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:02.508 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11309 (Clock drift: 11309s)

dev:1582026-04-11 07:56:02.247 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:01.750 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:00.971 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:56:00 (Clock synchronized at 2026-04-11 19:56:00 | Drift corrected: 11307s)

dev:1582026-04-11 07:56:00.946 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:00.924 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11307 (Clock drift: 11307s)

dev:1582026-04-11 07:56:00.662 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:56:00.157 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:59.391 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:59 (Clock synchronized at 2026-04-11 19:55:59 | Drift corrected: 11306s)

dev:1582026-04-11 07:55:59.363 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:59.308 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11306 (Clock drift: 11306s)

dev:1582026-04-11 07:55:59.045 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:58.513 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:57.720 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:57 (Clock synchronized at 2026-04-11 19:55:57 | Drift corrected: 11304s)

dev:1582026-04-11 07:55:57.695 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:57.645 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11304 (Clock drift: 11304s)

dev:1582026-04-11 07:55:57.384 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:56.905 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:56.111 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:56 (Clock synchronized at 2026-04-11 19:55:56 | Drift corrected: 11303s)

dev:1582026-04-11 07:55:56.087 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:56.070 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11303 (Clock drift: 11303s)

dev:1582026-04-11 07:55:55.809 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:55.296 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:54.545 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:54 (Clock synchronized at 2026-04-11 19:55:54 | Drift corrected: 11301s)

dev:1582026-04-11 07:55:54.521 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:54.484 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11301 (Clock drift: 11301s)

dev:1582026-04-11 07:55:54.224 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:53.748 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:52.978 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:52 (Clock synchronized at 2026-04-11 19:55:52 | Drift corrected: 11299s)

dev:1582026-04-11 07:55:52.951 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:52.934 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11299 (Clock drift: 11299s)

dev:1582026-04-11 07:55:52.672 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:52.170 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:51.424 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:51 (Clock synchronized at 2026-04-11 19:55:51 | Drift corrected: 11298s)

dev:1582026-04-11 07:55:51.398 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:51.385 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11298 (Clock drift: 11298s)

dev:1582026-04-11 07:55:51.124 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:50.621 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:49.877 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:49 (Clock synchronized at 2026-04-11 19:55:49 | Drift corrected: 11296s)

dev:1582026-04-11 07:55:49.852 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:49.841 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11296 (Clock drift: 11296s)

dev:1582026-04-11 07:55:49.577 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:49.070 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:48.327 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:48 (Clock synchronized at 2026-04-11 19:55:48 | Drift corrected: 11295s)

dev:1582026-04-11 07:55:48.303 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:48.293 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11295 (Clock drift: 11295s)

dev:1582026-04-11 07:55:48.032 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:47.492 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:46.749 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:46 (Clock synchronized at 2026-04-11 19:55:46 | Drift corrected: 11293s)

dev:1582026-04-11 07:55:46.725 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:46.714 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11293 (Clock drift: 11293s)

dev:1582026-04-11 07:55:46.452 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:45.945 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:45.204 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:45 (Clock synchronized at 2026-04-11 19:55:45 | Drift corrected: 11292s)

dev:1582026-04-11 07:55:45.179 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:45.167 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11292 (Clock drift: 11292s)

dev:1582026-04-11 07:55:44.905 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:44.394 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:43.652 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:43 (Clock synchronized at 2026-04-11 19:55:43 | Drift corrected: 11290s)

dev:1582026-04-11 07:55:43.628 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:43.617 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11290 (Clock drift: 11290s)

dev:1582026-04-11 07:55:43.355 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:42.856 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:42.101 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] lastSync=2026-04-11 19:55:42 (Clock synchronized at 2026-04-11 19:55:42 | Drift corrected: 11289s)

dev:1582026-04-11 07:55:42.081 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:42.035 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] clockDrift=11289 (Clock drift: 11289s)

dev:1582026-04-11 07:55:41.773 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.764 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.754 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getAvailableStations(): No response

dev:1582026-04-11 07:55:41.753 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.743 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainDelay: No valid response

dev:1582026-04-11 07:55:41.742 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.724 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getWaterBudget: No valid response

dev:1582026-04-11 07:55:41.722 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.709 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainSensorState(): No valid response

dev:1582026-04-11 07:55:41.708 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.698 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] No compatible controller-state opcode (4C/3F) supported; skipping zone status refresh.

dev:1582026-04-11 07:55:41.696 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.683 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.674 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.663 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.654 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:41.133 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] Refresh scheduled every 240 minute(s) (offset 2) using CRON '0 0 2/4 ? * * *'.

dev:1582026-04-11 07:55:41.113 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 07:55:40.268 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] driverInfo=Rain Bird LNK/LNK2 WiFi Module Controller v0.1.3.15 (2026.04.11)

Also, when trying to run zone 1, I get a single line on my log:

2026-04-11 08:00:07.114 PM

error

[Rain Bird LNK/LNK2 WiFi Module Controller] runZone() failed: Cannot invoke method toInteger() on null object

I turned the clock sync back off just for easier debugging. Here is what my initialize looks like after unplugging the LNK module, and then pugging it back in and pressing Initialize and ONLY that.

Summary

dev:1582026-04-11 08:12:05.949 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.930 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.921 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getAvailableStations(): No response

dev:1582026-04-11 08:12:05.919 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.873 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainDelay: No valid response

dev:1582026-04-11 08:12:05.872 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.864 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getWaterBudget: No valid response

dev:1582026-04-11 08:12:05.862 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.855 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainSensorState(): No valid response

dev:1582026-04-11 08:12:05.853 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.846 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] No compatible controller-state opcode (4C/3F) supported; skipping zone status refresh.

dev:1582026-04-11 08:12:05.844 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.834 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.825 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.816 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.808 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:05.287 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] Refresh scheduled every 240 minute(s) (offset 2) using CRON '0 0 2/4 ? * * *'.

dev:1582026-04-11 08:12:05.270 PM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1582026-04-11 08:12:04.472 PM

info

[Rain Bird LNK/LNK2 WiFi Module Controller] driverInfo=Rain Bird LNK/LNK2 WiFi Module Controller v0.1.3.15 (2026.04.11)

Very strange indeed. I need to do some more hunting around. The oddest part is we're almost running the same hardware. I want to make sure that extra zone module isn't somehow messing with us. I doubt it but with Rain Bird one never knows.

I don't think this is an issue but... Go ahead and delete the device, and lets start from scratch. I want to see if we're tracking a ghost with those serial numbers and device types. Just like power cycling the module, it won't hurt anything.

Deleted the device.
Uninstalled the driver.
Rebooted HE hub.
Reinstalled driver via HPM
Recreated virtual device
Entered IP and password and also changed the sync time to 4 hours.
Clicked Initialize.

Here are my logs from start to finish. I'm not convinced it is EVER actually doing a handshake with my LNK.

Summary

dev:1652026-04-12 09:32:52.651 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.640 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.630 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getAvailableStations(): No response

dev:1652026-04-12 09:32:52.627 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.617 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainDelay: No valid response

dev:1652026-04-12 09:32:52.615 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.606 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getWaterBudget: No valid response

dev:1652026-04-12 09:32:52.604 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.595 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainSensorState(): No valid response

dev:1652026-04-12 09:32:52.593 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.585 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] No compatible controller-state opcode (4C/3F) supported; skipping zone status refresh.

dev:1652026-04-12 09:32:52.583 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.567 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.522 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.509 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:52.496 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:32:51.941 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.474 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.464 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.454 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getAvailableStations(): No response

dev:1652026-04-12 09:31:32.452 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.434 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainDelay: No valid response

dev:1652026-04-12 09:31:32.432 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.418 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getWaterBudget: No valid response

dev:1652026-04-12 09:31:32.416 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.407 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] getRainSensorState(): No valid response

dev:1652026-04-12 09:31:32.405 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.365 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] No compatible controller-state opcode (4C/3F) supported; skipping zone status refresh.

dev:1652026-04-12 09:31:32.363 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.353 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.339 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.330 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:32.318 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:31:31.758 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] sendRainbirdCommand() exception: status code: 503, reason phrase: Service Unavailable

dev:1652026-04-12 09:30:30.094 AM

warn

[Rain Bird LNK/LNK2 WiFi Module Controller] Cannot initialize. Preferences must be set.

dev:1652026-04-12 09:30:30.083 AM

info

Installed. Rain Bird LNK/LNK2 WiFi Module Controller v0.1.3.15 (2026.04.11)

Also, my Current States is very empty. I ONLY clicked the Initialize button.
image

So I'm beginning to wonder if I have a hardware issue on the Rainbird side and nothing wrong on the HE side.

When using the app, it has always been finiky. It will frequenly give "communication error: the rain bird server has not received a responce from the controller. Please verify......" And frequently gives other random errors. There are other times where it starts to connect and download the schdule and just stops at a specific/random % complete.

I've always just assumed this was normal. Curious if you ever run into issues with the app (i'm using an iphone) where you have to "kill" the app, wait a bit and try again.

Maybe something with my router? Although your comment that these LNK devices are easily overwhelmed with requests sounds more like what I'm having happen. I wonder if my LNK is just constantly "tapping out".

Might could be :wink:

The driver is reading the model, serial number, and controller firmware but not the module firmware, which is really odd.

That, along with what we're seeing, sure does seem like an issue with the module itself, not your Wi-Fi connection. The reason I don't think it's the Wi-Fi connection is that our logs show those 503 errors (Service Unavailable) and not 408 (Request Timeout). IOW, we're getting a positive comm link that says, "I'm too busy" vs a "What? I can't hear you." message.

If you're getting app errors like that and over random errors, I honestly don't think its this driver. Rain Bird's app not working on their hardware might be the smoking gun.

Do you have access to another module? Perhaps a neighbor has similar hardware?

No, I don't have access to any other modules to swap out.

If I Run "Test all supported commands" the module firmware DOES show up.....v3.2.

One thing that I noticed.....that Serial Number; It doesn't match the serial number on my esp-me or my LNK. Is that normal?

Also what is weird is that a handful of versions back when I first installed it, it would work just fine for zones 1-7. It was just zones 8 and 9 that were getting messed up. So, seems like somewhere there should be a solution to work.

Ok....so total random curveball. I AM able to set rain delays. I put 7 days and click set, no errors on the logs and I go to the app and it does show a 7 day rain delay.......So clearly the two are talking.

Also, it if I "create zone children" it does successfully create zones 1-6.

Inside that child device, nothing works EXCEPT the Off button does give me a controller reply

Another test....I can turn a zone on with my phone, and when I click "Turn Irrigation Off" it DOES turn the sprinkler off and I get this log:

Another random curveball: When I go in the app-settings-network info, at the bottom is WiFi device Firmware Version, and here it is listed as 1.63.....not the 3.2 like HE is showing.

So the fact that I get partial functionality like stopping active irrigation and rain delays makes me undo my previous thought that it is a network issue. Clearly HE is talking to the device. It has no problem running those tasks. There simply seems to be some sort of issue with seeing the zones.

Yes, the issue is it is not communicating reliably, so it can't see the zones, diagnostics, etc.

Creating the child devices is 100% controlled with the driver. The controller and comms have nothing to do with that which is why it works.

Being able to stop a running zone means it's responding to the one STOP opcode. The problem is, without the driver knowing precisely which version of firmware its talking to, everything will always be hit-or-miss.

The same for rain delay opcode. That isn't firmware specific.

That error for line 677 comes from the driver not knowing which zones are available (null) so it can't verify zone (null) is off.

It's not a Wi-Fi issue. A Wi-Fi issue won't cause 503 errors. If the driver can't cleanly get a response to which opcodes are available or not (all those '?' responses), it can't properly control anything.

From the thread here, v0.1.3.3 was what was working for you, except for the clamping of zones 9 & 10. I'll grab a copy of that version and update the clamp only and put it on git for you. If that works, at least we'll have a known good and can see exactly what's causing the issue.

Posting this here for any future folks that may have the same issue as I did.

IF you have an ESP-ME with a zone expander and maybe the light grey original LNK module and you run into a bunch of issues as discussed above, please DM myself or MHedish. Offline we were able to get my system working. It requires some very unique modification to the driver code that really only applied to my specific setup so MHedish isn't posting those changes publicly as it is likely to do more harm that good. So if you are running into issues of not all your zones showing up, or your zone numbers showing up weird, let either of us know and can send you the "tweaked" driver code that works for my hodge-podge setup.

1 Like