[No Longer Maintained] Orbit BHyve Integration

Hi everyone,

been working on this for a while and I know some are aware of it already but I never officially posted a thread! This integration is originally a port of the ST integration, but I added support for things that HE supports and ST doesn't so you can actually control the devices via a WebSocket. This works with both the hose timer and 6 and 12 port controllers over Wifi. This is a cloud integration so keep that in mind but because it is WebSocket based things should be nearly real time.

The integration is available in HPM and you can find it on Github at GitHub - dcmeglio/hubitat-orbitbhyve: Provides integration with a Orbit™ Bhyve Timer and SmartThings

13 Likes

Works great, thanks for the integration!

Just got a "B-Hyve Smart Hose Faucet Irrigation Controller/Wi-Fi Hub" from Home Depot and set it up via the Android app. Next I installed this driver and configured it. I only see my "Bhyve Wi-Fi Hub" in the devices list and there's no commands there except for Refresh.

I did notice this in the logs.. any idea what went wrong?

app:2062020-10-15 02:09:36.307 pm errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.util.TimeZone#getTimeZone.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
	[class java.lang.String]
	[class java.time.ZoneId] on line 406 (refresh)
app:2062020-10-15 02:09:21.664 pm errorjava.lang.NullPointerException: null on line 660 (installed)

thanks,
joe

Update: I guess my wifi hub was offline because I went through the configuration again and this time I see both the wifi hub and controller in the devices list!

@dman2306 -- question - would it be possible to add an optional parameter to the open command - the number of minutes to run for? Just thinking that would be a nice addition to have via the dashboard I'm working on.. in addition to running for the default time also being able to run it for X minutes..

no biggie though - thanks for putting this together!

I'll take a look at adding that. While that would work for your dashboard app, it wouldn't work for the HE dashboard since it can't call custom commands.

Agreed.. I thought about that too.. I wasn't looking for special treatment.

I was thinking for any HE dashboard or even Google/Alexa voice control -- would it be possible to create a virtual switch/button that turned the Orbit value on for a custom time? For example, could I have a virtual button that would run the valve for 1 hour? And another one for 15 minutes?

sorry, 2 more questions while I'm thinking of them..

  1. I opened the hose timer valve for 30 minutes and I didn't see any indication of how long it had remaining before it closed. Is that available anywhere or possible to figure out?

  2. i noticed this driver was a fork of another HE driver described here. I know you added several features but has anything been added to the original driver that is worth adding here too?

side-note -- now that I think about it, I installed the Orbit driver via the HE Package Manager.. does that mean I'm running the other driver and not yours? I can remove and switch over but was hoping to figure out what the differences were today.

thanks again for the support!!
joe

Yeah, it'd still boil down to a custom command. I'll try to find some time this weekend.

Currently nothing in my driver for this, I think there was some data for this in the websocket data but I'll have to play around and look.

It started as that, yes, but then became a complete rewrite. That driver didn't have the ability to control the valve at all, only read state. It was basically an ST port and didn't add any HE specific functionality. So I pretty much rewrote it for HE. I don't think they've added any other functionality, but if they did, I'm always open to anyone submitting PRs!

The one in HPM is this one so you should be good. Basically, if you have an open/close command, you have my driver as the original one only supported reading, not controlling.

1 Like

I pushed a new version that has an open(minutes) command that lets you define how long the valve should be open.

I added two properties, start_time and stop_time. They're in miliseconds. It doesn't count down (that would flood events), so you need to do the math on your end if you'd like a timer. I found it pretty accurate that when stop_time == now() the valve closes within 1-2 seconds so I think it'd be pretty accurate to count down to that time to detect when it closes.

Let me know if this works for you.

Awesome!! thanks so much - I'll be happy to test it out!

I use this integration to mirror two Rachio zones to two Orbit hose controllers, and that works really well. The thing is .. I only use the hose controllers after planting grass in the fall so most of the year, the Orbit hub and controllers are unplugged or batteries pulled. Even so, I see these events in the event log. The hose controller reporting is only used by the Orbit Controller App which is disabled, and used in a rule which is disabled. Is there a way I can get these devices to rest peacefully until next fall without removing them?

dev:19092020-11-25 04:47:50.016 pm warnWaiting until Wed Nov 25 16:52:00 EST 2020 to reconnect 1177

dev:19092020-11-25 04:47:25.112 pm warnWaiting until Wed Nov 25 16:52:00 EST 2020 to reconnect 1177

dev:19092020-11-25 04:47:01.782 pm errorLost connection to Web Socket: status: closing, will reconnect.

dev:19092020-11-25 04:46:50.012 pm warnWaiting until Wed Nov 25 16:46:50 EST 2020 to reconnect 1176

dev:19092020-11-25 04:46:25.025 pm warnWaiting until Wed Nov 25 16:46:50 EST 2020 to reconnect 1176

You can mark the device as disabled within HE, but you have to make sure to reenable it again later or it won't work.

I know the secret gear icon to disable an app, and I know how to pause a rule, but just am not seeing where one can disable a device.


I don't know why they hide it so much :frowning:

2 Likes

Doh! Well, in fairness, it is similar to disabling an app. Thanks.

2 Likes

@dman2306, Thank you for your efforts on this.

Yesterday I installed Package Manager and this integration. I have one hub and several valves. The app connected and created several devices. It looks good but nothing happens. I'm seeing things like this in the logs:

I've hit the initialize button and even removed everything and reinstalled it. I also made sure it was on the same VLAN as my Hubitat.

Current values on the PC:

On the phone I was also seeing the states is_connected: true, rain_delay: 0, run_mode: auto, switch: off, valve: closed, water_flow_rate: 0.38402 before I reloaded everything. So the app is seeing the devices.

Any ideas?

Can you provide details on the exact devices you have? What version of the HE firmware do you have? Also I think I'm going to need the logs that spit out when you first run through the app setup because I think something didn't work right from the initial install.

I’m running the current HE firmware. I have one Orbit WiFi hub and 13 hose bib valves. Currently only five of the valves are powered up.

I’ll uninstall and try to capture the install logs.

1 Like

It seems the install is having an issue with the time zone.

Edit: This is running on a C5 HE.

What timezone are you in?