# Secondary Client interface Version Message

**URL:** <https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855>\
**Category:** Robot Communication\
**Created:** [October 10, 2023, 3:45pm UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855 "2023-10-10T15:45:20Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![axi92](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@axi92](https://forum.universal-robots.com/u/axi92)\
**Post date:** [October 10, 2023, 3:45pm UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/1 "2023-10-10T15:45:20Z")

</div>

When I connect I get this message: 0000003814fffffffffffffffffe03095552436f6e74726f6c0304000000000000011d4d617220303820323031372c2031353a30343a3337

It should decode according to my controller version **3.4** and the **excel** documentation in **1.6** like this:  
Excel docs: [https://s3-eu-west-1.amazonaws.com/ur-support-site/16496/Client\_Interfaces\_1.1.3.xlsx](https://s3-eu-west-1.amazonaws.com/ur-support-site/16496/Client_Interfaces_1.1.3.xlsx)

> VersionMessage - first package only  
> int messageSize  
> unsigned char messageType = ROBOT\_MESSAGE = 20  
> uint64\_t timestamp  
> char source  
> char robotMessageType = ROBOT\_MESSAGE\_VERSION = 3  
> char projectNameSize  
> char array projectName  
> unsigned char majorVersion  
> unsigned char minorVersion  
> int svnRevision  
> char array buildDate
> 
> Zero or more of the following messages:

The data does not make sense at all, can somebody decrypt that message for me so I can understand what is what?  
My data:

```javascript
{
  length_of_overall_package: 56, // uint32
  package_type: 20, // uint8
  package: {
    size: 4294967295, //uint32
    type: 255, //uint8
    timestamp: 18446744065170560338n, //uint64
    source: 67, //uint8
    robotMessageType: 111, //uint8
    projectNameSize: 110, //uint8
    projectName: 116, //uint8
    majorVersion: 114, //uint8
    minorVersion: 111, //uint8
    svnRevision: 108, //uint8
    buildDate: 3, //uint8
    left_over_bytes: '04000000000000011d4d617220303820323031372c2031353a30343a3337'
  }
}

```

PS: I use that javascript [parser](https://github.com/keichi/binary-parser/tree/master) for that

---

<div class="post-metadata">

**Author:** ![axi92](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@axi92](https://forum.universal-robots.com/u/axi92)\
**Post date:** [October 11, 2023, 12:51pm UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/2 "2023-10-11T12:51:39Z")

</div>

I tried it now to parse everything with different encodings and tried to figure out what makes sense:

Thats my result now:

```auto
{
  length_of_overall_package: 56, // uint32 4bytes length
  package_type: 20, // uint8 1byte length
  package: {
    timestamp: 18446744073709551615n, // uint64 8bytes length
    source: 254, // uint8 1byte length
    robotMessageType: 3, // uint8 1byte length
    projectNameSize: 9, // uint8 1byte length
    projectName: 'URControl', // string ascii encoded with length of projectNameSize (in this case 9bytes)
    majorVersion: 3, // uint8 1byte length
    minorVersion: 4, // uint8 1byte length
    bugfixVersion: 0, // uint32 4byte length
    buildNumber: 285, // uint32 4byte length
    buildDate: 'Mar 08 2017, 15:04:37' // string ascii encoded untill the last byte
  }
}

```

The timestamp is still confusing to me

---

<div class="post-metadata">

**Author:** ![mmi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mmi/32/691_2.png) [@mmi](https://forum.universal-robots.com/u/mmi)\
**Post date:** [October 13, 2023, 7:58am UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/3 "2023-10-13T07:58:27Z")

</div>

> [@axi92](#):
>
> The timestamp is still confusing to me

You’re decoding timestamp from a wrong offset. Timestamp is just set to -1 on some message types (version is one of them).  
Highlighted:  
0000003814 **ffffffffffffffff** fe03095552436f6e74726f6c0304000000000000011d4d617220303820323031372c2031353a30343a3337

---

<div class="post-metadata">

**Author:** ![axi92](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@axi92](https://forum.universal-robots.com/u/axi92)\
**Post date:** [October 13, 2023, 9:23am UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/4 "2023-10-13T09:23:22Z")

</div>

Ok thank you I thought so.

Can you also tell me what the second message is that I get over the secondary interface?

```auto
// 00000018 14 ffffffffffffffff fe 0c 000001f80000010001
// length=24 messageType=20 timestamp=-1 source=254 robotMessageType=12 ....?

```

I can’t find a message with the messageType=20 and then robotMessageType=12

---

<div class="post-metadata">

**Author:** ![mmi](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/mmi/32/691_2.png) [@mmi](https://forum.universal-robots.com/u/mmi)\
**Post date:** [October 13, 2023, 1:21pm UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/5 "2023-10-13T13:21:20Z")

</div>

It’s internal safety message. This is not public because we cannot guarantee backwards compatibility.

---

<div class="post-metadata">

**Author:** ![axi92](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@axi92](https://forum.universal-robots.com/u/axi92)\
**Post date:** [October 16, 2023, 7:40am UTC](https://forum.universal-robots.com/t/secondary-client-interface-version-message/30855/6 "2023-10-16T07:40:18Z")

</div>

Oooh ok thank you, so messages that are not documented I can skip! Nice!
