Calling device.refresh() result in MissingMethodException

I’m seeing this error message in the log:

groovy.lang.MissingMethodException: No signature of method: physicalgraph.device.HubMultiAction.add() is applicable for argument types: (groovy.json.internal.LazyMap) values: [[Attributes:[[AttributeDisplayName:online, IsDeviceProperty:false, ...], ...], ...]]
Possible solutions: add(java.lang.String), add(java.util.List), add(physicalgraph.device.HubAction), add(physicalgraph.device.HubMultiAction), any(), any(groovy.lang.Closure) @line 114 (forceRefreshGarageState)

The line in question is basically calling device.refresh() on a device selected by refresh capability:
https://github.com/fishy/SmartThings-OpenGarage/blob/c996b7899774c06022fd6761c572b6b136fb5c8c/garage-door-helper.groovy#L114 (the device was defined here)

It did work with some other devices with refresh capability, but not the one I want to use. The particular device having this problem is from a device handler I wrote myself for MyQ garage integration (but it works fine otherwise, including its own refresh button): https://gist.github.com/fishy/5d5bdae727d5daa75f00e723ed4fc183

Anyone have any clues? Thanks in advance.