Soil Sensor Connectivity

@emil first off my apologies, you know I usually respond quicker than this and must have missed your reply. With regards to your question, I would be willing to put sensors in each zone or where i have 2 zones covering 1 area then a sensor in a couple of them to get a better appreciation of the area as well as to allow better care with the Rachio of that zone etc. Also where problem areas are (lets say 1 or two trees,bushes etc in a particular zone) then a zone by that particular plant.

Hi just wondering if this had made it to production. I just tried it and am receiving a 405 (mthod not allowed) error on the https://api.rach.io/1/public/zone/fill_to_amount endpoint.

Here is my curl command:
curl -v -X PUT -H “Content-Type: application/json” -H “Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” -d ‘{ “id” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”, “amount” : .5 }’ https://api.rach.io/1/public/zone/fill_to_amount

Note: identifiers obfuscated

Thanks!

Sorry not yet, will post when it goes out (hopefully couple days). Just getting some other things tested/validated.

:cheers:

no worries, thanks for letting me know. looking forward to it.

PlantLink is now being sold at Home Depot. I think this is a good sign!

We’ve just installed our first set, and so far seem to be performing very well. We just need either Rachio integration, or an IFTTT trigger!

Oh awesome, I’ve been talking to the team over there for quite some time.

Let me know your results, we have the platform for a tight integration with a device like that, just waiting for the right timing.

:cheers:

2 Likes

Code deployed, should be good to go. Let me know if you have questions.

:cheers:

Thanks for letting us know. I just tried the following call:

curl -v -X PUT -H “Content-Type: application/json” -H “Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx” -d ‘{ “id” : “fd49928c-d085-4af5-8bc6-6a377ab4ec99”, “amount” : .58 }’ https://api.rach.io/1/public/zone/fill_to_amount

The call was successful, however the zone is now showing a current moisture level of 0.39 in (115%) - which I did not expect.

Before the call the moisture level was at 56%

is this the expected outcome? If so, how can the moisture sensor reading be correctly sent over to the Iro?

A subsequent call of:

curl -v -X PUT -H “Content-Type: application/json” -H “Authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” -d ‘{ “id” : “fd49928c-d085-4af5-8bc6-6a377ab4ec99”, “amount” : .10 }’ https://api.rach.io/1/public/zone/fill_to_amount

brought the level to 0.22 in (65%) which still seems off.

thoughts?

Hi guys,
I’m also really really interested in iro interacting with plantlink. I’ve been checking in on this thread every couple of days so when I see a post that says it’s been deployed, that makes me excited. But is this deployment usable only in a developer version? How can I try this feature out? Or should I just shut up and wait until you integrate it?

Just to throw this out there, this is by far the main feature I’m waiting for, anxiously. Almost all of the other feature requests I have would be solved by this one, because once the controller is communicating with the soil and water requirements for that plant type, very little has to be customized by the user, there’s even no need to worry about a weather station reporting bad information or manually over-riding he schedule all the time.

While I’m at it I should write that there is one critical part of plantlink integration that would either have to be addressed by either you or by plant link. That is that a lot of people need two base stations, one for the front yard and one for the back since the sensors have a hard time getting through too many walls. Problem with this is that plantlink only allows one base station per account, so I have two separate plantlink accounts linked to two different email addresses for my yard that I would want to interact with my one single rachio iro. Just food for thought.

Sorry, too much coding :wink:

The value passed in is the target amount (%) of the total irrigation amount.

If you have a total irrigation amount of .5in (for full moisture, i.e what we water to fill the zone bucket) and set the moisture level to 50%, your current moisture level will be .25in.

If your current moisture level is .1in and you set to 100%, we will add .4in for a total of .5in (topped off)

I guess the better question is how do you envision using this endpoint? Maybe we change it to make it more applicable.

:cheers:

It’s probably not what you need at the moment. If plantlink integrates with IFTTT it would be a very, very simple integration.

Agreed. Just unfortunately don’t know when we will be able to build a official full integration.

Thanks for the use case. I don’t know if this adds a lot or little complexity. We will need to cross this bridge (ha ha ha) when we get there.

I love the idea of a closed loop system. As a company we just need to determine when it makes sense to use a lot of time/money to build this out.

:cheers:

I see…in the previous discussions on this thread we talked about simply sending in the reading from the sensor - no calculations needed on the “this side.” Meaning the Iro would take the reading and calculate on its own. This is simpler because you don’t have to query to find out what the total irrigation amount for full moisture is for each zone before you call the fill_to_amount endpoint. This will also avoid confusion and miscalculations on the callers side.

My moisture sensor reads .40, then I should be able to let the Iro know exactly that amount without having to do math on my end.

Thoughts?

How do you query for that zone’s total irrigation amount? I don’t see it in the API documentation, but I could definitely be missing it.

Thanks!

This makes more sense obviously. So, in your context what is .40? Is that .40 inches of moisture, or 40%/60% depleted?

I could swear I was setting that on the zone but it doesn’t look like I am. Will add that and release the code early next week.

:cheers:

It is the percent of moisture found in that zone. The sensor reads the moisture level and reports it as a percentage. It goes from 0 to 100% - i then translate it to 0 - 1 and call the endpoint. Does this make sense?

For testing purposes I use this one (I did not want to spend too much just yet): http://www.amazon.com/gp/product/B0032WFD4G

But the http://www.koubachi.com/ works the same way.

I made a few extra calls to the /public/zone/:id endpoint to make sure I wasn’t missing it. Sadly as you found out, it was not there

It does, let me think about the best way to do this. The problem is today moisture level is always affected by precipitation, any irrigation events, and daily ET. So, we can’t just set the value to 40% since events are recorded throughout the day that will modify the moisture level.

To make this truly happen we need to allow for setting the moisture level. Currently it is derived from daily observed weather, irrigation events, and precipitation.

Is best case you ultimately controlling the moisture level (all aspects) and we never derive it?

I looked again and found it. This is the amount we irrigate to (in inches).

“depthOfWater”: 0.25

:cheers:

The moisture sensor in the ground should be the definitive source right? Regardless of what other events happened (daily observed weather, irrigation events, and precipitation) if the sensor says the moisture is at 40% then that must be the case. Especially since weather stations are miles away - rain at the station may not mean rain at my house. I would say that all events should matter, but ultimately if the sensor says there is X amount of moisture then that should trump other events.

I do see depthOfWater - but I wonder how to calculate that based on the reading from the sensor.

BTW - I really appreciate your willingness to have this discussion!

Agreed. Let me think about how to do this. We will need this for sensor based control anyways.

I don’t really know if that can be reverse-engineered. If we can accept the value of the sensor as the truth, then irrigation amount (depth of water) would only be used for our watering duration, and not be used to subtract from.

:cheers:

BTW - I am going to remove the endpoint I put out to change the percent of soil moisture. It doesn’t make any sense at all to be set externally.

1 Like

Sounds good, keep me posted.

Thanks