how to use wiced_configure_accessory_password_for_device_with_no_display for homekit dev

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Dear,

I'm trying to develop homekit device without display.

Snip code includes how to use "wiced_configure_accessory_password_for_device_with_display", but I have few information "wiced_configure_accessory_password_for_device_with_no_display".

I guess device developer can set arbitrary password with "XXX-XX-XXX" format, so I wrote like this.

    uint8_t* password = "123-45-678";

    wiced_configure_accessory_password_for_device_with_no_display( password );

However, iOS application cannot activate the device with code "123-45-678".

When I use "wiced_configure_accessory_password_for_device_with_display", it works.

Could you kindly give me advice?

0 Likes
1 Solution
Anonymous
Not applicable

Hi Kopanitsa,


Thank you for indicating the version number of your SDK.

Could you please grab the 3.1.2 release, and perform the same test?


This was an issue in the original 3.1.1 release, fixed in patches posted to this site.

The 3.1.2 release has this any quite a few other updates applied.

Thanks,

Milan


View solution in original post

0 Likes
7 Replies
Anonymous
Not applicable

Hi Kopanitsa,

While the format for the password you gave is correct, the password itself is not valid.

Apple prohibits use of passwords such as "123-45-678", "000-00-000" etc, so neither the controller (such as HAT/iPhone) nor the HomeKit library will support this.

I suspect that if you check the return value of the API wiced_configure_accessory_password_for_device_with_no_display, it would be set to WICED_BADARG.

Thank you.

Milan

0 Likes
Anonymous
Not applicable

Hi Milan,

Thank you for your comment.

I tried with generate code but it doesn't work.

** it works (with display) **

wiced_result_t r = wiced_configure_accessory_password_for_device_with_display(wiced_homekit_display_password);

printf("password config result : %d\n", r); // return 0

When iOS try to connect the device, code is displayed on LCD. User input the number to iOS app, app can connect to the device and enable to read / write any services and characteristics.

** it works (no display) **

char* password = "811-14-081";

wiced_result_t r = wiced_configure_accessory_password_for_device_with_no_display( password );

printf("password config result : %d\n", r); // return 0


User input the number to iOS app, app can NOT connect to the device and display dialog to input passcode again. "811-14-081" is confirmed with "with display" mode.


# My environment is "WICED Wifi 3.1.1 SDK with homekit".


---


Do you know how to detect error not only for password setting but also authentification?




0 Likes
Anonymous
Not applicable

Hi kopanitsa,

At which stage are you able to enter password in iOS. I am unable to proceed further on from WAC. I can bring the accessory online on the network, but have no clue how to do the pairing with iOS device.

Which app do you use?

Also, which build identifiers settings are you using USE_MFI, USE_BONJOUR etc.

I am using WICED v3.1.2.

Your help will be appreciated.

--

Omair

0 Likes
Anonymous
Not applicable

Dear oasuria,

I doesn't use WAC and use below config.

GLOBAL_DEFINES += WICED_HOMEKIT_DO_NOT_USE_MFI

I use application which developed myself, but you can check WICED board homekit behaviour with HAT (mac OS) application provided from apple under MFi license.

0 Likes
Anonymous
Not applicable

Hi Kopanitsa,


Thank you for indicating the version number of your SDK.

Could you please grab the 3.1.2 release, and perform the same test?


This was an issue in the original 3.1.1 release, fixed in patches posted to this site.

The 3.1.2 release has this any quite a few other updates applied.

Thanks,

Milan


0 Likes
Anonymous
Not applicable

Dear Milan,

Thank you for your confirmation. When I updated from 3.1.1 to 3.1.2, it works well:)

BR,

/Okada

0 Likes
Anonymous
Not applicable

您的邮件我已经收到

0 Likes