[No Longer Maintained] Orbit BHyve Integration

Yep, that’s what I’m attempting to use.

I went back and read earlier in this thread and see a couple of other users had issues with time zone. I hope trying this gets it working.

You can read from here for more on the time zone issue.

@swade Yep, saw that. That user says when he installed the app he got devices and then the error. I'm not getting any devices whatsoever. In my iOS app I have a watering schedule, a location set, etc.

It's like when hitting that timezone error it just stops dead and proceeds no further.

Ok, can you run the Orbit Bhyve Controller App?

Also, is the Orbit Wi-Fi hub and the hubitat hub on the same network? Do you have a guest network that you use to keep some devices separate?

Yep, runs fine. Looks exactly like yours. Just no devices are created and the logs show the timezone error.

So I took the nuclear option: deleted and reset EVERYTHING. Ground up reinstall. Now it's working.

Go figure.

2 Likes

Great to here.

1 Like

Interestingly, no matter what rules I set this only runs for ten minutes and then stops. Thoughts?

The default device value is 10 minutes. Can you change it there?

Where is this located, within the app itself?

Found it - never thought to look at the device created.

I presume 0 means outside control (rules engines) can set the time?

I could not find a way to set the time in a rule.

So what's the value of this app over just using the BHyve app if I can't use rules to set the time?

I've deleted this app.

I use it to open and close the valve in an automation. All the logic (schedule, etc.) are in my Hubitat automations and I don't use the BHyve app at all (after initial setup).

I do vaguely remember something about a default run time in the app, but I don't recall what I did to make it go away. Perhaps since I'm only opening/closing valves and not doing anything with the schedule, it doesn't affect what I'm doing.

The other thing I am remembering is that this integration didn't work until I'd actually run a zone using the app once. Maybe there's some stuff that doesn't get populated in the API until that occurs.

This is what I want to do, open/close on my schedule and for my duration, factoring in other criteria which will cause the duration to change. I can't have a default duration.

The runtime on my BHyve zones is typically 25-30 minutes, controlled by a rule. I don't have any issue with a default runtime.

There is a per device Preset Runtime which you can set in the BHyve app (My B-Hyve/Devices//Preset Runtime.

Unfortunately, I only use the BHyve valves in the fall when I reseed, so I'm unable to do any testing at this time. But I can see from watering history from last fall that it operated 25-35 minutes as expected.

Where is your runtime scheduled? In HE's Rules engine? In your Bhyve app do you have a default runtime set? In your instance of this integration do you have a default runtime set?

There isn't a default runtime in the integration app, but I see each device has one set (mine are 15 and 20). And in the BHyve app itself it appears I have 30 on one and 10 on the other. That said, none of these numbers seem to impact my simple use of the integration to turn on a valve and turn it off at any point I'd like later.

My runtime is actually scheduled in my Rachio controller. In Rachio, I have two zones to which have no valve is actually connected but Rachio doesn't know that. And what I have in Hubitat are two rules that mirror the Rachio zones into BHyve. This allows me to use Rachio weather intelligence and scheduling and not use the BHyve app or scheduling at all. Here's one of the mirror rules:

Does this app/driver still function?

I love getting into an API but don't really have the time for it.

Mister > Motion sensor > on (Arizona)

I use it but recently have noticed errors in the logs... Doesn't seem to affect the function, just don't like seeing the errors.

I recently hit up support about it, but they have not replied. Here is the error.

java.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 265 (method refresh)