ctx.Warn("Manually changing the DevAddr of a device might break routing for this device") if override, _ := cmd.Flags().GetBool("override"); !override { ctx.Warnf("Use the --override flag if you're really sure you want to do this") os.Exit(0) } devAddr, err := types.ParseDevAddr(in) if err != nil { ctx.Fatalf("Invalid DevAddr: %s", err) } dev.GetLorawanDevice().DevAddr = &devAddr } if in, err := cmd.Flags().GetString("nwk-s-key"); err == nil && in != "" { key, err := types.ParseNwkSKey(in) if err != nil { ctx.Fatalf("Invalid NwkSKey: %s", err) } dev.GetLorawanDevice().NwkSKey = &key } if in, err := cmd.Flags().GetString("app-s-key"); err == nil && in != "" { key, err := types.ParseAppSKey(in) if err != nil { ctx.Fatalf("Invalid AppSKey: %s", err) } dev.GetLorawanDevice().AppSKey = &key } if in, err := cmd.Flags().GetString("app-key"); err == nil && in != "" {
if len(args) == 0 { cmd.UsageFunc()(cmd) return } devID := args[0] if !api.ValidID(devID) { ctx.Fatalf("Invalid Device ID") // TODO: Add link to wiki explaining device IDs } appID := util.GetAppID(ctx) var nwkSKey types.NwkSKey if len(args) > 1 { nwkSKey, err = types.ParseNwkSKey(args[1]) if err != nil { ctx.Fatalf("Invalid NwkSKey: %s", err) } } else { ctx.Info("Generating random NwkSKey...") copy(nwkSKey[:], random.Bytes(16)) } var appSKey types.AppSKey if len(args) > 2 { appSKey, err = types.ParseAppSKey(args[2]) if err != nil { ctx.Fatalf("Invalid AppSKey: %s", err) } } else {