My node is working in Class-A, but sometimes I need to use Class-C to send data to node, Node habe this ability to switch class when require, but Chripstack side, I have to change device profile to class C.
Is there any method by whick I can switch to class-c in chripstack when require and switch again to Class-A?
How would the NS know when the device switched to Class-C and back to Class-A? If this is done out-of-band (application payload), then it would mean you need to make an API call to change the device-profile to toggle the Class-C support on or off.
Chirpstack already supports this when using the FUOTA server. Just be careful about the specification version as I guess that currently the FUOTA server implements v1.0.0 of the specification.
One of the Remote Multicast Setup specification features is to create a multicast channel and the other associated session.
Nothing prevents to create a multicast channel and to not uses it.
In this case we are just interested in having the end-device to switch to Class C at a given time with given parameters for a given period which is known from both sides of the network.
The multicast downlinks are the same as unicast the only difference being the DevAddr + Keys being used.
I did not try this my self however I suppose that ChirpSTack provides means to trnasmit unicast or multicast downlinks upon user request.
Another possibility would be to use LoRaWAN 1.1.x version which defines a MAC command which indicates to the network server when the end-device has switched to ClassC.
Please look at chapter β18.1 Device Mode (DeviceModeInd, DeviceModeConf)β of LoRaWAN 1.1 specification.
Yes Device has ability to switch between Class A and Class C.
I want to know about any API or other method which can be used to switch between Class A and Class C on chirpstack, I have a script which uses MQTT integration and send Downlink to chirpstack for device,
What I want to send a command to device to Switch Class c and then fire some important command continuously, and switch back to Class A.
Could you first explain to us how this change from Class-A to Class-C works? is this initiated by the end-application and if yes, how? Or is this initiated by the device and does it signal to the end-application that is has switched class and if yes, how?
There are many ways how this can be implemented. As @mluis1 mentioned the device could use the Remote Multicast for this for example, or if the device implements LoRaWAN 1.1.x, it could use the DeviceModeInd mac-command to signal the switch from A/C. It could also be that this is implemented in a different way, but knowing how this is implemented helps in providing a good answer to your question
I have make commands to configure my node parameters like temperature alert range, data rate change, ADR Enable/Disable, Class change command. So, when I need to chnage class I manually send a downlink command (Device in Class A currently), then when device send data (periodically each 8 hour), then if it receive downlink command to change class, it changes class and send command response over Lorawan, So my script knows that class change done,
now I stucks in next step is to change class in Chirpstack, my node implements Loramac_1.0.3.