Bali Autowave Shades - Erratic Behavior

Misery loves company!

I'm going to call Bali this morning to see if I can get an explanation on what the red light is trying to tell me. Hopefully it will give me some direction on how to correct this.

Weather was terrible here Sunday afternoon so I excluded everything from HE and added them to Wink for the first time. No issues at all getting them to respond consistently. Excluded everything from Wink and added it all back to a native Somfy group controller. No issues at all since then.

Still leaning towards a communication issue...

With regards to your issue, have you tried removing the shade that acts weird every time from schedule to see if the erratic behavior moves to another shade?

Speaking of the red light issue, I'm glad you mentioned that. I haven't noticed if my "problem child" shade is doing that, since that end of it is partially obscured, but I'll see if I can catch it. I wish the manual had some guidance on it, but as you've likely found, there doesn't appear to be any. Hopefully Bali support can provide you with some answers.

Good idea...I haven't tried removing the "problem child" to see if the problem persists, but that may be a next step I'll take. Since my problem is intermittent, my focus so far has been to dig through the logs and compare how they look when the problem happens vs. when it doesn't.

Also, I forgot to mention: I'm also using the Z-Wave Shade driver, and I noticed that there's a parsing error in parse() where it's trying to get the level from the response string. (At least so it seems; I'm a noob at Groovy.)

Anyway, it was choking on the isMulticast part of the response, so I hacked up a little mod to see if that would help. It didn't solve my problem, but at least the error went away in the logs. :laughing: Are you seeing a similar error?

Yep, I saw the same parsing error when I was using the Z-Wave Shade driver as well. I moved to a dimmer driver shortly after that and didn't give the parsing error much thought since I was still getting the erratic behavior.

jdntx? As in JD in Texas?

LOL... Yep, you got it! Since you mentioned the bad weather on Sunday, are you in the area?

@jdntx - Yep, I'm near downtown Fort Worth.

No joy with Bali today. Initially blamed it on a power issue and then switched the "non-certified" jargon when I mention I was working with Hubitat. "We work wonderfully with Smart Things and Wink!"...

I migrated the rest of my switches and plugs from Wink tonight. I think I'll give configuring the shades another try in a day or so and see if the the additional repeaters help my issue.

BTW, how many repeating devices do you have nearby?

Also, could I get a copy of the device driver your using?

Oh, nice...I used to live somewhat near there. That's a cool area.

Sorry to hear that about Bali support. I'm always worried that I'll hit a wall with support when I'm not following their "approved" path. That's part of the reason I haven't gotten in touch with them on my issue. (Plus, to their point, my issue actually didn't happen with SmartThings, but I'm sticking with Hubitat. :grin:)

Good call on migrating more devices, I'd think. It seems like the additional repeaters should help, though I'm no Z-Wave expert...I'm sure others will chime in on that.

As far as repeaters near my "problem child", there's just the other wall-powered shade that's about 6-8 feet away, but ironically, my problem shade is the closest device to my hub (about 15 feet line-of-sight).

Sure, I'm just using the Z-Wave Shade driver that @DeveloperDavidB has posted before, with the modified parse() routine below. (I apologize in advance for the code. This could probably be done better/easier, but I'm still learning Groovy.)

def parse(String description) {
    def result = null
    def hexVal = null
    def movingHex = null
    if (description != "updated") {
        log("parse() >> zwave.parse($description)", "DEBUG")
        if(description.trim().endsWith("payload: 00 00 00")) {
            sendEvent(name: "level", value: 0, unit: "%")
            log("Shade is down, setting level to 0%.", "DEBUG")
        } else if(description.contains("command: 2603")) {
            if(description.contains("isMulticast")) {
                log("Detected isMulticast string", "DEBUG")
                def mcastIdx = description.lastIndexOf(",")
                def dummyStr = description.substring(0,mcastIdx)
                hexVal = dummyStr.trim()[-8..-7]
                movingHex = dummyStr.trim()[-2..-1]
            } else {
                hexVal = description.trim()[-8..-7]
                movingHex = description.trim()[-2..-1]
            }
            log("hexVal = ${hexVal}.", "DEBUG")
            try {
                def intVal = zigbee.convertHexToInt(hexVal)
                def movingInt = zigbee.convertHexToInt(movingHex)
                log("intVal = ${intVal}.", "DEBUG")

                if(movingInt == 0) {
                    log("Shade has stopped.", "INFO")
                } else if(movingInt == 254) {
                    log("Shade is moving.", "INFO")
                } else {
                    log("movingInt = ${movingInt}.", "INFO")
                }

                sendEvent(name: "level", value: intVal, unit: "%")
            } catch(e) {
                log("Exception ${e}", "ERROR")
            }
        } else if(description.contains("command: 8003")) {
            log("Battery Reported.", "DEBUG")
        }

        def cmd = zwave.parse(description, [0x20: 1, 0x26: 1, 0x70: 1])
        if (cmd) {
            result = zwaveEvent(cmd)
        }
    }
    if (result?.name == 'hail' && hubFirmwareLessThan("000.011.00602")) {
        result = [result, response(zwave.basicV1.basicGet())]
        log("Was hailed: requesting state update", "DEBUG")
    } else {
        log("Parse returned ${result?.descriptionText}", "DEBUG")
    }

    return result
}

Thanks @jdntx ! I'll drop it in and try it this weekend.

1 Like

@wms.mcs Did you ever get a resolution to this? I am having the same issue . Here is the thread that I had recently going.

It's funny you pinged me about this! I was never able to resolve my issues and went back to just using the supplied Bali remote. I keep thinking about trying to get them working on Hubitat but just haven't found the time.

The behavior you describe is very similar to what I was experiencing. The blinds acted like they were in an z-wave signal storm. Too many commands flying around and the blinds couldn't process all the requests and just gave up.

Please keep me posted on your progress and if you're finally able to get the results you're looking for!

Will do. If blinds don't work, its sort of deal breaker for me and I may have to suck it up and go back to Wink. I really hope not 'cos I am loving everything else about HE. The house warden has given me till the end of the week to get it resolved or else..... :worried:

I have Graber shades (also Somfy guts). I heard somewhere they are sensitive to the strength of the Z-Wave mesh so I put an Aeotec repeater in the room. I have five shades in the bedroom and they all work fine as far as going to the correct position (and another in my office) I have specified in the rule.

What driver are you using?

Generic Z-Wave Shade (built-in).

Mind sharing the rule with me?

Thanks, I see ... you are using Pico to control shade position. I am trying to some something different.. here is my rule

See this update - Moving from Wink - Shade Woes in Hubitat. Help!

Old thread dredge here. I was having erratic results with one shade in particular (2 others worked ok). The blind would work fine for a while, but then it would go up and not respond again. I could usually make it work by pressing the button on the blind a few times but not via hubitat.

In my case, it seems that the bind was binding slightly at one end. Perhaps I didn't hang it quite level but the edge of the blind was rubbing up against the housing at one end. I took a pair of sewing scissors and trimmed a few mm from that end of the vinyl all the way along the edge and now it has been working reliably. If you have fancier material that can't be trimmed, it might be better to re-level the shade.

@dpeeling
Did you ever get the 11.3 firmware for the Bali Blinds? I have it