Hello astronomers,
I'm trying to build an INDI client with this Node.js library (www.npmjs.com/package/indi-client),
www.npmjs.com/package/indi-client

To begin, I installed wINDI server on my Windows pc to run an INDI server. I tested it with stellarium, and my mount is moving correctly.

But when I'm trying to control my mount using the indi-client library, my command is received by the server, but my mount is not moving. What did I've done wrong?

Here's my code :

const { newSwitchVector, INDIClient } = require("indi-client");

const indiHost = process.env.INDI_HOST || "127.0.0.1";
const indiPort = process.env.INDI_PORT ? parseInt(process.env.INDI_PORT) : 7624;

const indiClient = new INDIClient(indiHost, indiPort);

indiClient.on("connect", () => {
  console.log("indi connection connected");

  // You may need to adjust the target coordinates
  const targetRA = 11.04; // Replace with your desired RA coordinate
  const targetDec = 79.678; // Replace with your desired Dec coordinate

  // Create a newNumberVector object for the telescope coordinates
  const slewCommand = new newSwitchVector(
    "ASCOM OnStep Telescope",
    "TELESCOPE_MOTION_NS",
    new Date(),
    [
      {
        name: "MOTION_NORTH",
        value: "On",
      },
      {
        name: "MOTION_SOUTH",
        value: "Off",
      },
    ]
  );

  console.log(slewCommand);

  // Send the slew command to the telescope
  indiClient.send(slewCommand);
});

indiClient.on("close", () => {
  console.log("indi connection closed");
});

indiClient.connect();

And here is the wINDI log file :
2024-01-21 13:57:53.84 LISTENER = Starting server listener loop on 0.0.0.0:7624
2024-01-21 13:57:59.75 LISTENER = Creating protocol handler #0
2024-01-21 13:57:59.75 LISTENER = Creating wrapper for ASCOM.OnStep.Telescope
2024-01-21 13:57:59.80 HANDLER#0 = Starting protocol handler loop
2024-01-21 13:57:59.96 HANDLER#0 > <newSwitchVector device="ASCOM OnStep Telescope" name="TELESCOPE_MOTION_NS" timestamp="2024-01-21T12:57:59.879"><oneSwitch name="MOTION_NORTH">On</oneSwitch><oneSwitch name="MOTION_SOUTH">Off</oneSwitch></newSwitchVector>
2024-01-21 13:57:59.99 HANDLER#0 = Failed to set TELESCOPE_MOTION_NS property
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à wINDI.TelescopeWrapper.telescopeMotionNSHandler(Operation operation, State state, String message, Dictionary`2 values)
à wINDI.DeviceWrapper.newXXXVector(String name, Dictionary`2 values)


Does anyone know the problem or/and has a working code example in Node.js ?

Thank you per advice,
Astronomically,

Zoliex

Read More...