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