[RELEASE] Orbit Bhyve+

This app is a continuation of the Orbit BHyve Integration which isn't being maintained anymore.

All I wanted to do initially is fix a few errors that were showing up regularly in the logs.

I use my Orbit Bhyve timer fairly often so if there's anything I can add to make it better I will. But, I do want to say that this app is really well written and all the credit goes to the original developer(s)

Installing

I submitted Orbit Bhyve+ to the Hubitat Package Manager (HPM) so I'd recommend anyone who wants it to look for it there.

NOTE: If you already have Orbit BHyve Integration installed you'll want to remove it first. I'm not sure you can have both of them installed at the same time (not tested anyway)

6 Likes

Mind linking to the github/source for those who manually add aps?

Great thanks! Has anyone else noticed really poor battery life? Not sure if it would primarily relate to the distance to the Wi-Fi hub or if it might have to do with polling frequency…but mine is terrible, like no more than a month.

https://github.com/jpage4500/hubitat-drivers/tree/master/orbit-bhyve; there's 1 app and 2 drivers

I'll try to keep track next time I have to change batteries but I feel like mine lasts several months at least. It's probably been a few months since my last change and it's at 70 right now.

Yeah, maybe it has to do with the distance to the wifi hub.. I just added a 2nd timer which is pretty far from the wifi hub so I guess I'll find that out pretty fast.

Is anyone familiar with why this driver will auto re-connect to the websocket every 30 minutes? I imagine there was a reason this is there but ideally it'd just stay connected as long as it can. I think websockets have 'pings' which they use to make sure both sides are still active.

I think the frequency is user selectable in the controller app.

That refresh interval is something different.

There's separate logic in the driver which will disconnect every 30 minutes. I'm sure there was a reason for this so I don't want to mess with it w/out a lot of testing first.. just wondered if anyone knew what that reason was

def pingWebSocket() {
    if (now()-(30*60*1000) >= state.webSocketOpenTime) {
        logDebug "WebSocket has been open for 30 minutes, reconnecting"
        initialize()
        return
    }
    def pingMsg = [ event: "ping"]
    safeWSSend(pingMsg, false)
}

Download the Hubitat app