[ST Edge] RainMachine

This Edge driver provides an integration between SmartThings and RainMachine over LAN connection.

Installation

3 Likes

Thanks for writing this @brbeaird. How are the zones exposed so they can be used in routines/automations?

Right now, you can just turn the zones on or off through automations. I also plan to expose the runtime minute value as well as “pause” once I get some more time.

Cool, that’s what I was hoping for, thanks! I currently use a Spruce controller, but they’ve not done anything yet to move to Edge, so this may be a good time for me to switch irrigation controllers.

hmm, so 2 out of my 5 zones dont have the option to adjust the duration to water.
they display only on or off and the health. strange.

nvm… i turned the zone on, and then off, then refreshed, and the time option appeared! beautiful work!

edit #3… strange, i set the time to 30min and it still seems to only work for a couple min and shut off. does this take into account if the zone 1 is a master valve?

edit#4… so i set my zone 1 to 30 min aswell… same thing. i set both zone 1 and my front sprinkler zone to 30 min and still, it will only work for 1 minute.
I see aswell under “minutes remaining” it will say 1 minute when i turn on the zone even though i have 30 selected on the bar.

Interesting. I thought I tested that, but I may have missed something. I’ll take a look. My master valve is also on zone 1, so I should be able to reproduce it.

Yep, it was a bug - I think I’ve got it fixed now. New driver ID will be dated 2023-07-01T16:23:57.73741076 whenever your hub takes it.

Awesome, all is working perfectly now! Thanks so much. This driver is solid now.

Is there a way to hide inactive zones or otherwise delete them? I have one active zone (Kurapia). The second zone (Flower Beds) isn’t actively watering. The remaining zones (Zone 3 to Zone 8) aren’t even wired up and are also marked Inactive on the RainMachine. However all zones appear as devices:

I tried deleting these unused zones but they just reappeared after a few seconds. Also, I don’t know if this is related, but my first zone appears twice. Again, if I try to delete the duplicate, it just reappears.

If it helps, here is the CLI log for when I tried deleting Zone 8:

2023-07-18T18:18:06.279989918+00:00 INFO RainMachine Connector  <Device: 49f82677-c808-43fb-9fd4-58ade09cc6d7 (Zone 8)> received lifecycle event: removed
2023-07-18T18:18:06.281854251+00:00 TRACE RainMachine Connector  Found DeviceLifecycleDispatcher handler in rainMachineConnectorDriver
2023-07-18T18:18:06.283080251+00:00 WARN RainMachine Connector  49f82677-c808-43fb-9fd4-58ade09cc6d7: rainmachine-zone-8> removed
2023-07-18T18:18:06.284293918+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:06.302616251+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:07.277638918+00:00 INFO RainMachine Connector  NetworkId RainMachineController
2023-07-18T18:18:07.647252918+00:00 INFO RainMachine Connector  Ready to create Zone 8 (rainmachine-zone-8)
2023-07-18T18:18:07.648403585+00:00 DEBUG RainMachine Connector  RainMachine-Controller device thread event handled
2023-07-18T18:18:09.595313253+00:00 TRACE RainMachine Connector  Received event with handler device_lifecycle
2023-07-18T18:18:09.636428586+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> received lifecycle event: added
2023-07-18T18:18:09.648463586+00:00 TRACE RainMachine Connector  Received event with handler device_lifecycle
2023-07-18T18:18:09.656553586+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> received lifecycle event: doConfigure
2023-07-18T18:18:09.670078586+00:00 TRACE RainMachine Connector  Found DeviceLifecycleDispatcher handler in rainMachineConnectorDriver
2023-07-18T18:18:09.671404919+00:00 INFO RainMachine Connector  8a239387-2300-4d73-a47d-e8d734ba7052: rainmachine-zone-8> ADDED
2023-07-18T18:18:09.672630919+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:09.673842919+00:00 TRACE RainMachine Connector  Received event with handler device_lifecycle
2023-07-18T18:18:09.675046253+00:00 INFO RainMachine Connector  <Device: e15b09d5-9cf0-4def-b121-283413e46dc5 (RainMachine-Controller)> received lifecycle event: infoChanged
2023-07-18T18:18:09.682931586+00:00 TRACE RainMachine Connector  Found DeviceLifecycleDispatcher handler in rainMachineConnectorDriver
2023-07-18T18:18:09.689181253+00:00 DEBUG RainMachine Connector  Zone 8: rainmachine-zone-8> INITIALIZING
2023-07-18T18:18:09.690051919+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:09.692217919+00:00 TRACE RainMachine Connector  Found DeviceLifecycleDispatcher handler in rainMachineConnectorDriver
2023-07-18T18:18:09.694365586+00:00 DEBUG RainMachine Connector  Info changed handler invoked
2023-07-18T18:18:09.711365919+00:00 INFO RainMachine Connector  NetworkId RainMachineController
2023-07-18T18:18:09.736566919+00:00 TRACE RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> received unhandled lifecycle event: doConfigure
2023-07-18T18:18:09.737703253+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:09.754829253+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled
2023-07-18T18:18:10.524745920+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> emitting event: {"capability_id":"towertalent27877.health","component_id":"main","state":{"value":"Online"},"attribute_id":"healthStatus"}
2023-07-18T18:18:10.540142920+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> emitting event: {"capability_id":"towertalent27877.zoneruntime2","component_id":"main","state":{"value":5},"attribute_id":"runminutes"}
2023-07-18T18:18:10.558041586+00:00 TRACE RainMachine Connector  Switch Zone 8: setting status to unknown
2023-07-18T18:18:10.566546920+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> emitting event: {"capability_id":"switch","component_id":"main","state":{"value":"off"},"attribute_id":"switch"}
2023-07-18T18:18:10.589107586+00:00 TRACE RainMachine Connector  Zone Zone 8: setting remaining to 0
2023-07-18T18:18:10.589963920+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> emitting event: {"capability_id":"towertalent27877.zonetimeremaining","component_id":"main","state":{"value":0},"attribute_id":"minutesRemaining"}
2023-07-18T18:18:10.618826253+00:00 DEBUG RainMachine Connector  RainMachine-Controller device thread event handled
2023-07-18T18:18:10.620340920+00:00 TRACE RainMachine Connector  Received event with handler device_lifecycle
2023-07-18T18:18:10.621562920+00:00 INFO RainMachine Connector  <Device: 8a239387-2300-4d73-a47d-e8d734ba7052 (Zone 8)> received lifecycle event: infoChanged
2023-07-18T18:18:10.623489253+00:00 DEBUG RainMachine Connector  RainMachine-Controller device thread event handled
2023-07-18T18:18:10.625097920+00:00 TRACE RainMachine Connector  Found DeviceLifecycleDispatcher handler in rainMachineConnectorDriver
2023-07-18T18:18:10.629744920+00:00 DEBUG RainMachine Connector  Info changed handler invoked
2023-07-18T18:18:10.630971586+00:00 INFO RainMachine Connector  NetworkId rainmachine-zone-8
2023-07-18T18:18:11.034433920+00:00 DEBUG RainMachine Connector  Zone 8 device thread event handled

Not at the moment. I’ve intended to add an “ignore list” when I get some time.

1 Like

i have 3 controllers, is there a way to handle that?

Not currently, but I could probably figure out a way to create additional controller devices.

Thanks for any effort!