HD PowerView Binding Issue - openHAB 3.3.0

@mvandamn apparently some instances of shades type 54,55,56 (like yours) are incorrectly reporting capabilities:4 (no vanes) when they should actually be reporting capabilities:3 (with vanes). So I have applied an override to the wrongly reported capabilities for those shade types. The Pull Request is shown below, and at the bottom of the PR is a link to download the JAR file. I would be grateful if you can test, and report back.

1 Like

Hi @AndrewFG,

I’ve loaded the new jar file into my installation, and its seems to work. When changing the Vane position in my blinds, they no longer jump back and behave as one would expect.

binding startup logs

2022-07-24 12:21:52.708 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Initializing hub
2022-07-24 12:21:52.723 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Scheduling poll every 60000 ms
2022-07-24 12:21:52.727 [TRACE] [rview.internal.HDPowerViewWebTargets] - API command GET http://192.168.10.182/api/fwversion/
2022-07-24 12:21:52.727 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Scheduling hard position refresh every 180 minutes
2022-07-24 12:21:52.749 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Initializing shade handler for shade 37001
2022-07-24 12:21:52.754 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Child handler initialized: hdpowerview:shade:192_168_10_182:37001
2022-07-24 12:21:52.762 [TRACE] [rview.internal.HDPowerViewWebTargets] - JSON response = {"firmware":{"mainProcessor":{"name":"PV Hub2.0","revision":2,"subRevision":0,"build":1056},"radio":{"revision":2,"subRevision":0,"build":2610}}}
2022-07-24 12:21:52.765 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Main processor firmware version received: PV Hub2.0, 2.0.1056
2022-07-24 12:21:52.772 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Radio firmware version received: 2.0.2610
2022-07-24 12:21:52.773 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Polling for state
2022-07-24 12:21:52.776 [TRACE] [rview.internal.HDPowerViewWebTargets] - API command GET http://192.168.10.182/api/shades/
2022-07-24 12:21:52.788 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Initializing shade handler for shade 28507
2022-07-24 12:21:52.793 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Initializing shade handler for shade 52272
2022-07-24 12:21:52.793 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Child handler initialized: hdpowerview:shade:192_168_10_182:28507
2022-07-24 12:21:52.795 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Child handler initialized: hdpowerview:shade:192_168_10_182:52272
2022-07-24 12:21:52.797 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Initializing shade handler for shade 20034
2022-07-24 12:21:52.799 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Child handler initialized: hdpowerview:shade:192_168_10_182:20034
2022-07-24 12:21:52.863 [TRACE] [rview.internal.HDPowerViewWebTargets] - JSON response = {"shadeIds":[52272,28507,37001,20034],"shadeData":[{"id":52272,"type":56,"capabilities":4,"batteryKind":3,"smartPowerSupply":{"status":0,"id":0,"port":0},"batteryStatus":3,"batteryStrength":165,"roomId":5074,"firmware":{"revision":1,"subRevision":8,"build":1944},"name":"U2lkZSBXaW5kb3c=","groupId":4826,"motor":{"revision":2,"subRevision":1,"build":0},"signalStrength":4,"positions":{"posKind1":1,"position1":65395,"posKind2":3,"position2":48}},{"id":28507,"type":55,"capabilities":4,"batteryKind":3,"smartPowerSupply":{"status":0,"id":0,"port":0},"batteryStatus":3,"batteryStrength":145,"roomId":58607,"name":"QmVkcm9vbSBXaW5kb3c=","firmware":{"revision":1,"subRevision":8,"build":1944},"groupId":62099,"signalStrength":4,"motor":{"revision":2,"subRevision":1,"build":0},"positions":{"posKind1":1,"position1":0,"posKind2":3,"position2":32768}},{"id":37001,"type":55,"capabilities":4,"batteryKind":3,"smartPowerSupply":{"status":0,"id":0,"port":0},"batteryStatus":0,"batteryStrength":0,"roomId":5074,"firmware":{"revision":1,"subRevision":8,"build":1944},"name":"U2xpZGluZyBEb29y","groupId":54698,"motor":{"revision":2,"subRevision":1,"build":0},"signalStrength":4,"positions":{"posKind1":1,"position1":37011,"posKind2":3,"position2":32767}},{"id":20034,"type":55,"capabilities":4,"batteryKind":3,"smartPowerSupply":{"status":0,"id":0,"port":0},"batteryStatus":0,"batteryStrength":0,"roomId":39451,"name":"T2ZmaWNlIFdpbmRvdw==","groupId":39348,"firmware":{"revision":1,"subRevision":8,"build":1944},"motor":{"revision":2,"subRevision":1,"build":0},"signalStrength":4,"positions":{"posKind1":1,"position1":26957,"posKind2":3,"position2":32774}}]}
2022-07-24 12:21:52.872 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Received data for 4 shades
2022-07-24 12:21:52.873 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Updating shade '20034'
2022-07-24 12:21:52.875 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Caching capabilities 3 for shade 20034
2022-07-24 12:21:52.877 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=PRIMARY_POSITION => result=59
2022-07-24 12:21:52.879 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=VANE_TILT_POSITION => result=50
2022-07-24 12:21:52.880 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=SECONDARY_POSITION => result=UNDEF
2022-07-24 12:21:52.883 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Updating shade '37001'
2022-07-24 12:21:52.886 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Caching capabilities 3 for shade 37001
2022-07-24 12:21:52.887 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=PRIMARY_POSITION => result=44
2022-07-24 12:21:52.889 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=VANE_TILT_POSITION => result=50
2022-07-24 12:21:52.891 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=SECONDARY_POSITION => result=UNDEF
2022-07-24 12:21:52.894 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Updating shade '28507'
2022-07-24 12:21:52.896 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Caching capabilities 3 for shade 28507
2022-07-24 12:21:52.898 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=PRIMARY_POSITION => result=100
2022-07-24 12:21:52.900 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=VANE_TILT_POSITION => result=50
2022-07-24 12:21:52.902 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=SECONDARY_POSITION => result=UNDEF
2022-07-24 12:21:52.906 [DEBUG] [ternal.handler.HDPowerViewHubHandler] - Updating shade '52272'
2022-07-24 12:21:52.908 [DEBUG] [rnal.handler.HDPowerViewShadeHandler] - Caching capabilities 3 for shade 52272
2022-07-24 12:21:52.910 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=PRIMARY_POSITION => result=0
2022-07-24 12:21:52.912 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=VANE_TILT_POSITION => result=0
2022-07-24 12:21:52.914 [TRACE] [powerview.internal.api.ShadePosition] - getState(): capabilities=Vertical Tilt 180° (3), coords=SECONDARY_POSITION => result=UNDEF

successful change in vane position

2022-07-24 12:28:58.389 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'BlindsOfficeWindow_Vane' received command 0
2022-07-24 12:28:58.404 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'BlindsOfficeWindow_Vane' predicted to become 0
2022-07-24 12:28:58.421 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'BlindsOfficeWindow_Vane' changed from 50 to 0
2022-07-24 12:28:58.418 [TRACE] [rview.internal.HDPowerViewWebTargets] - API command GET http://192.168.10.182/api/shades/20034
2022-07-24 12:28:58.470 [TRACE] [rview.internal.HDPowerViewWebTargets] - JSON response = {"shade":{"id":20034,"type":55,"capabilities":4,"batteryKind":3,"smartPowerSupply":{"status":0,"id":0,"port":0},"batteryStatus":0,"batteryStrength":0,"roomId":39451,"name":"T2ZmaWNlIFdpbmRvdw==","groupId":39348,"firmware":{"
revision":1,"subRevision":8,"build":1944},"motor":{"revision":2,"subRevision":1,"build":0},"signalStrength":4,"positions":{"posKind1":1,"position1":26957,"posKind2":3,"position2":32774}}}
2022-07-24 12:28:58.472 [TRACE] [powerview.internal.api.ShadePosition] - setPosition(): capabilities=Vertical Tilt 180° (3), coords=VANE_TILT_POSITION, percent=0
2022-07-24 12:28:58.476 [TRACE] [rview.internal.HDPowerViewWebTargets] - API command PUT http://192.168.10.182/api/shades/20034
2022-07-24 12:28:58.477 [TRACE] [rview.internal.HDPowerViewWebTargets] - JSON command = {"shade":{"positions":{"posKind1":1,"position1":26957,"posKind2":3,"position2":0}}}

Thank you very much for the fix!

1 Like