#!/bin/bash # EVAL: adr disabled, ,skip_payload_crypto_override false # can't set adr.mode.disabled (check version after SEP22 #OPTIONSSEP22="--mac-settings.adr.mode.disabled --skip-payload-crypto-override --mac-settings.status-count-periodicity 0 --mac-settings.status-time-periodicity 0s" # can't set crypto override to false #OPTIONSSEP22="--skip-payload-crypto-override FALSE --mac-settings.status-count-periodicity 0 --mac-settings.status-time-periodicity 0s" OPTIONSSEP22="--mac-settings.status-count-periodicity 0 --mac-settings.status-time-periodicity 0s --join-server-address eu1.cloud.thethings.network" function runcommand(){ echo "$COMMANDTOEXEC" exit $COMMANDTOEXEC } if [ "$1" == "-i" ]; then APP=$2 DEV=$3 COMMANDTOEXEC="ttn-lw-cli dev get $APP $DEV --description --lorawan-version --lorawan-phy-version --supports-join --mac-settings.resets-f-cnt --mac-settings.supports-32-bit-f-cnt --mac-state.last-dev-status-f-cnt-up --mac-state.last-dev-status-f-cnt-up --session.last-conf-f-cnt-down --session.last-conf-f-cnt-down --session.last-n-f-cnt-down --frequency-plan-id --mac-settings.rx1-delay --join-server-address --session.keys.app-s-key.key --session.keys.f-nwk-s-int-key.key --mac-settings.factory-preset-frequencies $OPTIONSSEP22" #--mac-settings.use-adr runcommand exit elif [ "$1" == "-ia" ]; then APP=$2 DEV=$3 COMMANDTOEXEC="ttn-lw-cli dev get $APP $DEV --mac-state" runcommand exit fi if [ "$6" == "" ] || [ "$1" == "" ]; then echo "Usage:" echo "ABP : $0 APP DEV-NAME DEVEUI DEVADDR APPSKEY NETSKEY 16 [16bit cnt] 5 [RX delay]" echo "OTAA : $0 APP DEV-NAME DEVEUI OTAA APPKEY JOINEUI 16 [16bit cnt] 5 [RX delay]" echo "Info : $0 -i APP DEV-NAME" exit 1 fi APP=$1 DEV=$2 DEVEUI=$3 DEVADDR=$4 APPSKEY=$5 NETSKEY=$6 JOINEUI=$6 FCNT=$7 RXDELAY=$8 if [ $RXDELAY -gt 15 ]; then RXDELAY=15 else RXDELAY=$8 fi # EVAL for force session key from device to server. SESKEY=$9 if [ "$SESKEY" != "" ]; then SESKEY="--session.keys.f-nwk-s-int-key.key $9" fi if [ "$4" != "OTAA" ] && [ "$FCNT" == "16" ]; then echo "16 bit counters ABP" COMMANDTOEXEC="ttn-lw-cli d create $APP $DEV --dev-eui $DEVEUI --frequency-plan-id EU_863_870_TTN \ --lorawan-version 1.0.3 --lorawan-phy-version 1.0.3-a --abp --session.dev-addr $DEVADDR \ --session.keys.app-s-key.key $APPSKEY --session.keys.f_nwk_s_int_key.key $NETSKEY --mac-settings.rx1-delay RX_DELAY_$RXDELAY \ --mac-settings.factory-preset-frequencies 867100000,867300000,867500000,867700000,867900000,868100000,868300000,868500000 $OPTIONSSEP22" elif [ "$4" != "OTAA" ] && [ "$FCNT" == "32" ]; then # ABP 32-bit-cnt echo "32 bit counters ABP" COMMANDTOEXEC="ttn-lw-cli d create $APP $DEV --dev-eui $DEVEUI --frequency-plan-id EU_863_870_TTN \ --lorawan-version 1.0.3 --lorawan-phy-version 1.0.3-a --abp --session.dev-addr $DEVADDR \ --session.keys.app-s-key.key $APPSKEY --session.keys.f_nwk_s_int_key.key $NETSKEY \ --mac-settings.factory-preset-frequencies 867100000,867300000,867500000,867700000,867900000,868100000,868300000,868500000 \ --mac-settings.rx1-delay RX_DELAY_$RXDELAY --mac-settings.supports-32-bit-f-cnt $OPTIONSSEP22" elif [ "$4" == "OTAA" ] && [ "$FCNT" == "32" ]; then # OTAA echo "32 bit counters OTAA" COMMANDTOEXEC="ttn-lw-cli d create $APP $DEV --dev-eui $DEVEUI --root-keys.app-key.key $APPSKEY --join-eui $JOINEUI --mac-settings.rx1-delay RX_DELAY_$RXDELAY --frequency-plan-id EU_863_870_TTN --lorawan-version 1.0.3 --lorawan-phy-version 1.0.3-a --mac-settings.supports-32-bit-f-cnt $OPTIONSSEP22 $SESKEY" elif [ "$4" == "OTAA" ] && [ "$FCNT" == "16" ]; then # OTAA echo "16 bit counters OTAA" COMMANDTOEXEC="ttn-lw-cli d create $APP $DEV --dev-eui $DEVEUI --root-keys.app-key.key $APPSKEY --join-eui $JOINEUI --mac-settings.rx1-delay RX_DELAY_$RXDELAY --frequency-plan-id EU_863_870_TTN --lorawan-version 1.0.3 --lorawan-phy-version 1.0.3-a $OPTIONSSEP22 $SESKEY" fi echo "Options: $#" runcommand