Hi Inga, At first glance this looks quite good to me, just some cosmetic comments: > On 7 Nov 2018, at 2.49, Inga Stotland <inga.stotland@xxxxxxxxx> wrote: > +Service org.bluez.mesh1 I don’t think we’ve had the habit of versioning well-known bus names so far. Or did you see this somewhere? So I’d just leave away the version here. > +Interface org.bluez.mesh1.Network The way the existing interfaces do versioning is to have the version at the very end, so this should be org.bluez.mesh.Network1 > +Object path /org/bluez/mesh1 I don’t think we have the habit of versioning object paths either. They’re anyway (for the most part) irrelevant - it’s the interfaces an object has that defines its type. > + PossibleErrors: > + org.bluez.mesh1.Error.Failed, > + org.bluez.mesh1.Error.Canceled, > + org.bluez.mesh1.Error.InvalidArguments > + org.bluez.mesh1.Error.Timeout We’ve never versioned errors either, or did you see this done somewhere? So just leave it out from here. > + (object node, array{byte, array{(uint16, dict}} configuration) Attach( > + object app_defined_root, uint64 token) > This is a bit hard to read due to the long & complex return value. I’d suggest doing the line break before “Attatch” (a common C coding-style as well). > + void Send(object element_path, uint16_t destination, uint16 key_index, > + array{byte} data) Minor inconsistency: should be uint16 instead of uint16_t Johan