I did some further reading and would appreciate some advice on how to best use the RN2483.
According to the best practices of TTN devices should perform join operations the less possible
in their lifetime.
E.g. a good practice would be to have the device join as part of the manufacturing process,
and have the device use the same session for its whole lifetime.
But consider what happens in the case of a power cycle (intended or unintended).
It would be necessary to perform a “mac save” after each transmission and then use
“mac join abp” after power cycle to avoid an otaa join as described here:
The disadvantage is the Eeprom wear (and the small probability of eeprom corruption if the power cycle happens exactly during eeprom write).
So I thought of this procedure:
I once configure the keys and use “mac save”.
At startup or after a power cycle I expect that “mac get status” responds with join status 0.
In this case I perform “mac join otaa”.
After successfull join I transmit data and goto sleep.
If the join is not successful I do not transmit and goto sleep.
I wake up after some time and check with “mac get status” again.
If “mac get status” responds with join status 1 I know that the join has been successful
and there was no power cycle since then. Then I transmit and go to sleep again.
(if there will never be a power cycle then it would not be necessary to check mac status, but you never know).
If the RN2483 may hangup during operation and does not respond anymore (unlikely but you never know) then I will reset the RN2483 and perform a join again.