Calibrating Zigbee Roller Shutter Module with ZHA (without Tuya hub and app)

Hi all,

I currently have two Zigbee Roller Shutter Modules installed (SC500ZB) and integrated in ZHA. Controls work fine, so the basic functionality is there. However, there is one ‘problem’; I can’t figure out how to calibrate these modules through Home Assistant (or if this is even possible).

Without calibration HA does not know what the opening percentage is of the roller shutter, which would be nice to have.

I figured out that I can read and write some information from and to the module by going to ‘Configure Zigbee Device’ in ZHA. In the Cluster "TuyaCoveringCluster (Endpoint id: 1, Id: 0x0102, Type: in) " I can find a few attributes that would be helpful. For example " calibration (id: 0xf001) ". This should be turned ON to start calibration, but whatever I write to it, returns its value to ‘None’. The default setting is ‘enum8.undefined_0x01’, which I can write back to it without any problem.

I am in a bit over my head here I believe, but maybe there is an easy way to solve this. Does anyone know how this works and point me in the right direction?

1 Like

For future reference;

As I mentioned, for some reason it is not possible to write to these attributes using ZHA. Since I have a Conbee II stick I tried writing to these attributes using Deconz and it actually worked!

I figured out that it is easiest to write to the attribute ‘calibration time’. It is displayed in 1/10 of a second (std value is 600). You can manually calibrate by changing this value. My advice is to measure the time it takes for the shutters to go from fully closed to fully raised and use this value, since raising usually takes longer than closing in my experience.

Starting the calibration itself does pretty much the same thing. It asks you to fully raise the shutters, start calibration, press close shutters and stop. This will change the value of ‘calibration time’ to the time elapsed in this process. However, as I just mentioned this can give the wrong idea since raising the shutters usually takes more time so often this means that the shutters will not fully open.

After you calibrate this value will stay in the zigbee module even if you repair to a new zigbee network. Of course with a factory reset the calibration time will change back to 600.

These are the steps that I took for my particular setup (Conbee II):

  1. Backup my HA instance
  2. Backup my current zigbee stick by going to ZHA integration > configure > download backup
  3. Click Migrate Radio > Start > Unplug USB stick when asked > Start new zigbee network
  4. Download Deconz addon and setting it up (How To set up deCONZ in Home Assistant - TUTORIAL - YouTube)
  5. Add new light in Phoscon (part of Deconz) > Put zigbee module in pairing mode
  6. After adding, go to Deconz and write your calibration time under ‘Window Covering’ > ‘Calibration Time’ (as mentioned earlier in 1/10 of a second)
  7. Test if it works as intended
  8. Restore your HA backup
  9. Restore your zigbee stick backup. Choose ‘migrate radio’, unplug USB when asked to, plug it back in after and select ‘Manual backup’ and select the backup file you downloaded earlier.
  10. Put the zigbee module in pairing mode and add it to ZHA.

It should now be calibrated and working under ZHA.

1 Like

Hi @Shenkie!
I’m at the same situation as you were initially, thanks to this post I can go for the solution directly.
Unfortunately I don’t have that much experience with setting up zigbee’s networks so I would prefer to just switch to zigbee2mqtt, which I read and see it’s the one that supports most devices and seems stable, even some people prefer the standard and official ZHA… (and I don’t know what to think at this point…), do you think that migrating to zigbee2mqtt would solve this problem as well?
Also I don’t understand what value I need to set to the configuration, for example my blinder takes 16 seconds from fully closed to fully open. 1/10 of a second that would give that I need to set here the value 1.6 but in hexadecimal?

Not sure if it will work, but you could try. I was not able to write to the attributes using ZHA, but maybe you do so it is worth trying as well in ZHA and/or Zigbee2MQTT. I am afraid to try it again since it may ruin my calibration and I potentially would have to repeat the whole process again.

The calibration is in tenth of a second (or deciseconds), with which I mean that 16 seconds corresponds with 160 deciseconds.

One example for me is:

1 Like

Thanks for the response!
Anyway I decided to give a try to Zigbee2Mqtt and it gives a very nice configuration options for such a devices, so I’ll remain with that where calibration is a piece of cake!
Big pity it is not the same in ZHA (as going to the process of getting all ready in z2m has been a long and hard way).

Makes sense… I believe things may have changed in the last couple of months for this device.

I am about to find out since I ordered a new one for our new shutters.

The SC500ZB have been very reliable and cheap so definitely recommended

Hi guys,
I was able to calibrate my zigbee roller shutter easly with ZHA. Just put 200 (20s in my case) in the Value field and pressed WRITE AtTRIBUTE and it worked like a charm. Please be aware, you should not put a new value in the Manufacturer Code Override but in the field above it.