×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

INDI 1.9 protocol documentation

  • Posts: 149
  • Thank you received: 104
Hi everyone, I am trying to learn a bit more about the indi protocol and trying to build my own client to let it talk to the indiserver so I can get a better grasp on how the entire communication works.
The only official protocol document I find is still for the version 1.7, is there any place where I can found an updated document of the protocol?
2 years 6 months ago #76310

Please Log in or Create an account to join the conversation.

That is the last one released as far as the wire protocol is concerned. There is one minor adjustment that I don't believe made it to the protocol regarding IDSetBLOB having a len attribute.. that's pretty much it. Nothing changed since then.
2 years 6 months ago #76311

Please Log in or Create an account to join the conversation.

  • Posts: 149
  • Thank you received: 104
Thanks Jasem!

I just started to send and receive messages, I have some more questions about the server response, not sure if this is the right place or not.
I ask for all devices properties sending a <getProperties version=1.9 /> to the server and I poll my socket to see if there is any data, I read the data and I get back some XML that looks like this gist.github.com/MattBlack85/d44f658a933cce4e15461b3b9f689ed9

Since I am polling the socket I get often a bunch of messages together and that's the reason why i see a lot of deleteProperty? every time the server fetches new properties from a device it sends back a deleteProperty of the given device plus the properties fetched until that moment?
I don't understand well why (what I think is) the final response with all the properties contains duplicate properties like
<setTextVector device="CCD Simulator" name="DRIVER_INFO" state="Idle" timeout="60" timestamp="2021-10-05T13:13:02">
  <oneText name="DRIVER_NAME">CCD Simulator</oneText>
  <oneText name="DRIVER_EXEC">indi_simulator_ccd</oneText>
  <oneText name="DRIVER_VERSION">1.0</oneText>
  <oneText name="DRIVER_INTERFACE">6</oneText>
</setTextVector>
<setTextVector device="CCD Simulator" name="DRIVER_INFO" state="Idle" timeout="60" timestamp="2021-10-05T13:13:02">
  <oneText name="DRIVER_NAME">CCD Simulator</oneText>
  <oneText name="DRIVER_EXEC">indi_simulator_ccd</oneText>
  <oneText name="DRIVER_VERSION">1.0</oneText>
  <oneText name="DRIVER_INTERFACE">6</oneText>
</setTextVector>

is this expected?
Last edit: 2 years 6 months ago by Mattia.
2 years 6 months ago #76362

Please Log in or Create an account to join the conversation.

Try this:
<getProperties version="1.7"/>

Remember wire protocol version 1.7, it's not the INDI library version (1.9.3 now).
The following user(s) said Thank You: Mattia
2 years 6 months ago #76363

Please Log in or Create an account to join the conversation.

  • Posts: 149
  • Thank you received: 104
awesome, thanks so much Jasem, worked like a charm!
2 years 6 months ago #76364

Please Log in or Create an account to join the conversation.

Time to create page: 0.685 seconds