# Need help calibrating Wiser Shutter

**URL:** <https://community.homey.app/t/need-help-calibrating-wiser-shutter/83762>\
**Category:** Developers\
**Tags:** zigbee\
**Created:** [July 2, 2023, 11:45am UTC](https://community.homey.app/t/need-help-calibrating-wiser-shutter/83762 "2023-07-02T11:45:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hammer](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/hammer/32/56802_2.png) [@Hammer](https://community.homey.app/u/Hammer)\
**Post date:** [July 2, 2023, 11:45am UTC](https://community.homey.app/t/need-help-calibrating-wiser-shutter/83762/1 "2023-07-02T11:45:59Z")

</div>

I have forked [GitHub - Signalare/com.se.wiserapp: Schneider Electric Wiser](https://github.com/Signalare/com.se.wiserapp) to try to add the Shutter puck.  
I have got the blind running but now I need to calibrate it so it can be set in a specific %.  
In the wiser app you add the number of seconds it will run when you do this.

These are the attributes after interviewing the Zigbee device

```auto
"windowCovering": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "windowCoveringType",
                "value": "tiltBlindLiftAndTilt",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7,
                "name": "configStatus",
                "value": {
                  "type": "Buffer",
                  "data": [
                    3
                  ]
                },
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 8,
                "name": "currentPositionLiftPercentage",
                "value": 100,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 32,
                  "minInterval": 0,
                  "maxInterval": 60000,
                  "minChange": 1,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 9,
                "name": "currentPositionTiltPercentage",
                "value": 100,
                "reportingConfiguration": {
                  "direction": "reported",
                  "attributeDataType": 32,
                  "minInterval": 5,
                  "maxInterval": 600,
                  "minChange": 1,
                  "status": "SUCCESS"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 23,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],

```

This is the code right now which I have tried that doesn’t really work for setting the correct position but does make it move:

```auto
// Register windowcoverings set capability and configure attribute reporting
        this.registerCapability('windowcoverings_set', CLUSTER.WINDOW_COVERING, {
            setParser(setValue) {
                // Apply calibration factor to convert setValue to the appropriate range
                const calibratedValue = (0.87 / setValue);

                return calibratedValue;
            },
        });

```

It is the attribute currentPositionLiftPercentage that needs to be set correct.  
If I do it manually it shows 13 when it is maximum open and 0 when closed. When the code runs it ends up att 255 which seems to be max for the driver.

Any one that has an idea on how to accomplish that?
