I want to know what exactly does the ReportDevStatusBattery do? In term of MacLayer. Actually, i want to send my device battery status to loraserver and read it on received JSON Payload but I don’t really know how to proceed.

I guess the ReportDevStatusBattery sets up a downlink with the MAC command “DevStatusReq” as it can do for ADR or ack message. Thus, the only thing I have to do is to check if my end-node support the reception of this MAC-command (which is probably not (LMIC node)) Then I have to send a MAC-command DevStatusAns from my device with the correct payload ? And the server will automatically read this mac-command ?

You need to configure this in the service-profile. LoRa Server will then periodically send a downlink device-status request to your devices, and your devices report back. Please refer to the LoRaWAN specification on the internals. How the margin and battery status are set by your device is device / firmware specific.

Hello. When using DevStatusReq MAC-comand, my LoRaserver gets 2 node parameters: “battery” and “margin”.
“battery” is the level of the node’s battery. But what is the field “margin” (the meaning I get is -30 dB)? My Lora-server-app shows it to me as a Link Margin. But the real link margin must be over 0. If not, and the level of the incoming signal is lower than the sesivety of the reciever, the reciever couldn’t recieve this message. So, my question is what is the “margin” I get through DevStatusReq MAC-comand? And why does Loraserver call it “link margin”. Thank you for your time.